diff options
| -rwxr-xr-x | services/core/java/com/android/server/am/ActivityManagerService.java | 1 | ||||
| -rw-r--r-- | services/core/java/com/android/server/am/LockToAppRequestDialog.java | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index b1d84f58ea59..174ec3826f81 100755 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -1819,6 +1819,7 @@ public final class ActivityManagerService extends ActivityManagerNative BatteryStats.HistoryItem.EVENT_USER_FOREGROUND_START, Integer.toString(msg.arg1), msg.arg1); mSystemServiceManager.switchUser(msg.arg1); + mLockToAppRequest.clearPrompt(); break; } case ENTER_ANIMATION_COMPLETE_MSG: { diff --git a/services/core/java/com/android/server/am/LockToAppRequestDialog.java b/services/core/java/com/android/server/am/LockToAppRequestDialog.java index 12dcf7eee57c..57732fa27b39 100644 --- a/services/core/java/com/android/server/am/LockToAppRequestDialog.java +++ b/services/core/java/com/android/server/am/LockToAppRequestDialog.java @@ -74,11 +74,15 @@ public class LockToAppRequestDialog implements OnClickListener { return 0; } - public void showLockTaskPrompt(TaskRecord task) { + public void clearPrompt() { if (mDialog != null) { mDialog.dismiss(); mDialog = null; } + } + + public void showLockTaskPrompt(TaskRecord task) { + clearPrompt(); mRequestedTask = task; final int unlockStringId = getLockString(task.userId); @@ -97,6 +101,8 @@ public class LockToAppRequestDialog implements OnClickListener { mDialog = builder.create(); mDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); + mDialog.getWindow().getAttributes().privateFlags |= + WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS; mDialog.show(); if (unlockStringId != 0) { |