Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cdacd1df authored by Fan Zhang's avatar Fan Zhang
Browse files

Add initial preferences to App&Notification screen.

Bug: 31799948
Test: manual
Change-Id: I93f9d6562f51d37fcd78bada2f7c37d6b16daabb
parent 7dde4cce
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
@@ -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
+4 −2
Original line number Diff line number Diff line
@@ -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">
+11 −1
Original line number Diff line number Diff line
@@ -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
+2 −1
Original line number Diff line number Diff line
@@ -281,6 +281,8 @@ public class SettingsActivity extends SettingsDrawerActivity
            "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 @@ public class SettingsActivity extends SettingsDrawerActivity
            "com.android.settings.Settings.DateTimeDashboardAlias",
            "com.android.settings.Settings.AccessibilityDashboardAlias",
            "com.android.settings.Settings.AboutDeviceDashboardAlias",

    };

    private static final String[] ENTRY_FRAGMENTS = {
+22 −50
Original line number Diff line number Diff line
@@ -15,82 +15,54 @@
 */
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));
    }

        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 getCategoryKey() {
        return "";
    }

    @Override
    public int getMetricsCategory() {
        return MetricsEvent.APPLICATIONS_ADVANCED;
    protected String getLogTag() {
        return TAG;
    }

    private final PermissionsResultCallback mPermissionCallback = new PermissionsResultCallback() {
    @Override
        public void onAppWithPermissionsCountsResult(int standardGrantedPermissionAppCount,
                int standardUsedPermissionAppCount) {
            if (getActivity() == null) {
                return;
    protected int getPreferenceScreenResId() {
        return R.xml.advanced_apps;
    }
            mPermissionReceiver = null;
            if (standardUsedPermissionAppCount != 0) {
                mAppPermsPreference.setSummary(getContext().getString(
                        R.string.app_permissions_summary,
                        standardGrantedPermissionAppCount,
                        standardUsedPermissionAppCount));
            } else {
                mAppPermsPreference.setSummary(null);

    @Override
    protected List<PreferenceController> getPreferenceControllers(Context context) {
        return null;
    }

    @Override
    public int getMetricsCategory() {
        return MetricsEvent.APPLICATIONS_ADVANCED;
    }
    };

    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider() {
Loading