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() {