The Android Open Source Project | afc4ab2 | 2009-03-03 19:32:34 -0800 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) 2008 The Android Open Source Project |
| 3 | * |
| 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | * you may not use this file except in compliance with the License. |
| 6 | * You may obtain a copy of the License at |
| 7 | * |
| 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | * |
| 10 | * Unless required by applicable law or agreed to in writing, software |
| 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. |
| 15 | */ |
| 16 | |
| 17 | package com.android.settings; |
| 18 | |
Jay Thomas Sullivan | ecc0a45 | 2022-05-05 20:56:43 +0000 | [diff] [blame] | 19 | import static android.provider.Settings.ACTION_PRIVACY_SETTINGS; |
| 20 | |
Jan Tomljanovic | 4436b7f | 2021-12-10 15:09:31 +0000 | [diff] [blame] | 21 | import android.content.ActivityNotFoundException; |
Zhen Zhang | aaf5fe5 | 2020-02-18 15:10:32 -0800 | [diff] [blame] | 22 | import android.content.Context; |
| 23 | import android.content.Intent; |
Bartosz Fabianowski | 92d25fb | 2017-03-24 18:04:31 +0100 | [diff] [blame] | 24 | import android.os.Bundle; |
Zoey Chen | 6978a90 | 2021-12-14 18:42:37 +0800 | [diff] [blame] | 25 | import android.telephony.ims.ImsRcsManager; |
Jan Tomljanovic | 07bffff | 2021-04-27 20:58:12 +0100 | [diff] [blame] | 26 | import android.text.TextUtils; |
Zhen Zhang | aaf5fe5 | 2020-02-18 15:10:32 -0800 | [diff] [blame] | 27 | import android.util.FeatureFlagUtils; |
Jan Tomljanovic | 4436b7f | 2021-12-10 15:09:31 +0000 | [diff] [blame] | 28 | import android.util.Log; |
Bartosz Fabianowski | 92d25fb | 2017-03-24 18:04:31 +0100 | [diff] [blame] | 29 | |
Jan Tomljanovic | 07bffff | 2021-04-27 20:58:12 +0100 | [diff] [blame] | 30 | import com.android.internal.annotations.VisibleForTesting; |
Yuri Ufimtsev | be98245 | 2022-03-09 09:49:15 +0000 | [diff] [blame] | 31 | import com.android.settings.biometrics.face.FaceSettings; |
Lucas Silva | 3b1c739 | 2023-04-12 15:22:39 -0400 | [diff] [blame] | 32 | import com.android.settings.communal.CommunalPreferenceController; |
Zhen Zhang | aaf5fe5 | 2020-02-18 15:10:32 -0800 | [diff] [blame] | 33 | import com.android.settings.core.FeatureFlags; |
Bartosz Fabianowski | 92d25fb | 2017-03-24 18:04:31 +0100 | [diff] [blame] | 34 | import com.android.settings.enterprise.EnterprisePrivacySettings; |
Bonian Chen | d10618d | 2022-05-30 19:06:10 +0800 | [diff] [blame] | 35 | import com.android.settings.network.MobileNetworkIntentConverter; |
Jason Parks | 9f424cd | 2020-11-17 13:31:59 -0600 | [diff] [blame] | 36 | import com.android.settings.overlay.FeatureFactory; |
Marie Matheson | ce321f0 | 2022-02-18 22:57:17 +0000 | [diff] [blame] | 37 | import com.android.settings.safetycenter.SafetyCenterManagerWrapper; |
Jan Tomljanovic | 07bffff | 2021-04-27 20:58:12 +0100 | [diff] [blame] | 38 | import com.android.settings.security.SecuritySettingsFeatureProvider; |
Amith Yamasani | d799347 | 2010-08-18 13:59:28 -0700 | [diff] [blame] | 39 | |
Tsung-Mao Fang | d3cd751 | 2021-05-05 15:43:54 +0800 | [diff] [blame] | 40 | import com.google.android.setupdesign.util.ThemeHelper; |
| 41 | |
Amith Yamasani | d799347 | 2010-08-18 13:59:28 -0700 | [diff] [blame] | 42 | /** |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 43 | * Top-level Settings activity |
Amith Yamasani | d799347 | 2010-08-18 13:59:28 -0700 | [diff] [blame] | 44 | */ |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 45 | public class Settings extends SettingsActivity { |
Christopher Tate | e0d934f | 2013-10-01 12:32:27 -0700 | [diff] [blame] | 46 | |
Amith Yamasani | 5203bdf | 2010-11-04 09:59:44 -0700 | [diff] [blame] | 47 | /* |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 48 | * Settings subclasses for launching independently. |
| 49 | */ |
Florian Mayer | ce17493 | 2022-11-07 17:27:52 -0800 | [diff] [blame] | 50 | |
| 51 | public static class MemtagPageActivity extends SettingsActivity { /* empty */} |
Kevin Chyn | 41acc69 | 2017-06-17 17:25:21 -0700 | [diff] [blame] | 52 | public static class AssistGestureSettingsActivity extends SettingsActivity { /* empty */} |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 53 | public static class BluetoothSettingsActivity extends SettingsActivity { /* empty */ } |
Fan Zhang | f1f0f8b | 2018-06-22 10:40:07 -0700 | [diff] [blame] | 54 | public static class CreateShortcutActivity extends SettingsActivity { /* empty */ } |
Wenhui Yang | d26f18f | 2023-07-25 18:49:31 +0000 | [diff] [blame] | 55 | public static class FaceSettingsActivity extends SettingsActivity { /* empty */ } |
Yuri Ufimtsev | be98245 | 2022-03-09 09:49:15 +0000 | [diff] [blame] | 56 | /** Container for {@link FaceSettings} to use with a pre-defined task affinity. */ |
Wenhui Yang | d26f18f | 2023-07-25 18:49:31 +0000 | [diff] [blame] | 57 | public static class FaceSettingsInternalActivity extends SettingsActivity { /* empty */ } |
Ilya Matyukhin | 8979f84 | 2019-04-28 15:10:02 -0700 | [diff] [blame] | 58 | public static class FingerprintSettingsActivity extends SettingsActivity { /* empty */ } |
Joshua McCloskey | b7f0d7a | 2023-04-13 19:58:26 +0000 | [diff] [blame] | 59 | public static class FingerprintSettingsActivityV2 extends SettingsActivity { /* empty */ } |
Mill Chen | 7edebee | 2021-04-09 23:14:27 +0800 | [diff] [blame] | 60 | public static class CombinedBiometricSettingsActivity extends SettingsActivity { /* empty */ } |
| 61 | public static class CombinedBiometricProfileSettingsActivity extends SettingsActivity { /* empty */ } |
Zhen Zhang | aaf5fe5 | 2020-02-18 15:10:32 -0800 | [diff] [blame] | 62 | public static class TetherSettingsActivity extends SettingsActivity { |
| 63 | // TODO(b/147675042): Clean the override up when we enable the new Fragment persistently. |
| 64 | @Override |
| 65 | public Intent getIntent() { |
| 66 | return wrapIntentWithAllInOneTetherSettingsIfNeeded( |
| 67 | getApplicationContext(), super.getIntent()); |
| 68 | } |
| 69 | } |
| 70 | public static class WifiTetherSettingsActivity extends SettingsActivity { |
| 71 | // TODO(b/147675042): Clean the override up when we enable the new Fragment persistently. |
| 72 | @Override |
| 73 | public Intent getIntent() { |
| 74 | return wrapIntentWithAllInOneTetherSettingsIfNeeded( |
| 75 | getApplicationContext(), super.getIntent()); |
| 76 | } |
| 77 | } |
| 78 | |
| 79 | private static Intent wrapIntentWithAllInOneTetherSettingsIfNeeded( |
| 80 | Context context, Intent superIntent) { |
| 81 | if (!FeatureFlagUtils.isEnabled(context, FeatureFlags.TETHER_ALL_IN_ONE)) { |
| 82 | return superIntent; |
| 83 | } |
| 84 | |
| 85 | final Intent modIntent = new Intent(superIntent); |
| 86 | modIntent.putExtra(EXTRA_SHOW_FRAGMENT, |
| 87 | AllInOneTetherSettings.class.getCanonicalName()); |
| 88 | Bundle args = superIntent.getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS); |
| 89 | if (args != null) { |
| 90 | args = new Bundle(args); |
| 91 | } else { |
| 92 | args = new Bundle(); |
| 93 | } |
| 94 | args.putParcelable("intent", superIntent); |
| 95 | modIntent.putExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS, args); |
| 96 | return modIntent; |
| 97 | } |
| 98 | |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 99 | public static class VpnSettingsActivity extends SettingsActivity { /* empty */ } |
Jason Chiu | 29a09e5 | 2021-10-12 17:24:34 +0800 | [diff] [blame] | 100 | /** Activity for Data saver settings. */ |
| 101 | public static class DataSaverSummaryActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 102 | public static class DateTimeSettingsActivity extends SettingsActivity { /* empty */ } |
Jeff Sharkey | a16257d | 2015-04-28 13:41:01 -0700 | [diff] [blame] | 103 | public static class PrivateVolumeForgetActivity extends SettingsActivity { /* empty */ } |
Jeff Sharkey | e77f068 | 2015-04-29 11:24:57 -0700 | [diff] [blame] | 104 | public static class PublicVolumeSettingsActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 105 | public static class WifiSettingsActivity extends SettingsActivity { /* empty */ } |
Arc Wang | 746176e | 2020-09-02 17:35:56 +0800 | [diff] [blame] | 106 | public static class NetworkProviderSettingsActivity extends SettingsActivity { /* empty */ } |
SongFerng Wang | fa6a361 | 2021-12-08 14:25:41 +0000 | [diff] [blame] | 107 | public static class NetworkSelectActivity extends SettingsActivity { /* empty */ } |
Weng Su | 29f4a35 | 2021-07-15 11:38:38 +0800 | [diff] [blame] | 108 | /** Activity for the Wi-Fi network details settings. */ |
| 109 | public static class WifiDetailsSettingsActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 110 | public static class WifiP2pSettingsActivity extends SettingsActivity { /* empty */ } |
Abodunrinwa Toki | 976bb3f | 2016-01-20 18:43:20 +0000 | [diff] [blame] | 111 | public static class AvailableVirtualKeyboardActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 112 | public static class KeyboardLayoutPickerActivity extends SettingsActivity { /* empty */ } |
Abodunrinwa Toki | b28b2cc | 2016-03-22 16:29:38 +0000 | [diff] [blame] | 113 | public static class PhysicalKeyboardActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 114 | public static class InputMethodAndSubtypeEnablerActivity extends SettingsActivity { /* empty */ } |
| 115 | public static class SpellCheckersSettingsActivity extends SettingsActivity { /* empty */ } |
| 116 | public static class LocalePickerActivity extends SettingsActivity { /* empty */ } |
Doris Ling | 34cfd2e | 2017-02-03 16:16:42 -0800 | [diff] [blame] | 117 | public static class LanguageAndInputSettingsActivity extends SettingsActivity { /* empty */ } |
danielwbhuang | c9cb680 | 2022-08-17 22:17:08 +0800 | [diff] [blame] | 118 | public static class LanguageSettingsActivity extends SettingsActivity { /* empty */ } |
tom hsu | c03ff3b | 2023-01-04 08:57:43 +0800 | [diff] [blame] | 119 | /** Activity for the regional preferences settings. */ |
| 120 | public static class RegionalPreferencesActivity extends SettingsActivity { /* empty */ } |
danielwbhuang | c9cb680 | 2022-08-17 22:17:08 +0800 | [diff] [blame] | 121 | public static class KeyboardSettingsActivity extends SettingsActivity { /* empty */ } |
Jagrut Desai | c36081b | 2023-04-20 13:50:02 -0700 | [diff] [blame] | 122 | /** Activity for the navigation mode settings. */ |
| 123 | public static class NavigationModeSettingsActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 124 | public static class UserDictionarySettingsActivity extends SettingsActivity { /* empty */ } |
Jay Aliomer | 82a0ea0 | 2019-12-10 14:49:27 -0500 | [diff] [blame] | 125 | public static class DarkThemeSettingsActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 126 | public static class DisplaySettingsActivity extends SettingsActivity { /* empty */ } |
Justin Klaassen | eae3d9f | 2016-07-21 19:25:17 -0700 | [diff] [blame] | 127 | public static class NightDisplaySettingsActivity extends SettingsActivity { /* empty */ } |
Sean Stout | 2bc94d6 | 2017-05-18 13:39:25 -0700 | [diff] [blame] | 128 | public static class NightDisplaySuggestionActivity extends NightDisplaySettingsActivity { /* empty */ } |
Abel Tesfaye | 029c095 | 2021-03-04 21:55:47 +0000 | [diff] [blame] | 129 | public static class SmartAutoRotateSettingsActivity extends SettingsActivity { /* empty */ } |
Fan Zhang | 881d579 | 2018-01-26 10:15:56 -0800 | [diff] [blame] | 130 | public static class MyDeviceInfoActivity extends SettingsActivity { /* empty */ } |
Andrew Sapperstein | 56a8c33 | 2019-06-18 09:44:18 -0700 | [diff] [blame] | 131 | public static class ModuleLicensesActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 132 | public static class ApplicationSettingsActivity extends SettingsActivity { /* empty */ } |
| 133 | public static class ManageApplicationsActivity extends SettingsActivity { /* empty */ } |
Xiyuan Xia | 86a5540 | 2015-06-02 14:55:32 -0700 | [diff] [blame] | 134 | public static class ManageAssistActivity extends SettingsActivity { /* empty */ } |
Jason Monk | 1eb54eb | 2015-04-29 12:46:42 -0400 | [diff] [blame] | 135 | public static class HighPowerApplicationsActivity extends SettingsActivity { /* empty */ } |
Dianne Hackborn | f467c0a | 2015-12-07 16:36:09 -0800 | [diff] [blame] | 136 | public static class BackgroundCheckSummaryActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 137 | public static class StorageUseActivity extends SettingsActivity { /* empty */ } |
jeffreyhuang | 142682c | 2017-10-17 11:05:15 -0700 | [diff] [blame] | 138 | public static class DevelopmentSettingsDashboardActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 139 | public static class AccessibilitySettingsActivity extends SettingsActivity { /* empty */ } |
Jackal Guo | 2936551 | 2019-02-14 15:19:53 +0800 | [diff] [blame] | 140 | public static class AccessibilityDetailsSettingsActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 141 | public static class CaptioningSettingsActivity extends SettingsActivity { /* empty */ } |
| 142 | public static class AccessibilityInversionSettingsActivity extends SettingsActivity { /* empty */ } |
| 143 | public static class AccessibilityContrastSettingsActivity extends SettingsActivity { /* empty */ } |
| 144 | public static class AccessibilityDaltonizerSettingsActivity extends SettingsActivity { /* empty */ } |
Jason Chiu | 29a09e5 | 2021-10-12 17:24:34 +0800 | [diff] [blame] | 145 | /** Activity for lockscreen settings. */ |
Silin Huang | c80b3ab | 2021-05-13 23:59:33 -0700 | [diff] [blame] | 146 | public static class LockScreenSettingsActivity extends SettingsActivity { /* empty */ } |
shaoweishen | 1b58ba5 | 2021-12-03 08:47:15 +0000 | [diff] [blame] | 147 | /** Activity for bluetooth pairing settings. */ |
| 148 | public static class BlueToothPairingActivity extends SettingsActivity { /* empty */ } |
Jason Chiu | 29a09e5 | 2021-10-12 17:24:34 +0800 | [diff] [blame] | 149 | /** Activity for Reduce Bright Colors. */ |
Sally | 9fe91b9 | 2020-10-16 22:45:27 +0000 | [diff] [blame] | 150 | public static class ReduceBrightColorsSettingsActivity extends SettingsActivity { /* empty */ } |
menghanli | 3871438 | 2022-09-28 13:14:51 +0800 | [diff] [blame] | 151 | /** Activity for text reading settings. */ |
| 152 | public static class TextReadingSettingsActivity extends SettingsActivity { /* empty */ } |
menghanli | 3c62eb1 | 2022-10-04 08:13:16 +0800 | [diff] [blame] | 153 | /** Activity for text color and motion settings. */ |
| 154 | public static class ColorAndMotionActivity extends SettingsActivity { /* empty */ } |
Jan Tomljanovic | 07bffff | 2021-04-27 20:58:12 +0100 | [diff] [blame] | 155 | /** Activity for the security dashboard. */ |
| 156 | public static class SecurityDashboardActivity extends SettingsActivity { |
| 157 | |
Jan Tomljanovic | 4436b7f | 2021-12-10 15:09:31 +0000 | [diff] [blame] | 158 | private static final String TAG = "SecurityDashboardActivity"; |
| 159 | |
| 160 | @Override |
| 161 | protected void onCreate(Bundle savedState) { |
| 162 | super.onCreate(savedState); |
| 163 | handleSafetyCenterRedirection(); |
| 164 | } |
| 165 | |
| 166 | /** Redirects to SafetyCenter if enabled. */ |
| 167 | @VisibleForTesting |
| 168 | public void handleSafetyCenterRedirection() { |
Simon Wingrove | 4884157 | 2022-10-17 14:50:50 +0100 | [diff] [blame] | 169 | if (isFinishing()) { |
| 170 | // Don't trampoline if already exiting this activity. |
| 171 | return; |
| 172 | } |
| 173 | |
Marie Matheson | ce321f0 | 2022-02-18 22:57:17 +0000 | [diff] [blame] | 174 | if (SafetyCenterManagerWrapper.get().isEnabled(this)) { |
Jan Tomljanovic | 4436b7f | 2021-12-10 15:09:31 +0000 | [diff] [blame] | 175 | try { |
| 176 | startActivity(new Intent(Intent.ACTION_SAFETY_CENTER)); |
| 177 | finish(); |
| 178 | } catch (ActivityNotFoundException e) { |
| 179 | Log.e(TAG, "Unable to open safety center", e); |
| 180 | } |
| 181 | } |
| 182 | } |
| 183 | |
Jan Tomljanovic | 07bffff | 2021-04-27 20:58:12 +0100 | [diff] [blame] | 184 | /** Whether the given fragment is allowed. */ |
| 185 | @VisibleForTesting |
| 186 | @Override |
| 187 | public boolean isValidFragment(String fragmentName) { |
| 188 | return super.isValidFragment(fragmentName) |
| 189 | || (fragmentName != null |
| 190 | && TextUtils.equals(fragmentName, getAlternativeFragmentName())); |
| 191 | } |
| 192 | |
| 193 | @Override |
| 194 | public String getInitialFragmentName(Intent intent) { |
| 195 | final String alternativeFragmentName = getAlternativeFragmentName(); |
| 196 | if (alternativeFragmentName != null) { |
| 197 | return alternativeFragmentName; |
| 198 | } |
| 199 | |
| 200 | return super.getInitialFragmentName(intent); |
| 201 | } |
| 202 | |
| 203 | private String getAlternativeFragmentName() { |
| 204 | String alternativeFragmentClassname = null; |
| 205 | final SecuritySettingsFeatureProvider securitySettingsFeatureProvider = |
| 206 | FeatureFactory.getFactory(this).getSecuritySettingsFeatureProvider(); |
| 207 | if (securitySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment()) { |
| 208 | alternativeFragmentClassname = securitySettingsFeatureProvider |
| 209 | .getAlternativeSecuritySettingsFragmentClassname(); |
| 210 | } |
| 211 | return alternativeFragmentClassname; |
| 212 | } |
| 213 | } |
Yuri Ufimtsev | 4eea126 | 2021-12-03 15:43:11 +0000 | [diff] [blame] | 214 | /** Activity for the Advanced security settings. */ |
Prabal Singh | a644a64 | 2023-02-13 17:41:06 +0000 | [diff] [blame] | 215 | public static class SecurityAdvancedSettings extends SettingsActivity { |
| 216 | private static final String TAG = "SecurityAdvancedActivity"; |
| 217 | @Override |
| 218 | protected void onCreate(Bundle savedState) { |
| 219 | super.onCreate(savedState); |
| 220 | handleMoreSettingsRedirection(); |
| 221 | } |
| 222 | |
| 223 | /** Redirects to More Settings if Safety center is enabled. */ |
| 224 | @VisibleForTesting |
| 225 | public void handleMoreSettingsRedirection() { |
| 226 | if (isFinishing()) { |
| 227 | // Don't trampoline if already exiting this activity. |
| 228 | return; |
| 229 | } |
| 230 | |
| 231 | if (SafetyCenterManagerWrapper.get().isEnabled(this)) { |
| 232 | try { |
| 233 | startActivity( |
| 234 | new Intent("com.android.settings.MORE_SECURITY_PRIVACY_SETTINGS")); |
| 235 | finish(); |
| 236 | } catch (ActivityNotFoundException e) { |
| 237 | Log.e(TAG, "Unable to open More Settings", e); |
| 238 | } |
| 239 | } |
| 240 | } |
| 241 | } |
Prabal Singh | 52ba133 | 2022-12-06 14:28:10 +0000 | [diff] [blame] | 242 | /** Activity for the More settings page. */ |
| 243 | public static class MoreSecurityPrivacySettingsActivity extends SettingsActivity { /* empty */ } |
Dianne Hackborn | b51253c | 2014-08-12 15:08:04 -0700 | [diff] [blame] | 244 | public static class UsageAccessSettingsActivity extends SettingsActivity { /* empty */ } |
Fan Zhang | 104ee2e | 2018-09-20 16:21:53 -0700 | [diff] [blame] | 245 | public static class AppUsageAccessSettingsActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 246 | public static class LocationSettingsActivity extends SettingsActivity { /* empty */ } |
Lifu Tang | f72f830 | 2018-04-12 10:01:29 -0700 | [diff] [blame] | 247 | public static class ScanningSettingsActivity extends SettingsActivity { /* empty */ } |
Weng Su | 9e6966d | 2021-10-13 23:08:50 +0800 | [diff] [blame] | 248 | public static class WifiScanningSettingsActivity extends SettingsActivity { /* empty */ } |
Jan Tomljanovic | 4436b7f | 2021-12-10 15:09:31 +0000 | [diff] [blame] | 249 | /** Activity for the privacy dashboard. */ |
| 250 | public static class PrivacyDashboardActivity extends SettingsActivity { |
| 251 | |
| 252 | private static final String TAG = "PrivacyDashboardActivity"; |
| 253 | |
| 254 | @Override |
| 255 | protected void onCreate(Bundle savedState) { |
| 256 | super.onCreate(savedState); |
| 257 | handleSafetyCenterRedirection(); |
| 258 | } |
| 259 | |
| 260 | /** Redirects to SafetyCenter if enabled. */ |
| 261 | @VisibleForTesting |
| 262 | public void handleSafetyCenterRedirection() { |
Simon Wingrove | 4884157 | 2022-10-17 14:50:50 +0100 | [diff] [blame] | 263 | if (isFinishing()) { |
| 264 | // Don't trampoline if already exiting this activity. |
| 265 | return; |
| 266 | } |
| 267 | |
Jay Thomas Sullivan | ecc0a45 | 2022-05-05 20:56:43 +0000 | [diff] [blame] | 268 | if (ACTION_PRIVACY_SETTINGS.equals(getIntent().getAction()) |
| 269 | && SafetyCenterManagerWrapper.get().isEnabled(this)) { |
Jan Tomljanovic | 4436b7f | 2021-12-10 15:09:31 +0000 | [diff] [blame] | 270 | try { |
| 271 | startActivity(new Intent(Intent.ACTION_SAFETY_CENTER)); |
| 272 | finish(); |
| 273 | } catch (ActivityNotFoundException e) { |
| 274 | Log.e(TAG, "Unable to open safety center", e); |
| 275 | } |
| 276 | } |
| 277 | } |
| 278 | } |
Nate Myren | d1749cf | 2022-04-22 13:58:50 -0700 | [diff] [blame] | 279 | public static class PrivacyControlsActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 280 | public static class PrivacySettingsActivity extends SettingsActivity { /* empty */ } |
Mill Chen | 1e60790 | 2021-02-25 15:03:25 +0800 | [diff] [blame] | 281 | public static class FactoryResetActivity extends SettingsActivity { |
| 282 | @Override |
| 283 | protected void onCreate(Bundle savedState) { |
| 284 | setTheme(SetupWizardUtils.getTheme(this, getIntent())); |
Tsung-Mao Fang | d3cd751 | 2021-05-05 15:43:54 +0800 | [diff] [blame] | 285 | ThemeHelper.trySetDynamicColor(this); |
Mill Chen | 1e60790 | 2021-02-25 15:03:25 +0800 | [diff] [blame] | 286 | super.onCreate(savedState); |
| 287 | } |
| 288 | |
| 289 | @Override |
| 290 | protected boolean isToolbarEnabled() { |
| 291 | return false; |
| 292 | } |
| 293 | } |
| 294 | public static class FactoryResetConfirmActivity extends SettingsActivity { |
| 295 | @Override |
| 296 | protected void onCreate(Bundle savedState) { |
| 297 | setTheme(SetupWizardUtils.getTheme(this, getIntent())); |
Tsung-Mao Fang | d3cd751 | 2021-05-05 15:43:54 +0800 | [diff] [blame] | 298 | ThemeHelper.trySetDynamicColor(this); |
Mill Chen | 1e60790 | 2021-02-25 15:03:25 +0800 | [diff] [blame] | 299 | super.onCreate(savedState); |
| 300 | } |
| 301 | |
| 302 | @Override |
| 303 | protected boolean isToolbarEnabled() { |
| 304 | return false; |
| 305 | } |
| 306 | } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 307 | public static class RunningServicesActivity extends SettingsActivity { /* empty */ } |
John Spurlock | c7f8e8c | 2014-06-04 19:11:22 -0400 | [diff] [blame] | 308 | public static class BatterySaverSettingsActivity extends SettingsActivity { /* empty */ } |
Salvador Martinez | 3291704 | 2019-03-20 15:23:19 -0700 | [diff] [blame] | 309 | public static class BatterySaverScheduleSettingsActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 310 | public static class AccountSyncSettingsActivity extends SettingsActivity { /* empty */ } |
| 311 | public static class AccountSyncSettingsInAddAccountActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 312 | public static class DeviceAdminSettingsActivity extends SettingsActivity { /* empty */ } |
| 313 | public static class DataUsageSummaryActivity extends SettingsActivity { /* empty */ } |
Malcolm Chen | 52584e9 | 2017-06-20 11:14:27 -0700 | [diff] [blame] | 314 | public static class MobileDataUsageListActivity extends SettingsActivity { /* empty */ } |
Amin Shaikh | 3aa547b | 2017-01-06 18:31:41 -0800 | [diff] [blame] | 315 | public static class ConfigureWifiSettingsActivity extends SettingsActivity { /* empty */ } |
PauloftheWest | 7837b99 | 2014-06-24 07:42:27 -0700 | [diff] [blame] | 316 | public static class SavedAccessPointsSettingsActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 317 | public static class TextToSpeechSettingsActivity extends SettingsActivity { /* empty */ } |
| 318 | public static class AndroidBeamSettingsActivity extends SettingsActivity { /* empty */ } |
| 319 | public static class WifiDisplaySettingsActivity extends SettingsActivity { /* empty */ } |
| 320 | public static class DreamSettingsActivity extends SettingsActivity { /* empty */ } |
Lucas Silva | 3b1c739 | 2023-04-12 15:22:39 -0400 | [diff] [blame] | 321 | /** Activity to manage communal settings */ |
| 322 | public static class CommunalSettingsActivity extends SettingsActivity { |
| 323 | @Override |
| 324 | public void onCreate(Bundle savedInstanceState) { |
| 325 | super.onCreate(savedInstanceState); |
| 326 | if (!CommunalPreferenceController.isAvailable(this)) { |
| 327 | finish(); |
| 328 | } |
| 329 | } |
| 330 | } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 331 | public static class NotificationStationActivity extends SettingsActivity { /* empty */ } |
| 332 | public static class UserSettingsActivity extends SettingsActivity { /* empty */ } |
| 333 | public static class NotificationAccessSettingsActivity extends SettingsActivity { /* empty */ } |
Julia Reynolds | 31dc1fd | 2019-10-29 15:15:08 -0400 | [diff] [blame] | 334 | public static class NotificationAccessDetailsActivity extends SettingsActivity { /* empty */ } |
Ruben Brunk | c461d5c | 2016-04-07 21:45:41 -0700 | [diff] [blame] | 335 | public static class VrListenersSettingsActivity extends SettingsActivity { /* empty */ } |
Amber Ogata | 9d5de29 | 2020-12-16 20:37:22 +0000 | [diff] [blame] | 336 | public static class PremiumSmsAccessActivity extends SettingsActivity { /* empty */ } |
Winson Chung | 0a0d95a | 2017-01-20 11:22:44 -0800 | [diff] [blame] | 337 | public static class PictureInPictureSettingsActivity extends SettingsActivity { /* empty */ } |
Philip Junker | 8a97805 | 2022-03-14 18:08:46 +0000 | [diff] [blame] | 338 | public static class TurnScreenOnSettingsActivity extends SettingsActivity { /* empty */ } |
Philip Junker | ded7f45 | 2023-04-19 11:59:19 +0000 | [diff] [blame] | 339 | public static class AppTurnScreenOnSettingsActivity extends SettingsActivity { /* empty */ } |
Winson Chung | 217d0e9 | 2017-03-17 15:48:38 -0700 | [diff] [blame] | 340 | public static class AppPictureInPictureSettingsActivity extends SettingsActivity { /* empty */ } |
John Spurlock | 08531a8 | 2015-05-07 17:45:43 -0400 | [diff] [blame] | 341 | public static class ZenAccessSettingsActivity extends SettingsActivity { /* empty */ } |
Fan Zhang | e366f02 | 2019-03-19 13:08:10 -0700 | [diff] [blame] | 342 | public static class ZenAccessDetailSettingsActivity extends SettingsActivity {} |
John Spurlock | c9afadb | 2014-04-29 18:07:23 -0400 | [diff] [blame] | 343 | public static class ConditionProviderSettingsActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 344 | public static class UsbSettingsActivity extends SettingsActivity { /* empty */ } |
Jerry Zhang | d18d6f1 | 2018-01-11 16:47:14 -0800 | [diff] [blame] | 345 | public static class UsbDetailsActivity extends SettingsActivity { /* empty */ } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 346 | public static class TrustedCredentialsSettingsActivity extends SettingsActivity { /* empty */ } |
| 347 | public static class PaymentSettingsActivity extends SettingsActivity { /* empty */ } |
| 348 | public static class PrintSettingsActivity extends SettingsActivity { /* empty */ } |
| 349 | public static class PrintJobSettingsActivity extends SettingsActivity { /* empty */ } |
John Spurlock | 7243806 | 2014-02-27 18:01:20 -0500 | [diff] [blame] | 350 | public static class ZenModeSettingsActivity extends SettingsActivity { /* empty */ } |
Beverly | ad898e6 | 2017-09-25 14:14:31 -0400 | [diff] [blame] | 351 | public static class ZenModeBehaviorSettingsActivity extends SettingsActivity { /* empty */ } |
Julia Reynolds | d640a97 | 2018-03-02 15:51:14 -0500 | [diff] [blame] | 352 | public static class ZenModeBlockedEffectsSettingsActivity extends SettingsActivity { /* empty */ } |
John Spurlock | d8b3683 | 2015-04-03 15:11:33 -0400 | [diff] [blame] | 353 | public static class ZenModeAutomationSettingsActivity extends SettingsActivity { /* empty */ } |
John Spurlock | 45fa140 | 2015-04-09 12:50:04 -0400 | [diff] [blame] | 354 | public static class ZenModeScheduleRuleSettingsActivity extends SettingsActivity { /* empty */ } |
John Spurlock | f57bad7 | 2015-04-30 09:26:15 -0400 | [diff] [blame] | 355 | public static class ZenModeEventRuleSettingsActivity extends SettingsActivity { /* empty */ } |
Julia Reynolds | 8c0a423 | 2015-11-24 10:08:14 -0500 | [diff] [blame] | 356 | public static class SoundSettingsActivity extends SettingsActivity { /* empty */ } |
| 357 | public static class ConfigureNotificationSettingsActivity extends SettingsActivity { /* empty */ } |
Julia Reynolds | 6a88e14 | 2020-06-02 11:20:13 -0400 | [diff] [blame] | 358 | public static class ConversationListSettingsActivity extends SettingsActivity { /* empty */ } |
Julia Reynolds | 4e48da9 | 2019-03-26 09:04:22 -0400 | [diff] [blame] | 359 | public static class AppBubbleNotificationSettingsActivity extends SettingsActivity { /* empty */ } |
Fabian Kozynski | 01b2a63 | 2019-02-20 12:55:10 -0500 | [diff] [blame] | 360 | public static class NotificationAssistantSettingsActivity extends SettingsActivity{ /* empty */ } |
Julia Reynolds | ff9500d | 2018-03-21 15:23:13 -0400 | [diff] [blame] | 361 | public static class NotificationAppListActivity extends SettingsActivity { /* empty */ } |
“Ankita | a6ff897 | 2022-10-03 05:01:00 +0000 | [diff] [blame] | 362 | /** Activity to manage Cloned Apps page */ |
| 363 | public static class ClonedAppsListActivity extends SettingsActivity { /* empty */ } |
Graciela Wissen Putri | b4c4f6c | 2023-07-04 15:10:29 +0000 | [diff] [blame] | 364 | /** Activity to manage Aspect Ratio app list page */ |
| 365 | public static class UserAspectRatioAppListActivity extends SettingsActivity { /* empty */ } |
Yuri Lin | 554ab1f | 2022-04-12 17:05:49 -0400 | [diff] [blame] | 366 | public static class NotificationReviewPermissionsActivity extends SettingsActivity { /* empty */ } |
John Spurlock | 81bef1d7 | 2014-05-16 15:50:13 -0400 | [diff] [blame] | 367 | public static class AppNotificationSettingsActivity extends SettingsActivity { /* empty */ } |
Julia Reynolds | 6949288 | 2017-01-25 10:32:07 -0500 | [diff] [blame] | 368 | public static class ChannelNotificationSettingsActivity extends SettingsActivity { /* empty */ } |
Julia Reynolds | 0c3f4bc | 2017-08-25 09:40:24 -0400 | [diff] [blame] | 369 | public static class ChannelGroupNotificationSettingsActivity extends SettingsActivity { /* empty */ } |
Todd Kennedy | 2ef1aa5 | 2016-09-06 14:02:38 -0700 | [diff] [blame] | 370 | public static class ManageDomainUrlsActivity extends SettingsActivity { /* empty */ } |
Daniel Nishi | 3981889 | 2016-09-20 16:40:49 -0700 | [diff] [blame] | 371 | public static class AutomaticStorageManagerSettingsActivity extends SettingsActivity { /* empty */ } |
Daniel Nishi | c208eff | 2017-01-11 17:50:02 -0800 | [diff] [blame] | 372 | public static class GamesStorageActivity extends SettingsActivity { /* empty */ } |
Mehdi Alizadeh | 0355596 | 2019-12-13 15:31:53 -0800 | [diff] [blame] | 373 | public static class GestureNavigationSettingsActivity extends SettingsActivity { /* empty */ } |
Jernej Virag | 97ea279 | 2021-08-09 18:11:28 +0000 | [diff] [blame] | 374 | /** Activity to manage 2-/3-button navigation configuration. */ |
| 375 | public static class ButtonNavigationSettingsActivity extends SettingsActivity { /* empty */ } |
kholoud mohamed | 14a887f | 2020-01-29 17:38:31 +0000 | [diff] [blame] | 376 | public static class InteractAcrossProfilesSettingsActivity extends SettingsActivity { |
| 377 | /* empty */ |
| 378 | } |
| 379 | public static class AppInteractAcrossProfilesSettingsActivity extends SettingsActivity { |
| 380 | /* empty */ |
| 381 | } |
Fabrice Di Meglio | 263bcc8 | 2014-01-17 19:17:58 -0800 | [diff] [blame] | 382 | |
Fabrice Di Meglio | 61a1fec | 2014-08-13 16:22:38 -0700 | [diff] [blame] | 383 | public static class ApnSettingsActivity extends SettingsActivity { /* empty */ } |
Pavel Zhamaitsiak | 4ab3256 | 2015-02-23 15:34:07 -0800 | [diff] [blame] | 384 | public static class WifiCallingSettingsActivity extends SettingsActivity { /* empty */ } |
Jason Monk | 2acff55 | 2015-06-11 15:47:29 -0400 | [diff] [blame] | 385 | public static class MemorySettingsActivity extends SettingsActivity { /* empty */ } |
Muyuan Li | ba115af | 2016-03-25 15:46:12 -0700 | [diff] [blame] | 386 | public static class AppMemoryUsageActivity extends SettingsActivity { /* empty */ } |
Billy Lau | 7f70ba1 | 2015-07-03 17:01:18 +0100 | [diff] [blame] | 387 | public static class OverlaySettingsActivity extends SettingsActivity { /* empty */ } |
shafik | 430b94b | 2020-01-06 13:50:10 +0000 | [diff] [blame] | 388 | public static class ManageExternalStorageActivity extends SettingsActivity { /* empty */ } |
shafik | a54d7a8 | 2020-01-08 18:03:22 +0000 | [diff] [blame] | 389 | public static class AppManageExternalStorageActivity extends SettingsActivity { /* empty */ } |
Ivan Chiang | d01c81e | 2021-03-09 10:39:45 +0800 | [diff] [blame] | 390 | public static class MediaManagementAppsActivity extends SettingsActivity { /* empty */ } |
| 391 | public static class AppMediaManagementAppsActivity extends SettingsActivity { /* empty */ } |
Billy Lau | 7f70ba1 | 2015-07-03 17:01:18 +0100 | [diff] [blame] | 392 | public static class WriteSettingsActivity extends SettingsActivity { /* empty */ } |
xshu | 3f04897 | 2018-01-31 17:40:37 -0800 | [diff] [blame] | 393 | public static class ChangeWifiStateActivity extends SettingsActivity { /* empty */ } |
George | 2c5d1f8 | 2023-01-02 18:13:43 +0800 | [diff] [blame] | 394 | /** Activity to manage NFC Tag applications. */ |
| 395 | public static class ChangeNfcTagAppsActivity extends SettingsActivity { /* empty */ } |
Bernardo Rufino | 8854031 | 2019-11-25 19:40:53 +0000 | [diff] [blame] | 396 | public static class AppDrawOverlaySettingsActivity extends SettingsActivity { /* empty */ } |
Billy Lau | fee7856 | 2015-07-27 12:57:07 +0100 | [diff] [blame] | 397 | public static class AppWriteSettingsActivity extends SettingsActivity { /* empty */ } |
Tiffany Nguyen | 3acd34f | 2022-08-02 17:26:10 +0000 | [diff] [blame] | 398 | /** Activity to manage app battery usage details. */ |
| 399 | public static class AppBatteryUsageActivity extends SettingsActivity { /* empty */ } |
Jason Monk | 4da79e0 | 2015-09-10 10:54:36 -0400 | [diff] [blame] | 400 | |
Fan Zhang | 372789b | 2018-01-23 14:26:30 -0800 | [diff] [blame] | 401 | public static class ManageExternalSourcesActivity extends SettingsActivity {/* empty */ } |
Suprabh Shukla | f59d211 | 2017-03-06 17:51:05 -0800 | [diff] [blame] | 402 | public static class ManageAppExternalSourcesActivity extends SettingsActivity { /* empty */ } |
Vladislav Kaznacheev | 6e93bdd | 2016-03-09 14:24:45 -0800 | [diff] [blame] | 403 | public static class WallpaperSettingsActivity extends SettingsActivity { /* empty */ } |
Tony Mak | 64f6d98 | 2016-05-03 18:55:41 +0100 | [diff] [blame] | 404 | public static class ManagedProfileSettingsActivity extends SettingsActivity { /* empty */ } |
Daniel Nishi | 287d911 | 2016-05-03 18:00:49 -0700 | [diff] [blame] | 405 | public static class DeletionHelperActivity extends SettingsActivity { /* empty */ } |
Jason Monk | b9e5d23 | 2016-01-26 17:43:57 -0500 | [diff] [blame] | 406 | |
Suprabh Shukla | c8b9240 | 2021-02-17 18:00:35 -0800 | [diff] [blame] | 407 | /** Actviity to manage apps with {@link android.Manifest.permission#SCHEDULE_EXACT_ALARM} */ |
| 408 | public static class AlarmsAndRemindersActivity extends SettingsActivity {/* empty */ } |
| 409 | /** App specific version of {@link AlarmsAndRemindersActivity} */ |
| 410 | public static class AlarmsAndRemindersAppActivity extends SettingsActivity {/* empty */ } |
kholoud mohamed | 14a887f | 2020-01-29 17:38:31 +0000 | [diff] [blame] | 411 | |
Jason Monk | b7e4380 | 2016-06-06 16:01:58 -0400 | [diff] [blame] | 412 | public static class ApnEditorActivity extends SettingsActivity { /* empty */ } |
| 413 | public static class ChooseAccountActivity extends SettingsActivity { /* empty */ } |
| 414 | public static class IccLockSettingsActivity extends SettingsActivity { /* empty */ } |
Jason Monk | b7e4380 | 2016-06-06 16:01:58 -0400 | [diff] [blame] | 415 | public static class TestingSettingsActivity extends SettingsActivity { /* empty */ } |
| 416 | public static class WifiAPITestActivity extends SettingsActivity { /* empty */ } |
| 417 | public static class WifiInfoActivity extends SettingsActivity { /* empty */ } |
Bartosz Fabianowski | 92d25fb | 2017-03-24 18:04:31 +0100 | [diff] [blame] | 418 | public static class EnterprisePrivacySettingsActivity extends SettingsActivity { |
| 419 | @Override |
| 420 | public void onCreate(Bundle savedInstanceState) { |
| 421 | super.onCreate(savedInstanceState); |
Jason Parks | 9f424cd | 2020-11-17 13:31:59 -0600 | [diff] [blame] | 422 | if (FeatureFactory.getFactory(this) |
| 423 | .getEnterprisePrivacyFeatureProvider(this) |
| 424 | .showParentalControls()) { |
| 425 | finish(); |
| 426 | } else if (!EnterprisePrivacySettings.isPageEnabled(this)) { |
Bartosz Fabianowski | 92d25fb | 2017-03-24 18:04:31 +0100 | [diff] [blame] | 427 | finish(); |
| 428 | } |
| 429 | } |
| 430 | } |
Gustav Sennton | 5b59628 | 2017-02-03 16:19:02 +0000 | [diff] [blame] | 431 | public static class WebViewAppPickerActivity extends SettingsActivity { /* empty */ } |
hughchen | bd3e5de | 2018-03-23 16:14:13 +0800 | [diff] [blame] | 432 | public static class AdvancedConnectedDeviceActivity extends SettingsActivity { /* empty */ } |
Viesturs Zarins | 6cfc593 | 2022-09-15 16:17:47 +0000 | [diff] [blame] | 433 | public static class NfcSettingsActivity extends SettingsActivity { /* empty */ } |
jackqdyulei | 715408e | 2019-02-07 15:47:52 -0800 | [diff] [blame] | 434 | public static class BluetoothDeviceDetailActivity extends SettingsActivity { /* empty */ } |
Vania Januar | eb09f89 | 2022-12-30 13:24:29 +0000 | [diff] [blame] | 435 | public static class StylusUsiDetailsActivity extends SettingsActivity { /* empty */ } |
changbetty | a56e198 | 2022-03-29 01:14:05 +0000 | [diff] [blame] | 436 | public static class BluetoothBroadcastActivity extends SettingsActivity { /* empty */ } |
| 437 | public static class BluetoothFindBroadcastsActivity extends SettingsActivity { /* empty */ } |
manabu, shimoda | 9fae739 | 2017-11-08 11:32:31 +0900 | [diff] [blame] | 438 | public static class WifiCallingDisclaimerActivity extends SettingsActivity { /* empty */ } |
Antony Sargent | 94d9790 | 2019-03-26 09:50:22 -0700 | [diff] [blame] | 439 | public static class MobileNetworkListActivity extends SettingsActivity {} |
Fabian Kozynski | 83df54b | 2020-03-24 16:37:57 -0400 | [diff] [blame] | 440 | public static class PowerMenuSettingsActivity extends SettingsActivity {} |
Zoey Chen | 6978a90 | 2021-12-14 18:42:37 +0800 | [diff] [blame] | 441 | public static class MobileNetworkActivity extends SettingsActivity { |
| 442 | |
Bonian Chen | d10618d | 2022-05-30 19:06:10 +0800 | [diff] [blame] | 443 | public static final String TAG = "MobileNetworkActivity"; |
Zoey Chen | 6978a90 | 2021-12-14 18:42:37 +0800 | [diff] [blame] | 444 | public static final String EXTRA_MMS_MESSAGE = "mms_message"; |
| 445 | public static final String EXTRA_SHOW_CAPABILITY_DISCOVERY_OPT_IN = |
| 446 | "show_capability_discovery_opt_in"; |
| 447 | |
Bonian Chen | d10618d | 2022-05-30 19:06:10 +0800 | [diff] [blame] | 448 | private MobileNetworkIntentConverter mIntentConverter; |
| 449 | |
| 450 | /** |
| 451 | * Override of #onNewIntent() requires Activity to have "singleTop" launch mode within |
| 452 | * AndroidManifest.xml |
| 453 | */ |
Zoey Chen | 6978a90 | 2021-12-14 18:42:37 +0800 | [diff] [blame] | 454 | @Override |
Bonian Chen | d10618d | 2022-05-30 19:06:10 +0800 | [diff] [blame] | 455 | protected void onNewIntent(Intent intent) { |
| 456 | super.onNewIntent(intent); |
Zoey Chen | 6978a90 | 2021-12-14 18:42:37 +0800 | [diff] [blame] | 457 | |
Bonian Chen | d10618d | 2022-05-30 19:06:10 +0800 | [diff] [blame] | 458 | Log.d(TAG, "Starting onNewIntent"); |
Zoey Chen | 6978a90 | 2021-12-14 18:42:37 +0800 | [diff] [blame] | 459 | |
Bonian Chen | d10618d | 2022-05-30 19:06:10 +0800 | [diff] [blame] | 460 | createUiFromIntent(null /* savedState */, convertIntent(intent)); |
Zoey Chen | 6978a90 | 2021-12-14 18:42:37 +0800 | [diff] [blame] | 461 | } |
| 462 | |
Bonian Chen | d10618d | 2022-05-30 19:06:10 +0800 | [diff] [blame] | 463 | @Override |
| 464 | public Intent getIntent() { |
| 465 | return convertIntent(super.getIntent()); |
| 466 | } |
| 467 | |
| 468 | private Intent convertIntent(Intent copyFrom) { |
| 469 | if (mIntentConverter == null) { |
| 470 | mIntentConverter = new MobileNetworkIntentConverter(this); |
| 471 | } |
| 472 | Intent intent = mIntentConverter.apply(copyFrom); |
| 473 | return (intent == null) ? copyFrom : intent; |
Zoey Chen | 6978a90 | 2021-12-14 18:42:37 +0800 | [diff] [blame] | 474 | } |
| 475 | |
| 476 | public static boolean doesIntentContainOptInAction(Intent intent) { |
| 477 | String intentAction = (intent != null ? intent.getAction() : null); |
| 478 | return TextUtils.equals(intentAction, |
| 479 | ImsRcsManager.ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN); |
| 480 | } |
| 481 | } |
Zoey Chen | 989dd66 | 2021-11-19 21:22:21 +0800 | [diff] [blame] | 482 | |
Varun Shah | 4109caa | 2023-02-08 17:41:22 +0000 | [diff] [blame] | 483 | /** Actviity to manage apps with {@link android.Manifest.permission#RUN_USER_INITIATED_JOBS} */ |
Varun Shah | b33256a | 2022-10-30 18:33:52 +0000 | [diff] [blame] | 484 | public static class LongBackgroundTasksActivity extends SettingsActivity { /* empty */ } |
| 485 | /** App specific version of {@link LongBackgroundTasksActivity} */ |
| 486 | public static class LongBackgroundTasksAppActivity extends SettingsActivity { /* empty */ } |
| 487 | |
Paul Chang | 6ae4c4d | 2019-11-28 22:38:49 +0800 | [diff] [blame] | 488 | /** |
| 489 | * Activity for BugReportHandlerPicker. |
| 490 | */ |
| 491 | public static class BugReportHandlerPickerActivity extends SettingsActivity { /* empty */ } |
Jason Monk | b7e4380 | 2016-06-06 16:01:58 -0400 | [diff] [blame] | 492 | |
Fan Zhang | a96a2d8 | 2016-09-27 17:51:11 -0700 | [diff] [blame] | 493 | // Top level categories for new IA |
Fan Zhang | bb93dc0 | 2016-10-11 16:27:45 -0700 | [diff] [blame] | 494 | public static class NetworkDashboardActivity extends SettingsActivity {} |
Jerry Zhang | 40bd570 | 2018-02-23 14:43:58 -0800 | [diff] [blame] | 495 | public static class ConnectedDeviceDashboardActivity extends SettingsActivity {} |
jackqdyulei | 166102c | 2017-11-27 13:49:19 -0800 | [diff] [blame] | 496 | public static class PowerUsageSummaryActivity extends SettingsActivity { /* empty */ } |
Fan Zhang | bb6d260 | 2016-10-04 13:21:06 -0700 | [diff] [blame] | 497 | public static class StorageDashboardActivity extends SettingsActivity {} |
Fan Zhang | 881d579 | 2018-01-26 10:15:56 -0800 | [diff] [blame] | 498 | public static class AccountDashboardActivity extends SettingsActivity {} |
Fan Zhang | cc335d9 | 2016-09-29 14:37:14 -0700 | [diff] [blame] | 499 | public static class SystemDashboardActivity extends SettingsActivity {} |
Fan Zhang | a96a2d8 | 2016-09-27 17:51:11 -0700 | [diff] [blame] | 500 | |
Beth Thibodeau | 59cbd11 | 2020-06-09 23:38:41 -0400 | [diff] [blame] | 501 | /** |
| 502 | * Activity for MediaControlsSettings |
| 503 | */ |
| 504 | public static class MediaControlsSettingsActivity extends SettingsActivity {} |
| 505 | |
Yanting Yang | 92fce8e | 2020-12-17 23:26:49 +0800 | [diff] [blame] | 506 | /** |
| 507 | * Activity for AppDashboard. |
| 508 | */ |
| 509 | public static class AppDashboardActivity extends SettingsActivity {} |
Jun Ono | 89c2c5e | 2019-05-30 12:56:43 +0900 | [diff] [blame] | 510 | |
| 511 | public static class AdaptiveBrightnessActivity extends SettingsActivity { /* empty */ } |
Jason Chang | d1cf05c | 2021-10-21 16:12:15 +0800 | [diff] [blame] | 512 | |
| 513 | /** |
| 514 | * Activity for OneHandedSettings |
| 515 | */ |
| 516 | public static class OneHandedSettingsActivity extends SettingsActivity { /* empty */ } |
The Android Open Source Project | afc4ab2 | 2009-03-03 19:32:34 -0800 | [diff] [blame] | 517 | } |