diff --git a/src/com/android/settings/ConfirmDeviceCredentialBaseActivity.java b/src/com/android/settings/ConfirmDeviceCredentialBaseActivity.java index d04014852d2..82e389d075b 100644 --- a/src/com/android/settings/ConfirmDeviceCredentialBaseActivity.java +++ b/src/com/android/settings/ConfirmDeviceCredentialBaseActivity.java @@ -129,6 +129,11 @@ public abstract class ConfirmDeviceCredentialBaseActivity extends SettingsActivi } } + @Override + public boolean isLaunchableInTaskModePinned() { + return true; + } + public void prepareEnterAnimation() { getFragment().prepareEnterAnimation(); } diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index 5c671206e98..80adec689a5 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -278,7 +278,7 @@ public class SettingsActivity extends SettingsDrawerActivity protected void onCreate(Bundle savedState) { super.onCreate(savedState); - if (isLockTaskModePinned() && !isSettingsRunOnTop()) { + if (isLockTaskModePinned() && !isSettingsRunOnTop() && !isLaunchableInTaskModePinned()) { Log.w(LOG_TAG, "Devices lock task mode pinned."); finish(); } @@ -946,6 +946,12 @@ public class SettingsActivity extends SettingsDrawerActivity return bitmap; } + /** + * @return whether or not the activity can be launched from other apps in the pinning screen. + */ + public boolean isLaunchableInTaskModePinned() { + return false; + } private boolean isLockTaskModePinned() { final ActivityManager activityManager =