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
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index d989535..9a9dfee 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -1080,7 +1080,7 @@
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 @@
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() {