From 42dc85a848285b021d03179131efe416e804cc6b Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Fri, 12 Sep 2014 10:43:35 -0400 Subject: [PATCH] Make lock task check if focused better Previously using mFocusedActivity, which doesn't seem to update until after touch (or something). This now uses StackSupervisor.getFocusedStack(), which seems to be working ok. Bug: 17469165 Change-Id: Id06a27addeac1576a71fbc0d8ade1bd87e97b0cb --- .../java/com/android/server/am/ActivityManagerService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 970d275ac15a3..9f1ce0b44501f 100755 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -8852,7 +8852,8 @@ public final class ActivityManagerService extends ActivityManagerNative task = mStackSupervisor.anyTaskForIdLocked(task.taskId); if (task != null) { if (!isSystemInitiated - && ((mFocusedActivity == null) || (task != mFocusedActivity.task))) { + && ((mStackSupervisor.getFocusedStack() == null) + || (task != mStackSupervisor.getFocusedStack().topTask()))) { throw new IllegalArgumentException("Invalid task, not in foreground"); } mStackSupervisor.setLockTaskModeLocked(task, !isSystemInitiated);