OSDN Git Service

Fix disabling of tiles that are not relevant
authorJason Monk <jmonk@google.com>
Tue, 7 Jun 2016 18:02:33 +0000 (14:02 -0400)
committerJason Monk <jmonk@google.com>
Tue, 7 Jun 2016 18:02:33 +0000 (14:02 -0400)
 - Fix restricted user tiles being disabled
 - Call new better method in SettingsDrawerActivity for disabling

Change-Id: I2fb6ddd3d505189d2b6d96c0a1039291b80a2f70
Fixes: 29080209

AndroidManifest.xml
src/com/android/settings/SettingsActivity.java

index e8271a8..a686a7a 100644 (file)
                 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">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
                 <action android:name="com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
         <activity android:name="Settings$PaymentSettingsActivity"
                 android:label="@string/nfc_payment_settings_title"
                 android:icon="@drawable/ic_settings_nfc_payment"
-                android:taskAffinity=""
-                android:enabled="false">
+                android:taskAffinity="">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.NFC_PAYMENT_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
         <activity android:name="Settings$SimSettingsActivity"
                 android:label="@string/sim_settings_title"
                 android:icon="@drawable/ic_settings_sim"
-                android:enabled="false"
                 android:taskAffinity="">
             <intent-filter android:priority="1">
                 <action android:name="com.android.settings.sim.SIM_SUB_INFO_SETTINGS" />
index d989535..9a9dfee 100644 (file)
@@ -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() {