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 19 import static android.provider.Settings.ACTION_PRIVACY_SETTINGS; 20 21 import android.annotation.FlaggedApi; 22 import android.app.Flags; 23 import android.content.ActivityNotFoundException; 24 import android.content.Intent; 25 import android.os.Bundle; 26 import android.telephony.ims.ImsRcsManager; 27 import android.text.TextUtils; 28 import android.util.Log; 29 30 import androidx.annotation.Nullable; 31 32 import com.android.internal.annotations.VisibleForTesting; 33 import com.android.settings.biometrics.face.FaceSettings; 34 import com.android.settings.communal.CommunalPreferenceController; 35 import com.android.settings.enterprise.EnterprisePrivacySettings; 36 import com.android.settings.network.MobileNetworkIntentConverter; 37 import com.android.settings.overlay.FeatureFactory; 38 import com.android.settings.safetycenter.SafetyCenterManagerWrapper; 39 import com.android.settings.security.SecuritySettingsFeatureProvider; 40 import com.android.settings.wifi.WifiUtils; 41 42 import com.google.android.setupdesign.util.ThemeHelper; 43 44 /** 45 * Top-level Settings activity 46 */ 47 public class Settings extends SettingsActivity { 48 49 /* 50 * Settings subclasses for launching independently. 51 */ 52 53 public static class MemtagPageActivity extends SettingsActivity { /* empty */} 54 public static class BluetoothSettingsActivity extends SettingsActivity { /* empty */ } 55 public static class BluetoothDashboardActivity extends SettingsActivity { /* empty */ } 56 public static class CreateShortcutActivity extends SettingsActivity { /* empty */ } 57 public static class FaceSettingsActivity extends SettingsActivity { /* empty */ } 58 /** Container for {@link FaceSettings} to use with a pre-defined task affinity. */ 59 public static class FaceSettingsInternalActivity extends SettingsActivity { /* empty */ } 60 public static class FingerprintSettingsActivity extends SettingsActivity { /* empty */ } 61 public static class FingerprintSettingsActivityV2 extends SettingsActivity { /* empty */ } 62 public static class CombinedBiometricSettingsActivity extends SettingsActivity { /* empty */ } 63 public static class CombinedBiometricProfileSettingsActivity extends SettingsActivity { /* empty */ } 64 public static class TetherSettingsActivity extends SettingsActivity { /* empty */ } 65 public static class WifiTetherSettingsActivity extends SettingsActivity { /* empty */ } 66 public static class PrivateSpaceBiometricSettingsActivity extends SettingsActivity { 67 /* empty */ 68 } 69 public static class VpnSettingsActivity extends SettingsActivity { /* empty */ } 70 /** Activity for Data saver settings. */ 71 public static class DataSaverSummaryActivity extends SettingsActivity { /* empty */ } 72 public static class DateTimeSettingsActivity extends SettingsActivity { /* empty */ } 73 public static class PrivateVolumeForgetActivity extends SettingsActivity { /* empty */ } 74 public static class PublicVolumeSettingsActivity extends SettingsActivity { /* empty */ } 75 public static class WifiSettingsActivity extends SettingsActivity { /* empty */ } 76 public static class NetworkProviderSettingsActivity extends SettingsActivity { /* empty */ } 77 public static class NetworkSelectActivity extends SettingsActivity { /* empty */ } 78 /** Activity for the Wi-Fi network details settings. */ 79 public static class WifiDetailsSettingsActivity extends SettingsActivity { 80 @Override createUiFromIntent(@ullable Bundle savedState, Intent intent)81 protected void createUiFromIntent(@Nullable Bundle savedState, Intent intent) { 82 Bundle bundle = intent.getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS); 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 } 91 public static class WifiP2pSettingsActivity extends SettingsActivity { /* empty */ } 92 public static class AvailableVirtualKeyboardActivity extends SettingsActivity { /* empty */ } 93 public static class KeyboardLayoutPickerActivity extends SettingsActivity { /* empty */ } 94 public static class PhysicalKeyboardActivity extends SettingsActivity { /* empty */ } 95 public static class PhysicalKeyboardLayoutPickerActivity extends SettingsActivity { 96 /* empty */ 97 } 98 public static class InputMethodAndSubtypeEnablerActivity extends SettingsActivity { /* empty */ } 99 public static class SpellCheckersSettingsActivity extends SettingsActivity { /* empty */ } 100 public static class LocalePickerActivity extends SettingsActivity { /* empty */ } 101 public static class LanguageSettingsActivity extends SettingsActivity { /* empty */ } 102 /** Activity for the regional preferences settings. */ 103 public static class RegionSettingsActivity extends SettingsActivity { /* empty */ } 104 public static class RegionalPreferencesActivity extends SettingsActivity { /* empty */ } 105 public static class TemperatureUnitSettingsActivity extends SettingsActivity { /* empty */ } 106 public static class FirstDayOfWeekSettingsActivity extends SettingsActivity { /* empty */ } 107 public static class MeasurementSystemSettingsActivity extends SettingsActivity { /* empty */ } 108 public static class NumberingSystemSettingsActivity extends SettingsActivity { /* empty */ } 109 public static class KeyboardSettingsActivity extends SettingsActivity { /* empty */ } 110 /** Activity for the navigation mode settings. */ 111 public static class NavigationModeSettingsActivity extends SettingsActivity { /* empty */ } 112 public static class UserDictionarySettingsActivity extends SettingsActivity { /* empty */ } 113 public static class DarkThemeSettingsActivity extends SettingsActivity { /* empty */ } 114 public static class DisplaySettingsActivity extends SettingsActivity { /* empty */ } 115 public static class NightDisplaySettingsActivity extends SettingsActivity { /* empty */ } 116 public static class NightDisplaySuggestionActivity extends NightDisplaySettingsActivity { /* empty */ } 117 public static class SmartAutoRotateSettingsActivity extends SettingsActivity { /* empty */ } 118 public static class MyDeviceInfoActivity extends SettingsActivity { /* empty */ } 119 public static class ModuleLicensesActivity extends SettingsActivity { /* empty */ } 120 public static class ApplicationSettingsActivity extends SettingsActivity { /* empty */ } 121 public static class ManageApplicationsActivity extends SettingsActivity { /* empty */ } 122 public static class AppStorageSettingsActivity extends SettingsActivity { /* empty */ } 123 public static class ManageAssistActivity extends SettingsActivity { /* empty */ } 124 public static class HighPowerApplicationsActivity extends SettingsActivity { /* empty */ } 125 public static class BackgroundCheckSummaryActivity extends SettingsActivity { /* empty */ } 126 public static class StorageUseActivity extends SettingsActivity { /* empty */ } 127 public static class DevelopmentSettingsActivity extends SettingsActivity { /* empty */ } 128 public static class AccessibilitySettingsActivity extends SettingsActivity { /* empty */ } 129 public static class AccessibilityDetailsSettingsActivity extends SettingsActivity { /* empty */ } 130 public static class AccessibilityEditShortcutsActivity extends SettingsActivity { /* empty */ } 131 public static class CaptioningSettingsActivity extends SettingsActivity { /* empty */ } 132 public static class AccessibilityInversionSettingsActivity extends SettingsActivity { /* empty */ } 133 public static class AccessibilityContrastSettingsActivity extends SettingsActivity { /* empty */ } 134 public static class AccessibilityDaltonizerSettingsActivity extends SettingsActivity { /* empty */ } 135 /** Activity for lockscreen settings. */ 136 public static class LockScreenSettingsActivity extends SettingsActivity { /* empty */ } 137 /** Activity for notifications on lockscreen settings. */ 138 public static class LockScreenNotificationsSettingsActivity 139 extends SettingsActivity { /* empty */ } 140 /** Activity for bluetooth pairing settings. */ 141 public static class BlueToothPairingActivity extends SettingsActivity { /* empty */ } 142 /** Activity for Reduce Bright Colors. */ 143 public static class ReduceBrightColorsSettingsActivity extends SettingsActivity { /* empty */ } 144 /** Activity for text reading settings. */ 145 public static class TextReadingSettingsActivity extends SettingsActivity { /* empty */ } 146 /** Activity for text color and motion settings. */ 147 public static class ColorAndMotionActivity extends SettingsActivity { /* empty */ } 148 /** Activity for color contrast settings. */ 149 public static class ColorContrastActivity extends SettingsActivity { /* empty */ } 150 /** Activity for the security dashboard. */ 151 public static class SecurityDashboardActivity extends SettingsActivity { 152 153 private static final String TAG = "SecurityDashboardActivity"; 154 155 @Override onCreate(Bundle savedState)156 protected void onCreate(Bundle savedState) { 157 super.onCreate(savedState); 158 handleSafetyCenterRedirection(); 159 } 160 161 /** Redirects to SafetyCenter if enabled. */ 162 @VisibleForTesting handleSafetyCenterRedirection()163 public void handleSafetyCenterRedirection() { 164 if (isFinishing()) { 165 // Don't trampoline if already exiting this activity. 166 return; 167 } 168 169 if (SafetyCenterManagerWrapper.get().isEnabled(this)) { 170 try { 171 startActivity(new Intent(Intent.ACTION_SAFETY_CENTER) 172 .setPackage(getPackageManager().getPermissionControllerPackageName())); 173 finish(); 174 } catch (ActivityNotFoundException e) { 175 Log.e(TAG, "Unable to open safety center", e); 176 } 177 } 178 } 179 180 /** Whether the given fragment is allowed. */ 181 @VisibleForTesting 182 @Override isValidFragment(String fragmentName)183 public boolean isValidFragment(String fragmentName) { 184 return super.isValidFragment(fragmentName) 185 || (fragmentName != null 186 && TextUtils.equals(fragmentName, getAlternativeFragmentName())); 187 } 188 189 @Override getInitialFragmentName(Intent intent)190 public String getInitialFragmentName(Intent intent) { 191 final String alternativeFragmentName = getAlternativeFragmentName(); 192 if (alternativeFragmentName != null) { 193 return alternativeFragmentName; 194 } 195 196 return super.getInitialFragmentName(intent); 197 } 198 getAlternativeFragmentName()199 private String getAlternativeFragmentName() { 200 String alternativeFragmentClassname = null; 201 final SecuritySettingsFeatureProvider securitySettingsFeatureProvider = 202 FeatureFactory.getFeatureFactory().getSecuritySettingsFeatureProvider(); 203 if (securitySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment()) { 204 alternativeFragmentClassname = securitySettingsFeatureProvider 205 .getAlternativeSecuritySettingsFragmentClassname(); 206 } 207 return alternativeFragmentClassname; 208 } 209 } 210 /** Activity for the Advanced security settings. */ 211 public static class SecurityAdvancedSettings extends SettingsActivity { 212 private static final String TAG = "SecurityAdvancedActivity"; 213 @Override onCreate(Bundle savedState)214 protected void onCreate(Bundle savedState) { 215 super.onCreate(savedState); 216 handleMoreSettingsRedirection(); 217 } 218 219 /** Redirects to More Settings if Safety center is enabled. */ 220 @VisibleForTesting handleMoreSettingsRedirection()221 public void handleMoreSettingsRedirection() { 222 if (isFinishing()) { 223 // Don't trampoline if already exiting this activity. 224 return; 225 } 226 227 if (SafetyCenterManagerWrapper.get().isEnabled(this)) { 228 try { 229 startActivity( 230 new Intent("com.android.settings.MORE_SECURITY_PRIVACY_SETTINGS")); 231 finish(); 232 } catch (ActivityNotFoundException e) { 233 Log.e(TAG, "Unable to open More Settings", e); 234 } 235 } 236 } 237 } 238 /** Activity for the More settings page. */ 239 public static class MoreSecurityPrivacySettingsActivity extends SettingsActivity { /* empty */ } 240 public static class UsageAccessSettingsActivity extends SettingsActivity { /* empty */ } 241 public static class AppUsageAccessSettingsActivity extends SettingsActivity { /* empty */ } 242 public static class LocationSettingsActivity extends SettingsActivity { /* empty */ } 243 public static class ScanningSettingsActivity extends SettingsActivity { /* empty */ } 244 public static class WifiScanningSettingsActivity extends SettingsActivity { /* empty */ } 245 /** Activity for the privacy dashboard. */ 246 public static class PrivacyDashboardActivity extends SettingsActivity { 247 248 private static final String TAG = "PrivacyDashboardActivity"; 249 250 @Override onCreate(Bundle savedState)251 protected void onCreate(Bundle savedState) { 252 super.onCreate(savedState); 253 handleSafetyCenterRedirection(); 254 } 255 256 /** Redirects to SafetyCenter if enabled. */ 257 @VisibleForTesting handleSafetyCenterRedirection()258 public void handleSafetyCenterRedirection() { 259 if (isFinishing()) { 260 // Don't trampoline if already exiting this activity. 261 return; 262 } 263 264 if (ACTION_PRIVACY_SETTINGS.equals(getIntent().getAction()) 265 && SafetyCenterManagerWrapper.get().isEnabled(this)) { 266 try { 267 startActivity(new Intent(Intent.ACTION_SAFETY_CENTER) 268 .setPackage(getPackageManager().getPermissionControllerPackageName())); 269 finish(); 270 } catch (ActivityNotFoundException e) { 271 Log.e(TAG, "Unable to open safety center", e); 272 } 273 } 274 } 275 } 276 public static class PrivacyControlsActivity extends SettingsActivity { /* empty */ } 277 public static class PrivacySettingsActivity extends SettingsActivity { /* empty */ } 278 public static class FactoryResetActivity extends SettingsActivity { 279 @Override onCreate(Bundle savedState)280 protected void onCreate(Bundle savedState) { 281 setTheme(SetupWizardUtils.getTheme(this, getIntent())); 282 ThemeHelper.trySetDynamicColor(this); 283 super.onCreate(savedState); 284 } 285 286 @Override isToolbarEnabled()287 protected boolean isToolbarEnabled() { 288 return false; 289 } 290 } 291 public static class FactoryResetConfirmActivity extends SettingsActivity { 292 @Override onCreate(Bundle savedState)293 protected void onCreate(Bundle savedState) { 294 setTheme(SetupWizardUtils.getTheme(this, getIntent())); 295 ThemeHelper.trySetDynamicColor(this); 296 super.onCreate(savedState); 297 } 298 299 @Override isToolbarEnabled()300 protected boolean isToolbarEnabled() { 301 return false; 302 } 303 } 304 public static class RunningServicesActivity extends SettingsActivity { /* empty */ } 305 public static class BatterySaverSettingsActivity extends SettingsActivity { /* empty */ } 306 public static class BatterySaverScheduleSettingsActivity extends SettingsActivity { /* empty */ } 307 public static class AccountSyncSettingsActivity extends SettingsActivity { /* empty */ } 308 public static class AccountSyncSettingsInAddAccountActivity extends SettingsActivity { /* empty */ } 309 public static class DeviceAdminSettingsActivity extends SettingsActivity { /* empty */ } 310 public static class DataUsageSummaryActivity extends SettingsActivity { /* empty */ } 311 public static class MobileDataUsageListActivity extends SettingsActivity { /* empty */ } 312 public static class ConfigureWifiSettingsActivity extends SettingsActivity { /* empty */ } 313 public static class SavedAccessPointsSettingsActivity extends SettingsActivity { /* empty */ } 314 public static class TextToSpeechSettingsActivity extends SettingsActivity { /* empty */ } 315 public static class WifiDisplaySettingsActivity extends SettingsActivity { /* empty */ } 316 public static class DreamSettingsActivity extends SettingsActivity { /* empty */ } 317 /** Activity to manage communal settings */ 318 public static class CommunalSettingsActivity extends SettingsActivity { 319 @Override onCreate(Bundle savedInstanceState)320 public void onCreate(Bundle savedInstanceState) { 321 super.onCreate(savedInstanceState); 322 if (!CommunalPreferenceController.isAvailable(this)) { 323 finish(); 324 } 325 } 326 } 327 public static class NotificationStationActivity extends SettingsActivity { /* empty */ } 328 public static class UserSettingsActivity extends SettingsActivity { /* empty */ } 329 public static class NotificationAccessSettingsActivity extends SettingsActivity { /* empty */ } 330 public static class NotificationAccessDetailsActivity extends SettingsActivity { /* empty */ } 331 public static class ManageAdaptiveNotificationsActivity extends SettingsActivity { /* empty */ } 332 public static class VrListenersSettingsActivity extends SettingsActivity { /* empty */ } 333 public static class PremiumSmsAccessActivity extends SettingsActivity { /* empty */ } 334 public static class PictureInPictureSettingsActivity extends SettingsActivity { /* empty */ } 335 public static class TurnScreenOnSettingsActivity extends SettingsActivity { /* empty */ } 336 public static class AppTurnScreenOnSettingsActivity extends SettingsActivity { /* empty */ } 337 public static class AppPictureInPictureSettingsActivity extends SettingsActivity { /* empty */ } 338 public static class ZenAccessSettingsActivity extends SettingsActivity { /* empty */ } 339 public static class ZenAccessDetailSettingsActivity extends SettingsActivity {} 340 public static class ConditionProviderSettingsActivity extends SettingsActivity { /* empty */ } 341 public static class UsbSettingsActivity extends SettingsActivity { /* empty */ } 342 public static class UsbDetailsActivity extends SettingsActivity { /* empty */ } 343 public static class TrustedCredentialsSettingsActivity extends SettingsActivity { /* empty */ } 344 public static class PaymentSettingsActivity extends SettingsActivity { /* empty */ } 345 public static class PrintSettingsActivity extends SettingsActivity { /* empty */ } 346 public static class PrintJobSettingsActivity extends SettingsActivity { /* empty */ } 347 public static class ZenModeSettingsActivity extends SettingsActivity { /* empty */ } 348 public static class ZenModeAutomationSettingsActivity extends SettingsActivity { /* empty */ } 349 public static class ZenModeScheduleRuleSettingsActivity extends SettingsActivity { /* empty */ } 350 public static class ZenModeEventRuleSettingsActivity extends SettingsActivity { /* empty */ } 351 @FlaggedApi(Flags.FLAG_MODES_UI) 352 public static class ModeSettingsActivity extends SettingsActivity { /* empty */ } 353 @FlaggedApi(Flags.FLAG_MODES_UI) 354 public static class ModesSettingsActivity extends SettingsActivity { /* empty */ } 355 public static class SoundSettingsActivity extends SettingsActivity { /* empty */ } 356 public static class ConfigureNotificationSettingsActivity extends SettingsActivity { /* empty */ } 357 public static class ConversationListSettingsActivity extends SettingsActivity { /* empty */ } 358 public static class AppBubbleNotificationSettingsActivity extends SettingsActivity { /* empty */ } 359 public static class NotificationAssistantSettingsActivity extends SettingsActivity{ /* empty */ } 360 public static class NotificationAppListActivity extends SettingsActivity { /* empty */ } 361 public static class NotificationExcludeSummarizationActivity extends SettingsActivity { /* empty */ } 362 public static class NotificationExcludeClassificationActivity extends SettingsActivity { /* empty */ } 363 /** Activity to manage Cloned Apps page */ 364 public static class ClonedAppsListActivity extends SettingsActivity { /* empty */ } 365 /** Activity to manage Aspect Ratio app list page */ 366 public static class UserAspectRatioAppListActivity extends SettingsActivity { /* empty */ } 367 /** Activity to manage Aspect Ratio app page */ 368 public static class UserAspectRatioAppActivity extends SettingsActivity { /* empty */ } 369 public static class NotificationReviewPermissionsActivity extends SettingsActivity { /* empty */ } 370 public static class AppNotificationSettingsActivity extends SettingsActivity { /* empty */ } 371 public static class ChannelNotificationSettingsActivity extends SettingsActivity { /* empty */ } 372 public static class ChannelGroupNotificationSettingsActivity extends SettingsActivity { /* empty */ } 373 public static class ManageDomainUrlsActivity extends SettingsActivity { /* empty */ } 374 public static class AutomaticStorageManagerSettingsActivity extends SettingsActivity { /* empty */ } 375 public static class GamesStorageActivity extends SettingsActivity { /* empty */ } 376 public static class GestureNavigationSettingsActivity extends SettingsActivity { /* empty */ } 377 /** Activity to manage 2-/3-button navigation configuration. */ 378 public static class ButtonNavigationSettingsActivity extends SettingsActivity { /* empty */ } 379 public static class InteractAcrossProfilesSettingsActivity extends SettingsActivity { 380 /* empty */ 381 } 382 public static class AppInteractAcrossProfilesSettingsActivity extends SettingsActivity { 383 /* empty */ 384 } 385 386 public static class CellularSecuritySettingsActivity extends SettingsActivity { /* empty */ } 387 public static class SatelliteSettingActivity extends SettingsActivity { /* empty */ } 388 public static class ApnSettingsActivity extends SettingsActivity { /* empty */ } 389 public static class WifiCallingSettingsActivity extends SettingsActivity { /* empty */ } 390 public static class MemorySettingsActivity extends SettingsActivity { /* empty */ } 391 public static class AppMemoryUsageActivity extends SettingsActivity { /* empty */ } 392 public static class OverlaySettingsActivity extends SettingsActivity { /* empty */ } 393 public static class ManageExternalStorageActivity extends SettingsActivity { /* empty */ } 394 public static class AppManageExternalStorageActivity extends SettingsActivity { /* empty */ } 395 public static class MediaManagementAppsActivity extends SettingsActivity { /* empty */ } 396 public static class AppMediaManagementAppsActivity extends SettingsActivity { /* empty */ } 397 public static class WriteSettingsActivity extends SettingsActivity { /* empty */ } 398 public static class ChangeWifiStateActivity extends SettingsActivity { /* empty */ } 399 /** Activity to manage NFC Tag applications. */ 400 public static class ChangeNfcTagAppsActivity extends SettingsActivity { /* empty */ } 401 public static class AppDrawOverlaySettingsActivity extends SettingsActivity { /* empty */ } 402 public static class AppWriteSettingsActivity extends SettingsActivity { /* empty */ } 403 /** Activity to manage app battery usage details. */ 404 public static class AppBatteryUsageActivity extends SettingsActivity { /* empty */ } 405 406 public static class ManageExternalSourcesActivity extends SettingsActivity {/* empty */ } 407 public static class ManageAppExternalSourcesActivity extends SettingsActivity { /* empty */ } 408 public static class WallpaperSettingsActivity extends SettingsActivity { /* empty */ } 409 public static class ManagedProfileSettingsActivity extends SettingsActivity { /* empty */ } 410 public static class DeletionHelperActivity extends SettingsActivity { /* empty */ } 411 412 /** Actviity to manage apps with {@link android.Manifest.permission#SCHEDULE_EXACT_ALARM} */ 413 public static class AlarmsAndRemindersActivity extends SettingsActivity {/* empty */ } 414 /** App specific version of {@link AlarmsAndRemindersActivity} */ 415 public static class AlarmsAndRemindersAppActivity extends SettingsActivity {/* empty */ } 416 417 public static class ApnEditorActivity extends SettingsActivity { /* empty */ } 418 public static class ChooseAccountActivity extends SettingsActivity { /* empty */ } 419 public static class IccLockSettingsActivity extends SettingsActivity { /* empty */ } 420 public static class TestingSettingsActivity extends SettingsActivity { /* empty */ } 421 public static class WifiAPITestActivity extends SettingsActivity { /* empty */ } 422 public static class WifiInfoActivity extends SettingsActivity { /* empty */ } 423 public static class EnterprisePrivacySettingsActivity extends SettingsActivity { 424 @Override onCreate(Bundle savedInstanceState)425 public void onCreate(Bundle savedInstanceState) { 426 super.onCreate(savedInstanceState); 427 if (FeatureFactory.getFeatureFactory().getEnterprisePrivacyFeatureProvider() 428 .showParentalControls()) { 429 finish(); 430 } else if (!EnterprisePrivacySettings.isPageEnabled(this)) { 431 finish(); 432 } 433 } 434 } 435 public static class WebViewAppPickerActivity extends SettingsActivity { /* empty */ } 436 public static class AdvancedConnectedDeviceActivity extends SettingsActivity { /* empty */ } 437 public static class NfcSettingsActivity extends SettingsActivity { /* empty */ } 438 public static class BluetoothDeviceDetailActivity extends SettingsActivity { /* empty */ } 439 public static class StylusUsiDetailsActivity extends SettingsActivity { /* empty */ } 440 public static class BluetoothBroadcastActivity extends SettingsActivity { /* empty */ } 441 public static class BluetoothFindBroadcastsActivity extends SettingsActivity { /* empty */ } 442 public static class WifiCallingDisclaimerActivity extends SettingsActivity { /* empty */ } 443 public static class MobileNetworkListActivity extends SettingsActivity {} 444 public static class PowerMenuSettingsActivity extends SettingsActivity {} 445 public static class MobileNetworkActivity extends SettingsActivity { 446 447 public static final String TAG = "MobileNetworkActivity"; 448 public static final String EXTRA_MMS_MESSAGE = "mms_message"; 449 public static final String EXTRA_SHOW_CAPABILITY_DISCOVERY_OPT_IN = 450 "show_capability_discovery_opt_in"; 451 452 private MobileNetworkIntentConverter mIntentConverter; 453 454 /** 455 * Override of #onNewIntent() requires Activity to have "singleTop" launch mode within 456 * AndroidManifest.xml 457 */ 458 @Override onNewIntent(Intent intent)459 protected void onNewIntent(Intent intent) { 460 super.onNewIntent(intent); 461 462 Log.d(TAG, "Starting onNewIntent"); 463 setIntent(intent); 464 createUiFromIntent(null /* savedState */, convertIntent(intent)); 465 } 466 467 @Override getIntent()468 public Intent getIntent() { 469 return convertIntent(super.getIntent()); 470 } 471 convertIntent(Intent copyFrom)472 private Intent convertIntent(Intent copyFrom) { 473 if (mIntentConverter == null) { 474 mIntentConverter = new MobileNetworkIntentConverter(this); 475 } 476 Intent intent = mIntentConverter.apply(copyFrom); 477 return (intent == null) ? copyFrom : intent; 478 } 479 doesIntentContainOptInAction(Intent intent)480 public static boolean doesIntentContainOptInAction(Intent intent) { 481 String intentAction = (intent != null ? intent.getAction() : null); 482 return TextUtils.equals(intentAction, 483 ImsRcsManager.ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN); 484 } 485 } 486 487 /** Actviity to manage apps with {@link android.Manifest.permission#RUN_USER_INITIATED_JOBS} */ 488 public static class LongBackgroundTasksActivity extends SettingsActivity { /* empty */ } 489 /** App specific version of {@link LongBackgroundTasksActivity} */ 490 public static class LongBackgroundTasksAppActivity extends SettingsActivity { /* empty */ } 491 492 /** 493 * Activity for BugReportHandlerPicker. 494 */ 495 public static class BugReportHandlerPickerActivity extends SettingsActivity { /* empty */ } 496 497 // Top level categories for new IA 498 public static class NetworkDashboardActivity extends SettingsActivity {} 499 public static class ConnectedDeviceDashboardActivity extends SettingsActivity {} 500 public static class PowerUsageSummaryActivity extends SettingsActivity { /* empty */ } 501 public static class PowerUsageAdvancedActivity extends SettingsActivity { /* empty */ } 502 public static class StorageDashboardActivity extends SettingsActivity {} 503 public static class AccountDashboardActivity extends SettingsActivity {} 504 public static class SystemDashboardActivity extends SettingsActivity {} 505 506 /** 507 * Activity for MediaControlsSettings 508 */ 509 public static class MediaControlsSettingsActivity extends SettingsActivity {} 510 511 /** 512 * Activity for AppDashboard. 513 */ 514 public static class AppDashboardActivity extends SettingsActivity {} 515 516 public static class AdaptiveBrightnessActivity extends SettingsActivity { /* empty */ } 517 518 /** 519 * Activity for OneHandedSettings 520 */ 521 public static class OneHandedSettingsActivity extends SettingsActivity { /* empty */ } 522 523 /** 524 * Activity for Double Tap Power Settings 525 */ 526 public static class DoubleTapPowerSettingsActivity extends SettingsActivity { /* empty */ } 527 528 public static class PreviouslyConnectedDeviceActivity extends SettingsActivity { /* empty */ } 529 530 public static class ScreenTimeoutActivity extends SettingsActivity { /* empty */ } 531 532 /** Activity for the Reset mobile network settings. */ 533 public static class ResetMobileNetworkSettingsActivity extends SettingsActivity { /* empty */ } 534 535 public static class HearingDevicesActivity extends SettingsActivity { /* empty */ } 536 public static class HearingDevicesPairingActivity extends SettingsActivity { /* empty */ } 537 public static class ContactsStorageSettingsActivity extends SettingsActivity { /* empty */ } 538 public static class ContentProtectionSettingsActivity extends SettingsActivity { /* empty */ } 539 public static class MagnificationActivity extends SettingsActivity { /* empty */ } 540 public static class FlashNotificationsActivity extends SettingsActivity { /* empty */ } 541 } 542