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
This commit is contained in:
Jason Monk
2014-09-12 10:43:35 -04:00
parent a9a550dd8e
commit 42dc85a848

View File

@@ -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);