From 5862c1ef02ebb6c23b30d470913dac508700cb53 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Tue, 7 Jun 2016 14:02:33 -0400 Subject: [PATCH] Fix disabling of tiles that are not relevant - Fix restricted user tiles being disabled - Call new better method in SettingsDrawerActivity for disabling Change-Id: I2fb6ddd3d505189d2b6d96c0a1039291b80a2f70 Fixes: 29080209 --- AndroidManifest.xml | 7 ++----- src/com/android/settings/SettingsActivity.java | 13 +++---------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index e8271a8e4c2..a686a7ac95a 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1896,8 +1896,7 @@ android:label="@string/development_settings_title" android:icon="@drawable/ic_settings_development" android:taskAffinity="com.android.settings" - android:parentActivityName="Settings" - android:enabled="false"> + android:parentActivityName="Settings"> @@ -2442,8 +2441,7 @@ + android:taskAffinity=""> @@ -2728,7 +2726,6 @@ diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index d989535cf28..9a9dfee3f56 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -1080,7 +1080,7 @@ public class SettingsActivity extends SettingsDrawerActivity for (DashboardCategory category : categories) { for (Tile tile : category.tiles) { ComponentName component = tile.intent.getComponent(); - if (packageName.equals(component)&& !ArrayUtils.contains( + if (packageName.equals(component.getPackageName()) && !ArrayUtils.contains( SETTINGS_FOR_RESTRICTED, component.getClassName())) { setTileEnabled(component, false, isAdmin, pm); } @@ -1091,18 +1091,11 @@ public class SettingsActivity extends SettingsDrawerActivity private void setTileEnabled(ComponentName component, boolean enabled, boolean isAdmin, PackageManager pm) { - if (UserHandle.MU_ENABLED && !isAdmin + if (UserHandle.MU_ENABLED && !isAdmin && getPackageName().equals(component.getPackageName()) && !ArrayUtils.contains(SETTINGS_FOR_RESTRICTED, component.getClassName())) { enabled = false; } - int state = pm.getComponentEnabledSetting(component); - boolean isEnabled = state == PackageManager.COMPONENT_ENABLED_STATE_ENABLED; - if (isEnabled != enabled) { - pm.setComponentEnabledSetting(component, enabled - ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED - : PackageManager.COMPONENT_ENABLED_STATE_DISABLED, - PackageManager.DONT_KILL_APP); - } + setTileEnabled(component, enabled); } private void getMetaData() {