Show setting tiles for secondary users

Change-Id: I912b3324753731a6633cf6fabfc26ae2e61963a0
Fix: 34176802
Test: runtest --path tests/unit/src/com/android/settings/core/SettingsGatewayTest.java
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 06941d0..d779f3e 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -50,7 +50,6 @@
     public static class LocalePickerActivity extends SettingsActivity { /* empty */ }
     public static class LanguageAndRegionSettingsActivity extends SettingsActivity { /* empty */ }
     public static class UserDictionarySettingsActivity extends SettingsActivity { /* empty */ }
-    public static class HomeSettingsActivity extends SettingsActivity { /* empty */ }
     public static class DisplaySettingsActivity extends SettingsActivity { /* empty */ }
     public static class NightDisplaySettingsActivity extends SettingsActivity { /* empty */ }
     public static class DeviceInfoSettingsActivity extends SettingsActivity { /* empty */ }
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 2ca0d4b..0751b81 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -165,64 +165,6 @@
     private CharSequence mInitialTitle;
     private int mInitialTitleResId;
 
-    // Show only these settings for restricted users
-    private String[] SETTINGS_FOR_RESTRICTED = {
-            //wireless_section
-            WifiSettingsActivity.class.getName(),
-            Settings.BluetoothSettingsActivity.class.getName(),
-            Settings.DataUsageSummaryActivity.class.getName(),
-            Settings.SimSettingsActivity.class.getName(),
-            Settings.WirelessSettingsActivity.class.getName(),
-            //device_section
-            Settings.HomeSettingsActivity.class.getName(),
-            Settings.SoundSettingsActivity.class.getName(),
-            Settings.DisplaySettingsActivity.class.getName(),
-            Settings.StorageSettingsActivity.class.getName(),
-            Settings.ManageApplicationsActivity.class.getName(),
-            Settings.PowerUsageSummaryActivity.class.getName(),
-            Settings.GestureSettingsActivity.class.getName(),
-            //personal_section
-            Settings.LocationSettingsActivity.class.getName(),
-            Settings.SecuritySettingsActivity.class.getName(),
-            Settings.InputMethodAndLanguageSettingsActivity.class.getName(),
-            Settings.UserSettingsActivity.class.getName(),
-            Settings.AccountSettingsActivity.class.getName(),
-            //system_section
-            Settings.DateTimeSettingsActivity.class.getName(),
-            Settings.DeviceInfoSettingsActivity.class.getName(),
-            Settings.AccessibilitySettingsActivity.class.getName(),
-            Settings.PrintSettingsActivity.class.getName(),
-            Settings.PaymentSettingsActivity.class.getName(),
-            Settings.EnterprisePrivacySettingsActivity.class.getName(),
-
-            // New IA
-            // Home page
-            Settings.NetworkDashboardActivity.class.getName(),
-            Settings.ConnectedDeviceDashboardActivity.class.getName(),
-            Settings.AppAndNotificationDashboardActivity.class.getName(),
-            "com.android.settings.Settings.BatteryDashboardAlias",
-            "com.android.settings.Settings.DisplayDashboardAlias",
-            "com.android.settings.Settings.SoundDashboardAlias",
-            "com.android.settings.Settings.SecurityDashboardAlias",
-            Settings.UserAndAccountDashboardActivity.class.getName(),
-            Settings.SystemDashboardActivity.class.getName(),
-            Settings.SupportDashboardActivity.class.getName(),
-            // Home page > Apps & Notifications
-            "com.android.settings.Settings.ManageApplicationsDashboardAlias",
-            "com.android.settings.Settings.PaymentSettingsDashboardAlias",
-            // Home page > Network & Internet
-            "com.android.settings.Settings.WifiDashboardAlias",
-            "com.android.settings.Settings.DataUsageDashboardAlias",
-            // Home page > Security
-            "com.android.settings.Settings.LocationDashboardAlias",
-            // Home page > System
-            Settings.LanguageAndRegionSettingsActivity.class.getName(),
-            Settings.InputAndGestureSettingsActivity.class.getName(),
-            "com.android.settings.Settings.DateTimeDashboardAlias",
-            "com.android.settings.Settings.AccessibilityDashboardAlias",
-            "com.android.settings.Settings.AboutDeviceDashboardAlias",
-    };
-
     private static final String[] LIKE_SHORTCUT_INTENT_ACTION_ARRAY = {
             "android.settings.APPLICATION_DETAILS_SETTINGS"
     };
@@ -1009,8 +951,10 @@
             for (DashboardCategory category : categories) {
                 for (Tile tile : category.tiles) {
                     ComponentName component = tile.intent.getComponent();
-                    if (packageName.equals(component.getPackageName()) && !ArrayUtils.contains(
-                            SETTINGS_FOR_RESTRICTED, component.getClassName())) {
+                    final String name = component.getClassName();
+                    final boolean isEnabledForRestricted = ArrayUtils.contains(
+                            SettingsGateway.SETTINGS_FOR_RESTRICTED, name);
+                    if (packageName.equals(component.getPackageName()) && !isEnabledForRestricted) {
                         setTileEnabled(component, false, isAdmin);
                     }
                 }
@@ -1055,7 +999,8 @@
 
     private void setTileEnabled(ComponentName component, boolean enabled, boolean isAdmin) {
         if (UserHandle.MU_ENABLED && !isAdmin && getPackageName().equals(component.getPackageName())
-                && !ArrayUtils.contains(SETTINGS_FOR_RESTRICTED, component.getClassName())) {
+                && !ArrayUtils.contains(SettingsGateway.SETTINGS_FOR_RESTRICTED,
+                component.getClassName())) {
             enabled = false;
         }
         setTileEnabled(component, enabled);
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index db7eb5a..637fcd5 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -32,6 +32,7 @@
 import com.android.settings.MasterClear;
 import com.android.settings.PrivacySettings;
 import com.android.settings.SecuritySettings;
+import com.android.settings.Settings;
 import com.android.settings.TestingSettings;
 import com.android.settings.TetherSettings;
 import com.android.settings.TrustedCredentialsSettings;
@@ -244,4 +245,60 @@
             UserAndAccountDashboardFragment.class.getName(),
             EnterprisePrivacySettings.class.getName(),
     };
+
+    public static final String[] SETTINGS_FOR_RESTRICTED = {
+            //wireless_section
+            Settings.WifiSettingsActivity.class.getName(),
+            Settings.BluetoothSettingsActivity.class.getName(),
+            Settings.DataUsageSummaryActivity.class.getName(),
+            Settings.SimSettingsActivity.class.getName(),
+            Settings.WirelessSettingsActivity.class.getName(),
+            //device_section
+            Settings.SoundSettingsActivity.class.getName(),
+            Settings.DisplaySettingsActivity.class.getName(),
+            Settings.StorageSettingsActivity.class.getName(),
+            Settings.ManageApplicationsActivity.class.getName(),
+            Settings.PowerUsageSummaryActivity.class.getName(),
+            Settings.GestureSettingsActivity.class.getName(),
+            //personal_section
+            Settings.LocationSettingsActivity.class.getName(),
+            Settings.SecuritySettingsActivity.class.getName(),
+            Settings.InputMethodAndLanguageSettingsActivity.class.getName(),
+            Settings.UserSettingsActivity.class.getName(),
+            Settings.AccountSettingsActivity.class.getName(),
+            //system_section
+            Settings.DateTimeSettingsActivity.class.getName(),
+            Settings.DeviceInfoSettingsActivity.class.getName(),
+            Settings.AccessibilitySettingsActivity.class.getName(),
+            Settings.PrintSettingsActivity.class.getName(),
+            Settings.PaymentSettingsActivity.class.getName(),
+            Settings.EnterprisePrivacySettingsActivity.class.getName(),
+
+            // New IA
+            // Home page
+            Settings.NetworkDashboardActivity.class.getName(),
+            Settings.ConnectedDeviceDashboardActivity.class.getName(),
+            Settings.AppAndNotificationDashboardActivity.class.getName(),
+            "com.android.settings.BatteryDashboardAlias",
+            "com.android.settings.DisplayDashboardAlias",
+            "com.android.settings.SoundDashboardAlias",
+            "com.android.settings.SecurityDashboardAlias",
+            Settings.UserAndAccountDashboardActivity.class.getName(),
+            Settings.SystemDashboardActivity.class.getName(),
+            Settings.SupportDashboardActivity.class.getName(),
+            // Home page > Apps & Notifications
+            "com.android.settings.ManageApplicationsDashboardAlias",
+            "com.android.settings.PaymentSettingsDashboardAlias",
+            // Home page > Network & Internet
+            "com.android.settings.WifiDashboardAlias",
+            "com.android.settings.DataUsageDashboardAlias",
+            // Home page > Security
+            "com.android.settings.LocationDashboardAlias",
+            // Home page > System
+            Settings.LanguageAndRegionSettingsActivity.class.getName(),
+            Settings.InputAndGestureSettingsActivity.class.getName(),
+            "com.android.settings.DateTimeDashboardAlias",
+            "com.android.settings.AccessibilityDashboardAlias",
+            "com.android.settings.AboutDeviceDashboardAlias",
+    };
 }