Loading services/core/java/com/android/server/am/ActivityManagerService.java +22 −14 Original line number Diff line number Diff line Loading @@ -2851,33 +2851,41 @@ public final class ActivityManagerService extends ActivityManagerNative @Override public void setFocusedStack(int stackId) { enforceCallingPermission(MANAGE_ACTIVITY_STACKS, "setFocusedStack()"); if (DEBUG_FOCUS) Slog.d(TAG_FOCUS, "setFocusedStack: stackId=" + stackId); synchronized (ActivityManagerService.this) { ActivityStack stack = mStackSupervisor.getStack(stackId); if (stack != null) { ActivityRecord r = stack.topRunningActivityLocked(); if (r != null) { setFocusedActivityLocked(r, "setFocusedStack"); final long callingId = Binder.clearCallingIdentity(); try { synchronized (this) { final ActivityStack stack = mStackSupervisor.getStack(stackId); if (stack == null) { return; } final ActivityRecord r = stack.topRunningActivityLocked(); if (setFocusedActivityLocked(r, "setFocusedStack")) { mStackSupervisor.resumeFocusedStackTopActivityLocked(); } } } finally { Binder.restoreCallingIdentity(callingId); } } @Override public void setFocusedTask(int taskId) { enforceCallingPermission(MANAGE_ACTIVITY_STACKS, "setFocusedTask()"); if (DEBUG_FOCUS) Slog.d(TAG_FOCUS, "setFocusedTask: taskId=" + taskId); long callingId = Binder.clearCallingIdentity(); final long callingId = Binder.clearCallingIdentity(); try { synchronized (ActivityManagerService.this) { TaskRecord task = mStackSupervisor.anyTaskForIdLocked(taskId); if (task != null) { synchronized (this) { final TaskRecord task = mStackSupervisor.anyTaskForIdLocked(taskId); if (task == null) { return; } final ActivityRecord r = task.topRunningActivityLocked(); if (setFocusedActivityLocked(r, "setFocusedTask")) { mStackSupervisor.resumeFocusedStackTopActivityLocked(); } } } } finally { Binder.restoreCallingIdentity(callingId); } Loading Loading
services/core/java/com/android/server/am/ActivityManagerService.java +22 −14 Original line number Diff line number Diff line Loading @@ -2851,33 +2851,41 @@ public final class ActivityManagerService extends ActivityManagerNative @Override public void setFocusedStack(int stackId) { enforceCallingPermission(MANAGE_ACTIVITY_STACKS, "setFocusedStack()"); if (DEBUG_FOCUS) Slog.d(TAG_FOCUS, "setFocusedStack: stackId=" + stackId); synchronized (ActivityManagerService.this) { ActivityStack stack = mStackSupervisor.getStack(stackId); if (stack != null) { ActivityRecord r = stack.topRunningActivityLocked(); if (r != null) { setFocusedActivityLocked(r, "setFocusedStack"); final long callingId = Binder.clearCallingIdentity(); try { synchronized (this) { final ActivityStack stack = mStackSupervisor.getStack(stackId); if (stack == null) { return; } final ActivityRecord r = stack.topRunningActivityLocked(); if (setFocusedActivityLocked(r, "setFocusedStack")) { mStackSupervisor.resumeFocusedStackTopActivityLocked(); } } } finally { Binder.restoreCallingIdentity(callingId); } } @Override public void setFocusedTask(int taskId) { enforceCallingPermission(MANAGE_ACTIVITY_STACKS, "setFocusedTask()"); if (DEBUG_FOCUS) Slog.d(TAG_FOCUS, "setFocusedTask: taskId=" + taskId); long callingId = Binder.clearCallingIdentity(); final long callingId = Binder.clearCallingIdentity(); try { synchronized (ActivityManagerService.this) { TaskRecord task = mStackSupervisor.anyTaskForIdLocked(taskId); if (task != null) { synchronized (this) { final TaskRecord task = mStackSupervisor.anyTaskForIdLocked(taskId); if (task == null) { return; } final ActivityRecord r = task.topRunningActivityLocked(); if (setFocusedActivityLocked(r, "setFocusedTask")) { mStackSupervisor.resumeFocusedStackTopActivityLocked(); } } } } finally { Binder.restoreCallingIdentity(callingId); } Loading