Loading src/com/android/settings/applications/manageapplications/ManageApplications.java +42 −105 Original line number Diff line number Diff line Loading @@ -58,9 +58,9 @@ import android.os.ServiceManager; import android.os.UserHandle; import android.os.UserManager; import android.preference.PreferenceFrameLayout; import android.provider.Settings; import android.text.TextUtils; import android.util.ArraySet; import android.util.FeatureFlagUtils; import android.util.IconDrawableFactory; import android.util.Log; import android.view.LayoutInflater; Loading Loading @@ -92,7 +92,6 @@ import com.android.settings.R; import com.android.settings.Settings.AlarmsAndRemindersActivity; import com.android.settings.Settings.AppBatteryUsageActivity; import com.android.settings.Settings.ChangeWifiStateActivity; import com.android.settings.Settings.GamesStorageActivity; import com.android.settings.Settings.HighPowerApplicationsActivity; import com.android.settings.Settings.LongBackgroundTasksActivity; import com.android.settings.Settings.ManageExternalSourcesActivity; Loading @@ -101,7 +100,6 @@ import com.android.settings.Settings.MediaManagementAppsActivity; import com.android.settings.Settings.NotificationAppListActivity; import com.android.settings.Settings.NotificationReviewPermissionsActivity; import com.android.settings.Settings.OverlaySettingsActivity; import com.android.settings.Settings.StorageUseActivity; import com.android.settings.Settings.UsageAccessSettingsActivity; import com.android.settings.Settings.WriteSettingsActivity; import com.android.settings.SettingsActivity; Loading Loading @@ -144,14 +142,6 @@ import com.android.settings.notification.ConfigureNotificationSettings; import com.android.settings.notification.NotificationBackend; import com.android.settings.notification.app.AppNotificationSettings; import com.android.settings.spa.SpaActivity; import com.android.settings.spa.app.AllAppListPageProvider; import com.android.settings.spa.app.specialaccess.AllFilesAccessAppListProvider; import com.android.settings.spa.app.specialaccess.DisplayOverOtherAppsAppListProvider; import com.android.settings.spa.app.specialaccess.InstallUnknownAppsListProvider; import com.android.settings.spa.app.specialaccess.MediaManagementAppsAppListProvider; import com.android.settings.spa.app.specialaccess.ModifySystemSettingsAppListProvider; import com.android.settings.spa.notification.AppListNotificationsPageProvider; import com.android.settings.spa.system.AppLanguagesPageProvider; import com.android.settings.widget.LoadingViewController; import com.android.settings.wifi.AppStateChangeWifiStateBridge; import com.android.settings.wifi.ChangeWifiStateDetails; Loading Loading @@ -295,47 +285,18 @@ public class ManageApplications extends InstrumentedFragment public void onAttach(Context context) { super.onAttach(context); if (!FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_ENABLE_SPA)) { return; } final String spaDestination = getSpaDestination(); mListType = getListType(); final String spaDestination = ManageApplicationsUtil.getSpaDestination(context, mListType); if (spaDestination != null) { SpaActivity.startSpaActivity(context, spaDestination); getActivity().finish(); } } @Nullable private String getSpaDestination() { final String className = getClassName(getActivity().getIntent(), getArguments()); if (className.equals(UsageAccessSettingsActivity.class.getName())) { return null; } else if (className.equals(HighPowerApplicationsActivity.class.getName())) { return null; } else if (className.equals(OverlaySettingsActivity.class.getName())) { return DisplayOverOtherAppsAppListProvider.INSTANCE.getAppListRoute(); } else if (className.equals(WriteSettingsActivity.class.getName())) { return ModifySystemSettingsAppListProvider.INSTANCE.getAppListRoute(); } else if (className.equals(ManageExternalSourcesActivity.class.getName())) { return InstallUnknownAppsListProvider.INSTANCE.getAppListRoute(); } else if (className.equals(ChangeWifiStateActivity.class.getName())) { return null; } else if (className.equals(ManageExternalStorageActivity.class.getName())) { return AllFilesAccessAppListProvider.INSTANCE.getAppListRoute(); } else if (className.equals(MediaManagementAppsActivity.class.getName())) { return MediaManagementAppsAppListProvider.INSTANCE.getAppListRoute(); } else if (className.equals(AlarmsAndRemindersActivity.class.getName())) { return null; } else if (className.equals(NotificationAppListActivity.class.getName()) || className.equals(NotificationReviewPermissionsActivity.class.getName())) { return AppListNotificationsPageProvider.INSTANCE.getName(); } else if (className.equals(AppLocaleDetails.class.getName())) { return AppLanguagesPageProvider.INSTANCE.getName(); } else if (className.equals(AppBatteryUsageActivity.class.getName())) { return null; } else { return AllAppListPageProvider.INSTANCE.getName(); } private int getListType() { Bundle args = getArguments(); final String className = getClassName(getActivity().getIntent(), args); return ManageApplicationsUtil.LIST_TYPE_MAP.getOrDefault(className, LIST_TYPE_MAIN); } @Override Loading @@ -353,44 +314,28 @@ public class ManageApplications extends InstrumentedFragment Bundle args = getArguments(); final int screenTitle = getTitleResId(intent, args); final String className = getClassName(intent, args); if (className.equals(StorageUseActivity.class.getName())) { switch (mListType) { case LIST_TYPE_STORAGE: if (args != null && args.containsKey(EXTRA_VOLUME_UUID)) { mVolumeUuid = args.getString(EXTRA_VOLUME_UUID); mStorageType = args.getInt(EXTRA_STORAGE_TYPE, STORAGE_TYPE_DEFAULT); mListType = LIST_TYPE_STORAGE; } else { // No volume selected, display a normal list, sorted by size. mListType = LIST_TYPE_MAIN; } mSortOrder = R.id.sort_order_size; } else if (className.equals(UsageAccessSettingsActivity.class.getName())) { mListType = LIST_TYPE_USAGE_ACCESS; } else if (className.equals(HighPowerApplicationsActivity.class.getName())) { mListType = LIST_TYPE_HIGH_POWER; break; case LIST_TYPE_HIGH_POWER: // Default to showing system. mShowSystem = true; } else if (className.equals(OverlaySettingsActivity.class.getName())) { mListType = LIST_TYPE_OVERLAY; break; case LIST_TYPE_OVERLAY: reportIfRestrictedSawIntent(intent); } else if (className.equals(WriteSettingsActivity.class.getName())) { mListType = LIST_TYPE_WRITE_SETTINGS; } else if (className.equals(ManageExternalSourcesActivity.class.getName())) { mListType = LIST_TYPE_MANAGE_SOURCES; } else if (className.equals(GamesStorageActivity.class.getName())) { mListType = LIST_TYPE_GAMES; break; case LIST_TYPE_GAMES: mSortOrder = R.id.sort_order_size; } else if (className.equals(ChangeWifiStateActivity.class.getName())) { mListType = LIST_TYPE_WIFI_ACCESS; } else if (className.equals(ManageExternalStorageActivity.class.getName())) { mListType = LIST_MANAGE_EXTERNAL_STORAGE; } else if (className.equals(MediaManagementAppsActivity.class.getName())) { mListType = LIST_TYPE_MEDIA_MANAGEMENT_APPS; } else if (className.equals(AlarmsAndRemindersActivity.class.getName())) { mListType = LIST_TYPE_ALARMS_AND_REMINDERS; } else if (className.equals(NotificationAppListActivity.class.getName()) || className.equals(NotificationReviewPermissionsActivity.class.getName())) { mListType = LIST_TYPE_NOTIFICATION; break; case LIST_TYPE_NOTIFICATION: mUsageStatsManager = IUsageStatsManager.Stub.asInterface( ServiceManager.getService(Context.USAGE_STATS_SERVICE)); mNotificationBackend = new NotificationBackend(); Loading @@ -398,18 +343,11 @@ public class ManageApplications extends InstrumentedFragment if (className.equals(NotificationReviewPermissionsActivity.class.getName())) { // Special-case for a case where a user is directed to the all apps notification // preferences page via a notification prompt to review permissions settings. android.provider.Settings.Global.putInt(getContext().getContentResolver(), android.provider.Settings.Global.REVIEW_PERMISSIONS_NOTIFICATION_STATE, Settings.Global.putInt(getContext().getContentResolver(), Settings.Global.REVIEW_PERMISSIONS_NOTIFICATION_STATE, 1); // USER_INTERACTED } } else if (className.equals(AppLocaleDetails.class.getName())) { mListType = LIST_TYPE_APPS_LOCALE; } else if (className.equals(AppBatteryUsageActivity.class.getName())) { mListType = LIST_TYPE_BATTERY_OPTIMIZATION; } else if (className.equals(LongBackgroundTasksActivity.class.getName())) { mListType = LIST_TYPE_LONG_BACKGROUND_TASKS; } else { mListType = LIST_TYPE_MAIN; break; } final AppFilterRegistry appFilterRegistry = AppFilterRegistry.getInstance(); mFilter = appFilterRegistry.get(appFilterRegistry.getDefaultFilterType(mListType)); Loading Loading @@ -909,8 +847,7 @@ public class ManageApplications extends InstrumentedFragment .setResultListener(this, ADVANCED_SETTINGS) .launch(); } else { Intent intent = new Intent( android.provider.Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS); Intent intent = new Intent(Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS); startActivityForResult(intent, ADVANCED_SETTINGS); } return true; Loading src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt 0 → 100644 +107 −0 Original line number Diff line number Diff line /* * Copyright (C) 2022 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.applications.manageapplications import android.content.Context import android.util.FeatureFlagUtils import com.android.settings.Settings.AlarmsAndRemindersActivity import com.android.settings.Settings.AppBatteryUsageActivity import com.android.settings.Settings.ChangeWifiStateActivity import com.android.settings.Settings.GamesStorageActivity import com.android.settings.Settings.HighPowerApplicationsActivity import com.android.settings.Settings.LongBackgroundTasksActivity import com.android.settings.Settings.ManageExternalSourcesActivity import com.android.settings.Settings.ManageExternalStorageActivity import com.android.settings.Settings.MediaManagementAppsActivity import com.android.settings.Settings.NotificationAppListActivity import com.android.settings.Settings.NotificationReviewPermissionsActivity import com.android.settings.Settings.OverlaySettingsActivity import com.android.settings.Settings.StorageUseActivity import com.android.settings.Settings.UsageAccessSettingsActivity import com.android.settings.Settings.WriteSettingsActivity import com.android.settings.applications.appinfo.AppLocaleDetails import com.android.settings.applications.manageapplications.ManageApplications.LIST_MANAGE_EXTERNAL_STORAGE import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_ALARMS_AND_REMINDERS import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_APPS_LOCALE import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_BATTERY_OPTIMIZATION import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_GAMES import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_HIGH_POWER import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_LONG_BACKGROUND_TASKS import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_MAIN import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_MANAGE_SOURCES import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_MEDIA_MANAGEMENT_APPS import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_NOTIFICATION import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_OVERLAY import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_STORAGE import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_USAGE_ACCESS import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_WIFI_ACCESS import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_WRITE_SETTINGS import com.android.settings.spa.app.AllAppListPageProvider import com.android.settings.spa.app.specialaccess.AlarmsAndRemindersAppListProvider import com.android.settings.spa.app.specialaccess.AllFilesAccessAppListProvider import com.android.settings.spa.app.specialaccess.DisplayOverOtherAppsAppListProvider import com.android.settings.spa.app.specialaccess.InstallUnknownAppsListProvider import com.android.settings.spa.app.specialaccess.MediaManagementAppsAppListProvider import com.android.settings.spa.app.specialaccess.ModifySystemSettingsAppListProvider import com.android.settings.spa.notification.AppListNotificationsPageProvider import com.android.settings.spa.system.AppLanguagesPageProvider /** * Utils for [ManageApplications]. */ object ManageApplicationsUtil { private val LIST_TYPE_CLASS_MAP = mapOf( StorageUseActivity::class to LIST_TYPE_STORAGE, UsageAccessSettingsActivity::class to LIST_TYPE_USAGE_ACCESS, HighPowerApplicationsActivity::class to LIST_TYPE_HIGH_POWER, OverlaySettingsActivity::class to LIST_TYPE_OVERLAY, WriteSettingsActivity::class to LIST_TYPE_WRITE_SETTINGS, ManageExternalSourcesActivity::class to LIST_TYPE_MANAGE_SOURCES, GamesStorageActivity::class to LIST_TYPE_GAMES, ChangeWifiStateActivity::class to LIST_TYPE_WIFI_ACCESS, ManageExternalStorageActivity::class to LIST_MANAGE_EXTERNAL_STORAGE, MediaManagementAppsActivity::class to LIST_TYPE_MEDIA_MANAGEMENT_APPS, AlarmsAndRemindersActivity::class to LIST_TYPE_ALARMS_AND_REMINDERS, NotificationAppListActivity::class to LIST_TYPE_NOTIFICATION, NotificationReviewPermissionsActivity::class to LIST_TYPE_NOTIFICATION, AppLocaleDetails::class to LIST_TYPE_APPS_LOCALE, AppBatteryUsageActivity::class to LIST_TYPE_BATTERY_OPTIMIZATION, LongBackgroundTasksActivity::class to LIST_TYPE_LONG_BACKGROUND_TASKS, ) @JvmField val LIST_TYPE_MAP = LIST_TYPE_CLASS_MAP.mapKeys { it.key.java.name } @JvmStatic fun getSpaDestination(context: Context, listType: Int): String? { if (!FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_ENABLE_SPA)) { return null } return when (listType) { LIST_TYPE_OVERLAY -> DisplayOverOtherAppsAppListProvider.getAppListRoute() LIST_TYPE_WRITE_SETTINGS -> ModifySystemSettingsAppListProvider.getAppListRoute() LIST_TYPE_MANAGE_SOURCES -> InstallUnknownAppsListProvider.getAppListRoute() LIST_MANAGE_EXTERNAL_STORAGE -> AllFilesAccessAppListProvider.getAppListRoute() LIST_TYPE_MEDIA_MANAGEMENT_APPS -> MediaManagementAppsAppListProvider.getAppListRoute() LIST_TYPE_ALARMS_AND_REMINDERS -> AlarmsAndRemindersAppListProvider.getAppListRoute() LIST_TYPE_NOTIFICATION -> AppListNotificationsPageProvider.name LIST_TYPE_APPS_LOCALE -> AppLanguagesPageProvider.name LIST_TYPE_MAIN -> AllAppListPageProvider.name else -> null } } } Loading
src/com/android/settings/applications/manageapplications/ManageApplications.java +42 −105 Original line number Diff line number Diff line Loading @@ -58,9 +58,9 @@ import android.os.ServiceManager; import android.os.UserHandle; import android.os.UserManager; import android.preference.PreferenceFrameLayout; import android.provider.Settings; import android.text.TextUtils; import android.util.ArraySet; import android.util.FeatureFlagUtils; import android.util.IconDrawableFactory; import android.util.Log; import android.view.LayoutInflater; Loading Loading @@ -92,7 +92,6 @@ import com.android.settings.R; import com.android.settings.Settings.AlarmsAndRemindersActivity; import com.android.settings.Settings.AppBatteryUsageActivity; import com.android.settings.Settings.ChangeWifiStateActivity; import com.android.settings.Settings.GamesStorageActivity; import com.android.settings.Settings.HighPowerApplicationsActivity; import com.android.settings.Settings.LongBackgroundTasksActivity; import com.android.settings.Settings.ManageExternalSourcesActivity; Loading @@ -101,7 +100,6 @@ import com.android.settings.Settings.MediaManagementAppsActivity; import com.android.settings.Settings.NotificationAppListActivity; import com.android.settings.Settings.NotificationReviewPermissionsActivity; import com.android.settings.Settings.OverlaySettingsActivity; import com.android.settings.Settings.StorageUseActivity; import com.android.settings.Settings.UsageAccessSettingsActivity; import com.android.settings.Settings.WriteSettingsActivity; import com.android.settings.SettingsActivity; Loading Loading @@ -144,14 +142,6 @@ import com.android.settings.notification.ConfigureNotificationSettings; import com.android.settings.notification.NotificationBackend; import com.android.settings.notification.app.AppNotificationSettings; import com.android.settings.spa.SpaActivity; import com.android.settings.spa.app.AllAppListPageProvider; import com.android.settings.spa.app.specialaccess.AllFilesAccessAppListProvider; import com.android.settings.spa.app.specialaccess.DisplayOverOtherAppsAppListProvider; import com.android.settings.spa.app.specialaccess.InstallUnknownAppsListProvider; import com.android.settings.spa.app.specialaccess.MediaManagementAppsAppListProvider; import com.android.settings.spa.app.specialaccess.ModifySystemSettingsAppListProvider; import com.android.settings.spa.notification.AppListNotificationsPageProvider; import com.android.settings.spa.system.AppLanguagesPageProvider; import com.android.settings.widget.LoadingViewController; import com.android.settings.wifi.AppStateChangeWifiStateBridge; import com.android.settings.wifi.ChangeWifiStateDetails; Loading Loading @@ -295,47 +285,18 @@ public class ManageApplications extends InstrumentedFragment public void onAttach(Context context) { super.onAttach(context); if (!FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_ENABLE_SPA)) { return; } final String spaDestination = getSpaDestination(); mListType = getListType(); final String spaDestination = ManageApplicationsUtil.getSpaDestination(context, mListType); if (spaDestination != null) { SpaActivity.startSpaActivity(context, spaDestination); getActivity().finish(); } } @Nullable private String getSpaDestination() { final String className = getClassName(getActivity().getIntent(), getArguments()); if (className.equals(UsageAccessSettingsActivity.class.getName())) { return null; } else if (className.equals(HighPowerApplicationsActivity.class.getName())) { return null; } else if (className.equals(OverlaySettingsActivity.class.getName())) { return DisplayOverOtherAppsAppListProvider.INSTANCE.getAppListRoute(); } else if (className.equals(WriteSettingsActivity.class.getName())) { return ModifySystemSettingsAppListProvider.INSTANCE.getAppListRoute(); } else if (className.equals(ManageExternalSourcesActivity.class.getName())) { return InstallUnknownAppsListProvider.INSTANCE.getAppListRoute(); } else if (className.equals(ChangeWifiStateActivity.class.getName())) { return null; } else if (className.equals(ManageExternalStorageActivity.class.getName())) { return AllFilesAccessAppListProvider.INSTANCE.getAppListRoute(); } else if (className.equals(MediaManagementAppsActivity.class.getName())) { return MediaManagementAppsAppListProvider.INSTANCE.getAppListRoute(); } else if (className.equals(AlarmsAndRemindersActivity.class.getName())) { return null; } else if (className.equals(NotificationAppListActivity.class.getName()) || className.equals(NotificationReviewPermissionsActivity.class.getName())) { return AppListNotificationsPageProvider.INSTANCE.getName(); } else if (className.equals(AppLocaleDetails.class.getName())) { return AppLanguagesPageProvider.INSTANCE.getName(); } else if (className.equals(AppBatteryUsageActivity.class.getName())) { return null; } else { return AllAppListPageProvider.INSTANCE.getName(); } private int getListType() { Bundle args = getArguments(); final String className = getClassName(getActivity().getIntent(), args); return ManageApplicationsUtil.LIST_TYPE_MAP.getOrDefault(className, LIST_TYPE_MAIN); } @Override Loading @@ -353,44 +314,28 @@ public class ManageApplications extends InstrumentedFragment Bundle args = getArguments(); final int screenTitle = getTitleResId(intent, args); final String className = getClassName(intent, args); if (className.equals(StorageUseActivity.class.getName())) { switch (mListType) { case LIST_TYPE_STORAGE: if (args != null && args.containsKey(EXTRA_VOLUME_UUID)) { mVolumeUuid = args.getString(EXTRA_VOLUME_UUID); mStorageType = args.getInt(EXTRA_STORAGE_TYPE, STORAGE_TYPE_DEFAULT); mListType = LIST_TYPE_STORAGE; } else { // No volume selected, display a normal list, sorted by size. mListType = LIST_TYPE_MAIN; } mSortOrder = R.id.sort_order_size; } else if (className.equals(UsageAccessSettingsActivity.class.getName())) { mListType = LIST_TYPE_USAGE_ACCESS; } else if (className.equals(HighPowerApplicationsActivity.class.getName())) { mListType = LIST_TYPE_HIGH_POWER; break; case LIST_TYPE_HIGH_POWER: // Default to showing system. mShowSystem = true; } else if (className.equals(OverlaySettingsActivity.class.getName())) { mListType = LIST_TYPE_OVERLAY; break; case LIST_TYPE_OVERLAY: reportIfRestrictedSawIntent(intent); } else if (className.equals(WriteSettingsActivity.class.getName())) { mListType = LIST_TYPE_WRITE_SETTINGS; } else if (className.equals(ManageExternalSourcesActivity.class.getName())) { mListType = LIST_TYPE_MANAGE_SOURCES; } else if (className.equals(GamesStorageActivity.class.getName())) { mListType = LIST_TYPE_GAMES; break; case LIST_TYPE_GAMES: mSortOrder = R.id.sort_order_size; } else if (className.equals(ChangeWifiStateActivity.class.getName())) { mListType = LIST_TYPE_WIFI_ACCESS; } else if (className.equals(ManageExternalStorageActivity.class.getName())) { mListType = LIST_MANAGE_EXTERNAL_STORAGE; } else if (className.equals(MediaManagementAppsActivity.class.getName())) { mListType = LIST_TYPE_MEDIA_MANAGEMENT_APPS; } else if (className.equals(AlarmsAndRemindersActivity.class.getName())) { mListType = LIST_TYPE_ALARMS_AND_REMINDERS; } else if (className.equals(NotificationAppListActivity.class.getName()) || className.equals(NotificationReviewPermissionsActivity.class.getName())) { mListType = LIST_TYPE_NOTIFICATION; break; case LIST_TYPE_NOTIFICATION: mUsageStatsManager = IUsageStatsManager.Stub.asInterface( ServiceManager.getService(Context.USAGE_STATS_SERVICE)); mNotificationBackend = new NotificationBackend(); Loading @@ -398,18 +343,11 @@ public class ManageApplications extends InstrumentedFragment if (className.equals(NotificationReviewPermissionsActivity.class.getName())) { // Special-case for a case where a user is directed to the all apps notification // preferences page via a notification prompt to review permissions settings. android.provider.Settings.Global.putInt(getContext().getContentResolver(), android.provider.Settings.Global.REVIEW_PERMISSIONS_NOTIFICATION_STATE, Settings.Global.putInt(getContext().getContentResolver(), Settings.Global.REVIEW_PERMISSIONS_NOTIFICATION_STATE, 1); // USER_INTERACTED } } else if (className.equals(AppLocaleDetails.class.getName())) { mListType = LIST_TYPE_APPS_LOCALE; } else if (className.equals(AppBatteryUsageActivity.class.getName())) { mListType = LIST_TYPE_BATTERY_OPTIMIZATION; } else if (className.equals(LongBackgroundTasksActivity.class.getName())) { mListType = LIST_TYPE_LONG_BACKGROUND_TASKS; } else { mListType = LIST_TYPE_MAIN; break; } final AppFilterRegistry appFilterRegistry = AppFilterRegistry.getInstance(); mFilter = appFilterRegistry.get(appFilterRegistry.getDefaultFilterType(mListType)); Loading Loading @@ -909,8 +847,7 @@ public class ManageApplications extends InstrumentedFragment .setResultListener(this, ADVANCED_SETTINGS) .launch(); } else { Intent intent = new Intent( android.provider.Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS); Intent intent = new Intent(Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS); startActivityForResult(intent, ADVANCED_SETTINGS); } return true; Loading
src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt 0 → 100644 +107 −0 Original line number Diff line number Diff line /* * Copyright (C) 2022 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.applications.manageapplications import android.content.Context import android.util.FeatureFlagUtils import com.android.settings.Settings.AlarmsAndRemindersActivity import com.android.settings.Settings.AppBatteryUsageActivity import com.android.settings.Settings.ChangeWifiStateActivity import com.android.settings.Settings.GamesStorageActivity import com.android.settings.Settings.HighPowerApplicationsActivity import com.android.settings.Settings.LongBackgroundTasksActivity import com.android.settings.Settings.ManageExternalSourcesActivity import com.android.settings.Settings.ManageExternalStorageActivity import com.android.settings.Settings.MediaManagementAppsActivity import com.android.settings.Settings.NotificationAppListActivity import com.android.settings.Settings.NotificationReviewPermissionsActivity import com.android.settings.Settings.OverlaySettingsActivity import com.android.settings.Settings.StorageUseActivity import com.android.settings.Settings.UsageAccessSettingsActivity import com.android.settings.Settings.WriteSettingsActivity import com.android.settings.applications.appinfo.AppLocaleDetails import com.android.settings.applications.manageapplications.ManageApplications.LIST_MANAGE_EXTERNAL_STORAGE import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_ALARMS_AND_REMINDERS import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_APPS_LOCALE import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_BATTERY_OPTIMIZATION import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_GAMES import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_HIGH_POWER import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_LONG_BACKGROUND_TASKS import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_MAIN import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_MANAGE_SOURCES import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_MEDIA_MANAGEMENT_APPS import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_NOTIFICATION import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_OVERLAY import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_STORAGE import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_USAGE_ACCESS import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_WIFI_ACCESS import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_WRITE_SETTINGS import com.android.settings.spa.app.AllAppListPageProvider import com.android.settings.spa.app.specialaccess.AlarmsAndRemindersAppListProvider import com.android.settings.spa.app.specialaccess.AllFilesAccessAppListProvider import com.android.settings.spa.app.specialaccess.DisplayOverOtherAppsAppListProvider import com.android.settings.spa.app.specialaccess.InstallUnknownAppsListProvider import com.android.settings.spa.app.specialaccess.MediaManagementAppsAppListProvider import com.android.settings.spa.app.specialaccess.ModifySystemSettingsAppListProvider import com.android.settings.spa.notification.AppListNotificationsPageProvider import com.android.settings.spa.system.AppLanguagesPageProvider /** * Utils for [ManageApplications]. */ object ManageApplicationsUtil { private val LIST_TYPE_CLASS_MAP = mapOf( StorageUseActivity::class to LIST_TYPE_STORAGE, UsageAccessSettingsActivity::class to LIST_TYPE_USAGE_ACCESS, HighPowerApplicationsActivity::class to LIST_TYPE_HIGH_POWER, OverlaySettingsActivity::class to LIST_TYPE_OVERLAY, WriteSettingsActivity::class to LIST_TYPE_WRITE_SETTINGS, ManageExternalSourcesActivity::class to LIST_TYPE_MANAGE_SOURCES, GamesStorageActivity::class to LIST_TYPE_GAMES, ChangeWifiStateActivity::class to LIST_TYPE_WIFI_ACCESS, ManageExternalStorageActivity::class to LIST_MANAGE_EXTERNAL_STORAGE, MediaManagementAppsActivity::class to LIST_TYPE_MEDIA_MANAGEMENT_APPS, AlarmsAndRemindersActivity::class to LIST_TYPE_ALARMS_AND_REMINDERS, NotificationAppListActivity::class to LIST_TYPE_NOTIFICATION, NotificationReviewPermissionsActivity::class to LIST_TYPE_NOTIFICATION, AppLocaleDetails::class to LIST_TYPE_APPS_LOCALE, AppBatteryUsageActivity::class to LIST_TYPE_BATTERY_OPTIMIZATION, LongBackgroundTasksActivity::class to LIST_TYPE_LONG_BACKGROUND_TASKS, ) @JvmField val LIST_TYPE_MAP = LIST_TYPE_CLASS_MAP.mapKeys { it.key.java.name } @JvmStatic fun getSpaDestination(context: Context, listType: Int): String? { if (!FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_ENABLE_SPA)) { return null } return when (listType) { LIST_TYPE_OVERLAY -> DisplayOverOtherAppsAppListProvider.getAppListRoute() LIST_TYPE_WRITE_SETTINGS -> ModifySystemSettingsAppListProvider.getAppListRoute() LIST_TYPE_MANAGE_SOURCES -> InstallUnknownAppsListProvider.getAppListRoute() LIST_MANAGE_EXTERNAL_STORAGE -> AllFilesAccessAppListProvider.getAppListRoute() LIST_TYPE_MEDIA_MANAGEMENT_APPS -> MediaManagementAppsAppListProvider.getAppListRoute() LIST_TYPE_ALARMS_AND_REMINDERS -> AlarmsAndRemindersAppListProvider.getAppListRoute() LIST_TYPE_NOTIFICATION -> AppListNotificationsPageProvider.name LIST_TYPE_APPS_LOCALE -> AppLanguagesPageProvider.name LIST_TYPE_MAIN -> AllAppListPageProvider.name else -> null } } }