diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index 22160d75741..50a52aa4d1f 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -208,7 +208,33 @@ public class Settings extends SettingsActivity { } } /** Activity for the Advanced security settings. */ - public static class SecurityAdvancedSettings extends SettingsActivity { /* empty */ } + public static class SecurityAdvancedSettings extends SettingsActivity { + private static final String TAG = "SecurityAdvancedActivity"; + @Override + protected void onCreate(Bundle savedState) { + super.onCreate(savedState); + handleMoreSettingsRedirection(); + } + + /** Redirects to More Settings if Safety center is enabled. */ + @VisibleForTesting + public void handleMoreSettingsRedirection() { + if (isFinishing()) { + // Don't trampoline if already exiting this activity. + return; + } + + if (SafetyCenterManagerWrapper.get().isEnabled(this)) { + try { + startActivity( + new Intent("com.android.settings.MORE_SECURITY_PRIVACY_SETTINGS")); + finish(); + } catch (ActivityNotFoundException e) { + Log.e(TAG, "Unable to open More Settings", e); + } + } + } + } /** Activity for the More settings page. */ public static class MoreSecurityPrivacySettingsActivity extends SettingsActivity { /* empty */ } public static class UsageAccessSettingsActivity extends SettingsActivity { /* empty */ }