From 3c1e53ddaacf6cf0372c792fdac5287d70a3da57 Mon Sep 17 00:00:00 2001 From: wilsonshih Date: Fri, 1 Nov 2019 18:47:05 +0800 Subject: [PATCH] Use setTaskOverlay to launch ConfirmDeviceCredentialActivity. WorkLockActivity is launched as a task overlay activity. If it needs to launch an activity on top of it, the activity should also be a task overlay. Bug: 142853039 Test: Follow the issue description Test: atest WmTests:ActivityOptionsTest Change-Id: If4cdc892f608df5337223f70333538e33ff593ca --- core/java/android/app/ActivityOptions.java | 4 ++-- .../com/android/systemui/keyguard/WorkLockActivity.java | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/core/java/android/app/ActivityOptions.java b/core/java/android/app/ActivityOptions.java index 67728840ada81..f91453ea08112 100644 --- a/core/java/android/app/ActivityOptions.java +++ b/core/java/android/app/ActivityOptions.java @@ -1301,8 +1301,8 @@ public class ActivityOptions { /** * Set's whether the activity launched with this option should be a task overlay. That is the - * activity will always be the top activity of the task. If {@param canResume} is true, then - * the task will also not be moved to the front of the stack. + * activity will always be the top activity of the task. + * @param canResume {@code false} if the task will also not be moved to the front of the stack. * @hide */ @TestApi diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivity.java b/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivity.java index b1df578c62df0..ca04633b316a2 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivity.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/WorkLockActivity.java @@ -175,7 +175,12 @@ public class WorkLockActivity extends Activity { credential.putExtra(EXTRA_FROM_WORK_LOCK_ACTIVITY, true); } - startActivityForResult(credential, REQUEST_CODE_CONFIRM_CREDENTIALS); + final ActivityOptions launchOptions = ActivityOptions.makeBasic(); + launchOptions.setLaunchTaskId(getTaskId()); + launchOptions.setTaskOverlay(true /* taskOverlay */, true /* canResume */); + + startActivityForResult(credential, REQUEST_CODE_CONFIRM_CREDENTIALS, + launchOptions.toBundle()); } @Override