diff --git a/src/com/android/settings/SetupRedactionInterstitial.java b/src/com/android/settings/SetupRedactionInterstitial.java index 90f6c21dab7..4747d84cf82 100644 --- a/src/com/android/settings/SetupRedactionInterstitial.java +++ b/src/com/android/settings/SetupRedactionInterstitial.java @@ -20,9 +20,12 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; +import android.os.Bundle; import com.android.settings.notification.RedactionInterstitial; +import com.google.android.setupcompat.util.WizardManagerHelper; + /** * Setup Wizard's version of RedactionInterstitial screen. It inherits the logic and basic structure * from RedactionInterstitial class, and should remain similar to that behaviorally. This class @@ -46,6 +49,15 @@ public class SetupRedactionInterstitial extends RedactionInterstitial { PackageManager.DONT_KILL_APP); } + @Override + protected void onCreate(Bundle savedInstance) { + // Only allow to start the activity from Setup Wizard. + if (!WizardManagerHelper.isAnySetupWizard(getIntent())) { + finish(); + } + super.onCreate(savedInstance); + } + @Override public Intent getIntent() { Intent modIntent = new Intent(super.getIntent()); diff --git a/src/com/android/settings/notification/RedactionInterstitial.java b/src/com/android/settings/notification/RedactionInterstitial.java index 14f99f38b3d..ac648a51e62 100644 --- a/src/com/android/settings/notification/RedactionInterstitial.java +++ b/src/com/android/settings/notification/RedactionInterstitial.java @@ -48,6 +48,7 @@ import com.android.settingslib.RestrictedLockUtilsInternal; import com.google.android.setupcompat.template.FooterBarMixin; import com.google.android.setupcompat.template.FooterButton; +import com.google.android.setupcompat.util.WizardManagerHelper; import com.google.android.setupdesign.GlifLayout; public class RedactionInterstitial extends SettingsActivity { @@ -144,7 +145,11 @@ public class RedactionInterstitial extends SettingsActivity { } private void onDoneButtonClicked(View view) { - SetupRedactionInterstitial.setEnabled(getContext(), false); + // If the activity starts by Setup Wizard, then skip disable component which avoids the + // framework force closing all activities on the same task when the system is busy. + if (!WizardManagerHelper.isAnySetupWizard(getIntent())) { + SetupRedactionInterstitial.setEnabled(getContext(), false); + } final RedactionInterstitial activity = (RedactionInterstitial) getActivity(); if (activity != null) { activity.setResult(RESULT_OK, null);