Add initial preferences to App&Notification screen.

Bug: 31799948
Test: manual
Change-Id: I93f9d6562f51d37fcd78bada2f7c37d6b16daabb
This commit is contained in:
Fan Zhang
2016-10-20 17:15:50 -07:00
parent 7dde4cce0c
commit cdacd1df9a
6 changed files with 76 additions and 59 deletions

View File

@@ -3327,6 +3327,43 @@
android:value="com.android.settings.category.ia.device" /> android:value="com.android.settings.category.ia.device" />
</activity-alias> </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 --> <!-- End of information architecture host activities -->
<service <service

View File

@@ -19,10 +19,12 @@
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings" xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
android:key="applications_settings"> android:key="applications_settings">
<PreferenceScreen <Preference
android:key="manage_perms" android:key="manage_perms"
android:title="@string/app_permissions" 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 <PreferenceCategory
android:title="@string/default_apps_title"> android:title="@string/default_apps_title">

View File

@@ -15,6 +15,16 @@
limitations under the License. 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> </PreferenceScreen>

View File

@@ -281,6 +281,8 @@ public class SettingsActivity extends SettingsDrawerActivity
"com.android.settings.Settings.SecurityDashboardAlias", "com.android.settings.Settings.SecurityDashboardAlias",
Settings.SystemDashboardActivity.class.getName(), Settings.SystemDashboardActivity.class.getName(),
Settings.SupportDashboardActivity.class.getName(), Settings.SupportDashboardActivity.class.getName(),
// Home page > Apps & Notifications
"com.android.settings.Settings.ManageApplicationsDashboardAlias",
// Home page > Network & Internet // Home page > Network & Internet
"com.android.settings.Settings.WifiDashboardAlias", "com.android.settings.Settings.WifiDashboardAlias",
"com.android.settings.Settings.DataUsageDashboardAlias", "com.android.settings.Settings.DataUsageDashboardAlias",
@@ -289,7 +291,6 @@ public class SettingsActivity extends SettingsDrawerActivity
"com.android.settings.Settings.DateTimeDashboardAlias", "com.android.settings.Settings.DateTimeDashboardAlias",
"com.android.settings.Settings.AccessibilityDashboardAlias", "com.android.settings.Settings.AccessibilityDashboardAlias",
"com.android.settings.Settings.AboutDeviceDashboardAlias", "com.android.settings.Settings.AboutDeviceDashboardAlias",
}; };
private static final String[] ENTRY_FRAGMENTS = { private static final String[] ENTRY_FRAGMENTS = {

View File

@@ -15,57 +15,48 @@
*/ */
package com.android.settings.applications; package com.android.settings.applications;
import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle; import android.os.Bundle;
import android.provider.SearchIndexableResource; import android.provider.SearchIndexableResource;
import android.support.v7.preference.Preference;
import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils; 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.BaseSearchIndexProvider;
import com.android.settings.search.Indexable; import com.android.settings.search.Indexable;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
public class AdvancedAppSettings extends SettingsPreferenceFragment implements public class AdvancedAppSettings extends DashboardFragment {
Indexable {
static final String TAG = "AdvancedAppSettings"; 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 @Override
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
super.onCreate(icicle); super.onCreate(icicle);
addPreferencesFromResource(R.xml.advanced_apps); }
Preference permissions = getPreferenceScreen().findPreference(KEY_APP_PERM); @Override
permissions.setIntent(new Intent(Intent.ACTION_MANAGE_PERMISSIONS)); protected String getCategoryKey() {
return "";
}
mAppPermsPreference = findPreference(KEY_APP_PERM); @Override
mAppDomainURLsPreference = findPreference(KEY_APP_DOMAIN_URLS); protected String getLogTag() {
mHighPowerPreference = findPreference(KEY_HIGH_POWER_APPS); return TAG;
mSystemAlertWindowPreference = findPreference(KEY_SYSTEM_ALERT_WINDOW); }
mWriteSettingsPreference = findPreference(KEY_WRITE_SETTINGS_APPS);
@Override
protected int getPreferenceScreenResId() {
return R.xml.advanced_apps;
}
@Override
protected List<PreferenceController> getPreferenceControllers(Context context) {
return null;
} }
@Override @Override
@@ -73,25 +64,6 @@ public class AdvancedAppSettings extends SettingsPreferenceFragment implements
return MetricsEvent.APPLICATIONS_ADVANCED; 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 = public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() { new BaseSearchIndexProvider() {
@Override @Override

View File

@@ -277,11 +277,6 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
displayResourceTiles(); displayResourceTiles();
refreshDashboardTiles(TAG); refreshDashboardTiles(TAG);
if (!mProgressiveDisclosureMixin.isCollapsed()
&& mProgressiveDisclosureMixin.shouldCollapse(getPreferenceScreen())) {
mProgressiveDisclosureMixin.collapse(getPreferenceScreen());
}
} }
/** /**