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