Add initial preferences to App&Notification screen.

Bug: 31799948
Test: manual
Change-Id: I93f9d6562f51d37fcd78bada2f7c37d6b16daabb
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 5721c74..c987ec0 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -3327,6 +3327,43 @@
                        android:value="com.android.settings.category.ia.device" />
         </activity-alias>
 
+        <activity-alias android:name="ManageApplicationsDashboardAlias"
+                        android:targetActivity="Settings$ManageApplicationsActivity">
+            <intent-filter android:priority="200">
+                <action android:name="com.android.settings.action.SETTINGS" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.category"
+                       android:value="com.android.settings.category.ia.apps" />
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.applications.ManageApplications" />
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                       android:value="true" />
+        </activity-alias>
+
+        <activity-alias android:name="AppNotificationDashboardAlias"
+                        android:targetActivity="Settings$NotificationAppListActivity">
+            <intent-filter android:priority="150">
+                <action android:name="com.android.settings.action.SETTINGS"/>
+            </intent-filter>
+            <meta-data android:name="com.android.settings.category"
+                       android:value="com.android.settings.category.ia.apps"/>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.applications.NotificationApps"/>
+        </activity-alias>
+
+        <activity-alias android:name="ConfigureNotificationDashboardAlias"
+                  android:targetActivity="Settings$ConfigureNotificationSettingsActivity">
+            <intent-filter android:priority="120">
+                <action android:name="com.android.settings.action.SETTINGS"/>
+            </intent-filter>
+            <meta-data android:name="com.android.settings.category"
+                       android:value="com.android.settings.category.ia.apps"/>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.notification.ConfigureNotificationSettings" />
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                       android:value="true" />
+        </activity-alias>
+
         <!-- End of information architecture host activities -->
 
         <service
diff --git a/res/xml/advanced_apps.xml b/res/xml/advanced_apps.xml
index 405d5af..7b1af10 100644
--- a/res/xml/advanced_apps.xml
+++ b/res/xml/advanced_apps.xml
@@ -19,10 +19,12 @@
     xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
     android:key="applications_settings">
 
-    <PreferenceScreen
+    <Preference
         android:key="manage_perms"
         android:title="@string/app_permissions"
-        settings:keywords="@string/keywords_app_permissions" />
+        settings:keywords="@string/keywords_app_permissions">
+        <intent android:action="android.intent.action.MANAGE_PERMISSIONS"/>
+    </Preference>
 
     <PreferenceCategory
         android:title="@string/default_apps_title">
diff --git a/res/xml/app_and_notification.xml b/res/xml/app_and_notification.xml
index 5da902f..4aa109e 100644
--- a/res/xml/app_and_notification.xml
+++ b/res/xml/app_and_notification.xml
@@ -15,6 +15,16 @@
   limitations under the License.
   -->
 
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
+
+    <Preference
+        android:key="manage_perms"
+        android:title="@string/app_permissions"
+        android:order="-130"
+        settings:keywords="@string/keywords_app_permissions">
+        <intent android:action="android.intent.action.MANAGE_PERMISSIONS"/>
+    </Preference>
 
 </PreferenceScreen>
\ No newline at end of file
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 5452f91..11f8105 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -281,6 +281,8 @@
             "com.android.settings.Settings.SecurityDashboardAlias",
             Settings.SystemDashboardActivity.class.getName(),
             Settings.SupportDashboardActivity.class.getName(),
+            // Home page > Apps & Notifications
+            "com.android.settings.Settings.ManageApplicationsDashboardAlias",
             // Home page > Network & Internet
             "com.android.settings.Settings.WifiDashboardAlias",
             "com.android.settings.Settings.DataUsageDashboardAlias",
@@ -289,7 +291,6 @@
             "com.android.settings.Settings.DateTimeDashboardAlias",
             "com.android.settings.Settings.AccessibilityDashboardAlias",
             "com.android.settings.Settings.AboutDeviceDashboardAlias",
-
     };
 
     private static final String[] ENTRY_FRAGMENTS = {
diff --git a/src/com/android/settings/applications/AdvancedAppSettings.java b/src/com/android/settings/applications/AdvancedAppSettings.java
index db9d8de..59c1fbe 100644
--- a/src/com/android/settings/applications/AdvancedAppSettings.java
+++ b/src/com/android/settings/applications/AdvancedAppSettings.java
@@ -15,57 +15,48 @@
  */
 package com.android.settings.applications;
 
-import android.content.BroadcastReceiver;
 import android.content.Context;
-import android.content.Intent;
-import android.os.AsyncTask;
 import android.os.Bundle;
 import android.provider.SearchIndexableResource;
-import android.support.v7.preference.Preference;
+
 import com.android.internal.logging.MetricsProto.MetricsEvent;
 import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.Utils;
-import com.android.settings.applications.PermissionsSummaryHelper.PermissionsResultCallback;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-public class AdvancedAppSettings extends SettingsPreferenceFragment implements
-        Indexable {
+public class AdvancedAppSettings extends DashboardFragment {
 
     static final String TAG = "AdvancedAppSettings";
 
-    private static final String KEY_APP_PERM = "manage_perms";
-    private static final String KEY_APP_DOMAIN_URLS = "domain_urls";
-    private static final String KEY_HIGH_POWER_APPS = "high_power_apps";
-    private static final String KEY_SYSTEM_ALERT_WINDOW = "system_alert_window";
-    private static final String KEY_WRITE_SETTINGS_APPS = "write_settings_apps";
-
-    private Preference mAppPermsPreference;
-    private Preference mAppDomainURLsPreference;
-    private Preference mHighPowerPreference;
-    private Preference mSystemAlertWindowPreference;
-    private Preference mWriteSettingsPreference;
-
-    private BroadcastReceiver mPermissionReceiver;
-
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        addPreferencesFromResource(R.xml.advanced_apps);
+    }
 
-        Preference permissions = getPreferenceScreen().findPreference(KEY_APP_PERM);
-        permissions.setIntent(new Intent(Intent.ACTION_MANAGE_PERMISSIONS));
+    @Override
+    protected String getCategoryKey() {
+        return "";
+    }
 
-        mAppPermsPreference = findPreference(KEY_APP_PERM);
-        mAppDomainURLsPreference = findPreference(KEY_APP_DOMAIN_URLS);
-        mHighPowerPreference = findPreference(KEY_HIGH_POWER_APPS);
-        mSystemAlertWindowPreference = findPreference(KEY_SYSTEM_ALERT_WINDOW);
-        mWriteSettingsPreference = findPreference(KEY_WRITE_SETTINGS_APPS);
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.advanced_apps;
+    }
+
+    @Override
+    protected List<PreferenceController> getPreferenceControllers(Context context) {
+        return null;
     }
 
     @Override
@@ -73,25 +64,6 @@
         return MetricsEvent.APPLICATIONS_ADVANCED;
     }
 
-    private final PermissionsResultCallback mPermissionCallback = new PermissionsResultCallback() {
-        @Override
-        public void onAppWithPermissionsCountsResult(int standardGrantedPermissionAppCount,
-                int standardUsedPermissionAppCount) {
-            if (getActivity() == null) {
-                return;
-            }
-            mPermissionReceiver = null;
-            if (standardUsedPermissionAppCount != 0) {
-                mAppPermsPreference.setSummary(getContext().getString(
-                        R.string.app_permissions_summary,
-                        standardGrantedPermissionAppCount,
-                        standardUsedPermissionAppCount));
-            } else {
-                mAppPermsPreference.setSummary(null);
-            }
-        }
-    };
-
     public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java
index 9ab8cf4..37bc447 100644
--- a/src/com/android/settings/dashboard/DashboardFragment.java
+++ b/src/com/android/settings/dashboard/DashboardFragment.java
@@ -277,11 +277,6 @@
         displayResourceTiles();
 
         refreshDashboardTiles(TAG);
-
-        if (!mProgressiveDisclosureMixin.isCollapsed()
-                && mProgressiveDisclosureMixin.shouldCollapse(getPreferenceScreen())) {
-            mProgressiveDisclosureMixin.collapse(getPreferenceScreen());
-        }
     }
 
     /**