Rearrange a few settings into System category page.

- Use activity-alias to define which activity shows up in what category.
  We choose activity-alias because it creates a reference to UI we need
  without having to define a new set of intent-filter and/or category
  keys. This reduces maintainence in the long run. We should merge
  metadata from activity-alias into targetActivity when cleaning up.

- Created new System dashboard activity that hosts all system category
  tiles dynamically, and a static tile for checking system update.

Bug: 31781480
Test: manual
Test: make RunSettingsRoboTests -j40
Change-Id: Ia2d762e3e1aebd17423a395c5e6c286dc3326492
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index ecfc373..08fa971 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -124,6 +124,7 @@
 import com.android.settings.search.DynamicIndexableContentMonitor;
 import com.android.settings.search.Index;
 import com.android.settings.sim.SimSettings;
+import com.android.settings.system.SystemDashboardFragment;
 import com.android.settings.tts.TextToSpeechSettings;
 import com.android.settings.users.UserSettings;
 import com.android.settings.vpn2.VpnSettings;
@@ -264,6 +265,18 @@
             Settings.AccessibilitySettingsActivity.class.getName(),
             Settings.PrintSettingsActivity.class.getName(),
             Settings.PaymentSettingsActivity.class.getName(),
+
+            // New IA
+            // Home page
+            "com.android.settings.Settings.BatteryDashboardAlias",
+            Settings.SystemDashboardActivity.class.getName(),
+            Settings.SupportDashboardActivity.class.getName(),
+            // Home page > System
+            "com.android.settings.Settings.LanguageAndInputDashboardAlias",
+            "com.android.settings.Settings.DateTimeDashboardAlias",
+            "com.android.settings.Settings.AccessibilityDashboardAlias",
+            "com.android.settings.Settings.AboutDeviceDashboardAlias",
+
     };
 
     private static final String[] ENTRY_FRAGMENTS = {
@@ -363,7 +376,8 @@
             NightDisplaySettings.class.getName(),
             ManageDomainUrls.class.getName(),
             AutomaticStorageManagerSettings.class.getName(),
-            SupportFragment.class.getName()
+            SupportFragment.class.getName(),
+            SystemDashboardFragment.class.getName(),
     };
 
 
@@ -1120,6 +1134,9 @@
         setTileEnabled(new ComponentName(packageName,
                         Settings.DevelopmentSettingsActivity.class.getName()),
                 showDev, isAdmin, pm);
+        setTileEnabled(new ComponentName(packageName,
+                        Settings.DevelopmentSettingsActivity.DASHBOARD_ALIAS),
+                showDev, isAdmin, pm);
 
         // Reveal development-only quick settings tiles
         DevelopmentTiles.setTilesEnabled(this, showDev);