diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index 3bfafbb19ae..00cf069ace6 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -235,7 +235,7 @@ public class SettingsActivity extends SettingsDrawerActivity super.onCreate(savedState); Log.d(LOG_TAG, "Starting onCreate"); - if (isLockTaskModePinned() && !isSettingsRunOnTop()) { + if (isLockTaskModePinned() && !isSettingsRunOnTop() && !isLaunchableInTaskModePinned()) { Log.w(LOG_TAG, "Devices lock task mode pinned."); finish(); } @@ -804,6 +804,13 @@ public class SettingsActivity extends SettingsDrawerActivity return mNextButton; } + /** + * @return whether or not the activity can be launched from other apps in the pinning screen. + */ + public boolean isLaunchableInTaskModePinned() { + return false; + } + @VisibleForTesting Bitmap getBitmapFromXmlResource(int drawableRes) { Drawable drawable = getResources().getDrawable(drawableRes, getTheme()); diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java index 1775394a944..2290fc0558d 100644 --- a/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java +++ b/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java @@ -139,6 +139,11 @@ public abstract class ConfirmDeviceCredentialBaseActivity extends SettingsActivi } } + @Override + public boolean isLaunchableInTaskModePinned() { + return true; + } + public void prepareEnterAnimation() { getFragment().prepareEnterAnimation(); }