Rename getFocusedStack methods
Rename ActivityStackSupervisor#getFocusedStack() and related to
getTopDisplayFocusedStack() to reflect the current logic executed in
it.
Bug: 111541062
Test: atest com.android.server.am
Change-Id: Ib03abd576ef8283d6df7732a8eebfb745573f2a9
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index bf9132f..e1ebbec 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -13231,7 +13231,8 @@
}
if (dumpAll) {
if (dumpPackage == null) {
- pw.println(" mConfigWillChange: " + mActivityTaskManager.getFocusedStack().mConfigWillChange);
+ pw.println(" mConfigWillChange: "
+ + mActivityTaskManager.getTopDisplayFocusedStack().mConfigWillChange);
}
if (mCompatModePackages.getPackages().size() > 0) {
boolean printed = false;
@@ -13602,7 +13603,7 @@
if (dumpPackage == null) {
mUserController.writeToProto(proto, ActivityManagerServiceDumpProcessesProto.USER_CONTROLLER);
getGlobalConfiguration().writeToProto(proto, ActivityManagerServiceDumpProcessesProto.GLOBAL_CONFIGURATION);
- proto.write(ActivityManagerServiceDumpProcessesProto.CONFIG_WILL_CHANGE, mActivityTaskManager.getFocusedStack().mConfigWillChange);
+ proto.write(ActivityManagerServiceDumpProcessesProto.CONFIG_WILL_CHANGE, mActivityTaskManager.getTopDisplayFocusedStack().mConfigWillChange);
}
if (mActivityTaskManager.mHomeProcess != null && (dumpPackage == null
diff --git a/services/core/java/com/android/server/am/ActivityMetricsLogger.java b/services/core/java/com/android/server/am/ActivityMetricsLogger.java
index 62f8c72..d3e3af3 100644
--- a/services/core/java/com/android/server/am/ActivityMetricsLogger.java
+++ b/services/core/java/com/android/server/am/ActivityMetricsLogger.java
@@ -184,7 +184,7 @@
mLastLogTimeSecs = now;
mWindowState = WINDOW_STATE_INVALID;
- ActivityStack stack = mSupervisor.getFocusedStack();
+ ActivityStack stack = mSupervisor.getTopDisplayFocusedStack();
if (stack == null) {
return;
}
diff --git a/services/core/java/com/android/server/am/ActivityRecord.java b/services/core/java/com/android/server/am/ActivityRecord.java
index 427a48e..b17aada 100644
--- a/services/core/java/com/android/server/am/ActivityRecord.java
+++ b/services/core/java/com/android/server/am/ActivityRecord.java
@@ -2162,7 +2162,7 @@
// another activity to start or has stopped, then the key dispatching
// timeout should not be caused by this.
if (mStackSupervisor.mActivitiesWaitingForVisibleActivity.contains(this) || stopped) {
- final ActivityStack stack = mStackSupervisor.getFocusedStack();
+ final ActivityStack stack = mStackSupervisor.getTopDisplayFocusedStack();
// Try to use the one which is closest to top.
ActivityRecord r = stack.getResumedActivity();
if (r == null) {
diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java
index d9efb0f..d08784f 100644
--- a/services/core/java/com/android/server/am/ActivityStack.java
+++ b/services/core/java/com/android/server/am/ActivityStack.java
@@ -1615,7 +1615,7 @@
}
if (resumeNext) {
- final ActivityStack topStack = mStackSupervisor.getFocusedStack();
+ final ActivityStack topStack = mStackSupervisor.getTopDisplayFocusedStack();
if (!topStack.shouldSleepOrShutDownActivities()) {
mStackSupervisor.resumeFocusedStackTopActivityLocked(topStack, prev, null);
} else {
@@ -1894,7 +1894,7 @@
boolean aboveTop = top != null;
final boolean stackShouldBeVisible = shouldBeVisible(starting);
boolean behindFullscreenActivity = !stackShouldBeVisible;
- boolean resumeNextActivity = mStackSupervisor.isFocusedStack(this)
+ boolean resumeNextActivity = mStackSupervisor.isTopDisplayFocusedStack(this)
&& (isInStackLocked(starting) == null);
final boolean isTopNotPinnedStack =
isAttached() && getDisplay().isTopNotPinnedStack(this);
@@ -2446,7 +2446,7 @@
boolean lastResumedCanPip = false;
ActivityRecord lastResumed = null;
- final ActivityStack lastFocusedStack = mStackSupervisor.getLastStack();
+ final ActivityStack lastFocusedStack = mStackSupervisor.getTopDisplayLastFocusedStack();
if (lastFocusedStack != null && lastFocusedStack != this) {
// So, why aren't we using prev here??? See the param comment on the method. prev doesn't
// represent the last resumed activity. However, the last focus stack does if it isn't null.
@@ -2607,7 +2607,7 @@
mStackSupervisor.mNoAnimActivities.clear();
- ActivityStack lastStack = mStackSupervisor.getLastStack();
+ ActivityStack lastStack = mStackSupervisor.getTopDisplayLastFocusedStack();
if (next.attachedToProcess()) {
if (DEBUG_SWITCH) Slog.v(TAG_SWITCH, "Resume running: " + next
+ " stopped=" + next.stopped + " visible=" + next.visible);
@@ -2657,7 +2657,7 @@
// the screen based on the new activity order.
boolean notUpdated = true;
- if (mStackSupervisor.isFocusedStack(this)) {
+ if (mStackSupervisor.isTopDisplayFocusedStack(this)) {
// We have special rotation behavior when here is some active activity that
// requests specific orientation or Keyguard is locked. Make sure all activity
// visibilities are set correctly as well as the transition is updated if needed
@@ -2795,7 +2795,7 @@
// stack is not covering the entire screen or is on a secondary display (with no home
// stack).
return mStackSupervisor.resumeFocusedStackTopActivityLocked(
- mStackSupervisor.getFocusedStack(), prev, null);
+ mStackSupervisor.getTopDisplayFocusedStack(), prev, null);
}
// Let's just start up the Launcher...
@@ -3408,7 +3408,7 @@
}
private void adjustFocusedActivityStack(ActivityRecord r, String reason) {
- if (!mStackSupervisor.isFocusedStack(this) ||
+ if (!mStackSupervisor.isTopDisplayFocusedStack(this) ||
((mResumedActivity != r) && (mResumedActivity != null))) {
return;
}
@@ -3856,7 +3856,7 @@
r.setState(FINISHING, "finishCurrentActivityLocked");
final boolean finishingActivityInNonFocusedStack
- = r.getStack() != mStackSupervisor.getFocusedStack()
+ = r.getStack() != mStackSupervisor.getTopDisplayFocusedStack()
&& prevState == PAUSED && mode == FINISH_AFTER_VISIBLE;
if (mode == FINISH_IMMEDIATELY
@@ -4965,7 +4965,7 @@
*/
void getRunningTasks(List<TaskRecord> tasksOut, @ActivityType int ignoreActivityType,
@WindowingMode int ignoreWindowingMode, int callingUid, boolean allowed) {
- boolean focusedStack = mStackSupervisor.getFocusedStack() == this;
+ boolean focusedStack = mStackSupervisor.getTopDisplayFocusedStack() == this;
boolean topTask = true;
for (int taskNdx = mTaskHistory.size() - 1; taskNdx >= 0; --taskNdx) {
final TaskRecord task = mTaskHistory.get(taskNdx);
@@ -5172,7 +5172,7 @@
// We only need to adjust focused stack if this stack is in focus and we are not in the
// process of moving the task to the top of the stack that will be focused.
if (isOnHomeDisplay() && mode != REMOVE_TASK_MODE_MOVING_TO_TOP
- && mStackSupervisor.isFocusedStack(this)) {
+ && mStackSupervisor.isTopDisplayFocusedStack(this)) {
String myReason = reason + " leftTaskHistoryEmpty";
if (!inMultiWindowMode() || !adjustFocusToNextFocusableStack(myReason)) {
mStackSupervisor.moveHomeStackToFront(myReason);
@@ -5376,7 +5376,7 @@
// Do not sleep activities in this stack if we're marked as focused and the keyguard
// is in the process of going away.
- if (mStackSupervisor.getFocusedStack() == this
+ if (mStackSupervisor.getTopDisplayFocusedStack() == this
&& mStackSupervisor.getKeyguardController().isKeyguardGoingAway()) {
return false;
}
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index fe594a8..acbdc5b 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -684,7 +684,7 @@
WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_HOME, ON_TOP);
}
- ActivityStack getFocusedStack() {
+ ActivityStack getTopDisplayFocusedStack() {
mWindowManager.getDisplaysInFocusOrder(mTmpOrderedDisplayIds);
for (int i = mTmpOrderedDisplayIds.size() - 1; i >= 0; --i) {
@@ -709,7 +709,7 @@
return null;
}
- final ActivityStack focusedStack = getFocusedStack();
+ final ActivityStack focusedStack = getTopDisplayFocusedStack();
if (focusedStack == null) {
return null;
}
@@ -745,12 +745,12 @@
return container.getWindowConfiguration().canReceiveKeys() || alwaysFocusable;
}
- ActivityStack getLastStack() {
+ ActivityStack getTopDisplayLastFocusedStack() {
return mLastFocusedStack;
}
- boolean isFocusedStack(ActivityStack stack) {
- return stack != null && stack == getFocusedStack();
+ boolean isTopDisplayFocusedStack(ActivityStack stack) {
+ return stack != null && stack == getTopDisplayFocusedStack();
}
/** NOTE: Should only be called from {@link ActivityStack#moveToFront} */
@@ -765,7 +765,7 @@
}
}
- final ActivityStack currentFocusedStack = getFocusedStack();
+ final ActivityStack currentFocusedStack = getTopDisplayFocusedStack();
if (currentFocusedStack != focusCandidate) {
mLastFocusedStack = currentFocusedStack;
// TODO(b/111541062): Update event log to include focus movements on all displays
@@ -1015,7 +1015,7 @@
final ActivityDisplay display = mActivityDisplays.valueAt(displayNdx);
for (int stackNdx = display.getChildCount() - 1; stackNdx >= 0; --stackNdx) {
final ActivityStack stack = display.getChildAt(stackNdx);
- if (!isFocusedStack(stack)) {
+ if (!isTopDisplayFocusedStack(stack)) {
continue;
}
stack.getAllRunningVisibleActivitiesLocked(mTmpActivityList);
@@ -1050,7 +1050,7 @@
final ActivityDisplay display = mActivityDisplays.valueAt(displayNdx);
for (int stackNdx = display.getChildCount() - 1; stackNdx >= 0; --stackNdx) {
final ActivityStack stack = display.getChildAt(stackNdx);
- if (!isFocusedStack(stack) || stack.numActivities() == 0) {
+ if (!isTopDisplayFocusedStack(stack) || stack.numActivities() == 0) {
continue;
}
final ActivityRecord resumedActivity = stack.getResumedActivity();
@@ -1071,7 +1071,7 @@
final ActivityDisplay display = mActivityDisplays.valueAt(displayNdx);
for (int stackNdx = display.getChildCount() - 1; stackNdx >= 0; --stackNdx) {
final ActivityStack stack = display.getChildAt(stackNdx);
- if (isFocusedStack(stack)) {
+ if (isTopDisplayFocusedStack(stack)) {
final ActivityRecord r = stack.getResumedActivity();
if (r != null && !r.isState(RESUMED)) {
return false;
@@ -1080,7 +1080,7 @@
}
}
// TODO: Not sure if this should check if all Paused are complete too.
- final ActivityStack focusedStack = getFocusedStack();
+ final ActivityStack focusedStack = getTopDisplayFocusedStack();
if (DEBUG_STACK) Slog.d(TAG_STACK,
"allResumedActivitiesComplete: mLastFocusedStack changing from="
+ mLastFocusedStack + " to=" + focusedStack);
@@ -1120,7 +1120,7 @@
final ActivityDisplay display = mActivityDisplays.valueAt(displayNdx);
for (int stackNdx = display.getChildCount() - 1; stackNdx >= 0; --stackNdx) {
final ActivityStack stack = display.getChildAt(stackNdx);
- if (!isFocusedStack(stack) && stack.getResumedActivity() != null) {
+ if (!isTopDisplayFocusedStack(stack) && stack.getResumedActivity() != null) {
if (DEBUG_STATES) Slog.d(TAG_STATES, "pauseBackStacks: stack=" + stack +
" mResumedActivity=" + stack.getResumedActivity());
someActivityPaused |= stack.startPausingLocked(userLeaving, false, resuming,
@@ -1268,7 +1268,7 @@
* @return The top running activity. {@code null} if none is available.
*/
ActivityRecord topRunningActivityLocked(boolean considerKeyguardState) {
- final ActivityStack focusedStack = getFocusedStack();
+ final ActivityStack focusedStack = getTopDisplayFocusedStack();
ActivityRecord r = focusedStack.topRunningActivityLocked();
if (r != null && isValidTopRunningActivity(r, considerKeyguardState)) {
return r;
@@ -1650,7 +1650,7 @@
// launching the initial activity (that is, home), so that it can have
// a chance to initialize itself while in the background, making the
// switch back to it faster and look better.
- if (isFocusedStack(stack)) {
+ if (isTopDisplayFocusedStack(stack)) {
mService.getActivityStartController().startSetupActivity();
}
@@ -2096,7 +2096,7 @@
r.idle = true;
//Slog.i(TAG, "IDLE: mBooted=" + mBooted + ", fromTimeout=" + fromTimeout);
- if (isFocusedStack(r.getStack()) || fromTimeout) {
+ if (isTopDisplayFocusedStack(r.getStack()) || fromTimeout) {
booting = checkFinishBootingLocked();
}
}
@@ -2244,7 +2244,7 @@
final ActivityDisplay display = mActivityDisplays.valueAt(displayNdx);
for (int stackNdx = display.getChildCount() - 1; stackNdx >= 0; --stackNdx) {
final ActivityStack stack = display.getChildAt(stackNdx);
- if (isFocusedStack(stack)) {
+ if (isTopDisplayFocusedStack(stack)) {
final ActivityRecord resumedActivity = stack.getResumedActivity();
if (resumedActivity != null) {
fgApp = resumedActivity.app;
@@ -2277,11 +2277,11 @@
return false;
}
- if (targetStack != null && isFocusedStack(targetStack)) {
+ if (targetStack != null && isTopDisplayFocusedStack(targetStack)) {
return targetStack.resumeTopActivityUncheckedLocked(target, targetOptions);
}
- final ActivityStack focusedStack = getFocusedStack();
+ final ActivityStack focusedStack = getTopDisplayFocusedStack();
final ActivityRecord r = focusedStack.topRunningActivityLocked();
if (r == null || !r.isState(RESUMED)) {
focusedStack.resumeTopActivityUncheckedLocked(null, null);
@@ -2311,7 +2311,7 @@
*/
TaskRecord finishTopCrashedActivitiesLocked(WindowProcessController app, String reason) {
TaskRecord finishedTask = null;
- ActivityStack focusedStack = getFocusedStack();
+ ActivityStack focusedStack = getTopDisplayFocusedStack();
for (int displayNdx = mActivityDisplays.size() - 1; displayNdx >= 0; --displayNdx) {
final ActivityDisplay display = mActivityDisplays.valueAt(displayNdx);
// It is possible that request to finish activity might also remove its task and stack,
@@ -3613,8 +3613,8 @@
stack.goToSleepIfPossible(false /* shuttingDown */);
} else {
stack.awakeFromSleepingLocked();
- if (isFocusedStack(stack) && !getKeyguardController().isKeyguardOrAodShowing(
- display.mDisplayId)) {
+ if (isTopDisplayFocusedStack(stack) && !getKeyguardController()
+ .isKeyguardOrAodShowing(display.mDisplayId)) {
// If the keyguard is unlocked - resume immediately.
// It is possible that the display will not be awake at the time we
// process the keyguard going away, which can happen before the sleep token
@@ -3693,7 +3693,7 @@
mStoppingActivities.remove(r);
final ActivityStack stack = r.getStack();
- if (isFocusedStack(stack)) {
+ if (isTopDisplayFocusedStack(stack)) {
mService.mAm.updateUsageStats(r, true);
}
if (allResumedActivitiesComplete()) {
@@ -3841,7 +3841,7 @@
}
boolean switchUserLocked(int userId, UserState uss) {
- final int focusStackId = getFocusedStack().getStackId();
+ final int focusStackId = getTopDisplayFocusedStack().getStackId();
// We dismiss the docked stack whenever we switch users.
final ActivityStack dockedStack = getDefaultDisplay().getSplitScreenPrimaryStack();
if (dockedStack != null) {
@@ -3967,7 +3967,7 @@
final ActivityStack stack = display.getChildAt(stackNdx);
final ActivityRecord r = stack.topRunningActivityLocked();
final ActivityState state = r == null ? DESTROYED : r.getState();
- if (isFocusedStack(stack)) {
+ if (isTopDisplayFocusedStack(stack)) {
if (r == null) Slog.e(TAG,
"validateTop...: null top activity, stack=" + stack);
else {
@@ -4001,7 +4001,7 @@
}
public void dump(PrintWriter pw, String prefix) {
- pw.print(prefix); pw.print("mFocusedStack=" + getFocusedStack());
+ pw.print(prefix); pw.print("mFocusedStack=" + getTopDisplayFocusedStack());
pw.print(" mLastFocusedStack="); pw.println(mLastFocusedStack);
pw.print(prefix);
pw.println("mCurTaskIdForUser=" + mCurTaskIdForUser);
@@ -4032,7 +4032,7 @@
}
getKeyguardController().writeToProto(proto, KEYGUARD_CONTROLLER);
// TODO(b/111541062): Update tests to look for resumed activities on all displays
- final ActivityStack focusedStack = getFocusedStack();
+ final ActivityStack focusedStack = getTopDisplayFocusedStack();
if (focusedStack != null) {
proto.write(FOCUSED_STACK_ID, focusedStack.mStackId);
final ActivityRecord focusedActivity = focusedStack.getDisplay().getResumedActivity();
@@ -4068,7 +4068,7 @@
ArrayList<ActivityRecord> getDumpActivitiesLocked(String name, boolean dumpVisibleStacksOnly,
boolean dumpFocusedStackOnly) {
if (dumpFocusedStackOnly) {
- return getFocusedStack().getDumpActivitiesLocked(name);
+ return getTopDisplayFocusedStack().getDumpActivitiesLocked(name);
} else {
ArrayList<ActivityRecord> activities = new ArrayList<>();
int numDisplays = mActivityDisplays.size();
@@ -4639,8 +4639,8 @@
void setDockedStackMinimized(boolean minimized) {
// Get currently focused stack before setting mIsDockMinimized. We do this because if
// split-screen is active, primary stack will not be focusable (see #isFocusable) while
- // still occluding other stacks. This will cause getFocusedStack() to return null.
- final ActivityStack current = getFocusedStack();
+ // still occluding other stacks. This will cause getTopDisplayFocusedStack() to return null.
+ final ActivityStack current = getTopDisplayFocusedStack();
mIsDockMinimized = minimized;
if (mIsDockMinimized) {
if (current.inSplitScreenPrimaryWindowingMode()) {
@@ -4906,7 +4906,7 @@
*/
List<IBinder> getTopVisibleActivities() {
final ArrayList<IBinder> topActivityTokens = new ArrayList<>();
- final ActivityStack topFocusedStack = getFocusedStack();
+ final ActivityStack topFocusedStack = getTopDisplayFocusedStack();
// Traverse all displays.
for (int i = mActivityDisplays.size() - 1; i >= 0; i--) {
final ActivityDisplay display = mActivityDisplays.valueAt(i);
diff --git a/services/core/java/com/android/server/am/ActivityStarter.java b/services/core/java/com/android/server/am/ActivityStarter.java
index a131e4a..0572ca9 100644
--- a/services/core/java/com/android/server/am/ActivityStarter.java
+++ b/services/core/java/com/android/server/am/ActivityStarter.java
@@ -802,7 +802,7 @@
null /*profilerInfo*/);
if (DEBUG_PERMISSIONS_REVIEW) {
- final ActivityStack focusedStack = mSupervisor.getFocusedStack();
+ final ActivityStack focusedStack = mSupervisor.getTopDisplayFocusedStack();
Slog.i(TAG, "START u" + userId + " {" + intent.toShortString(true, true,
true, false) + "} from uid " + callingUid + " on display "
+ (focusedStack == null ? DEFAULT_DISPLAY : focusedStack.mDisplayId));
@@ -839,7 +839,7 @@
r.appTimeTracker = sourceRecord.appTimeTracker;
}
- final ActivityStack stack = mSupervisor.getFocusedStack();
+ final ActivityStack stack = mSupervisor.getTopDisplayFocusedStack();
// If we are starting an activity that is not from the same uid as the currently resumed
// one, check whether app switches are allowed.
@@ -1013,7 +1013,7 @@
ActivityInfo aInfo = mSupervisor.resolveActivity(intent, rInfo, startFlags, profilerInfo);
synchronized (mService.mGlobalLock) {
- final ActivityStack stack = mSupervisor.getFocusedStack();
+ final ActivityStack stack = mSupervisor.getTopDisplayFocusedStack();
stack.mConfigWillChange = globalConfig != null
&& mService.getGlobalConfiguration().diff(globalConfig) != 0;
if (DEBUG_CONFIGURATION) Slog.v(TAG_CONFIGURATION,
@@ -1354,7 +1354,7 @@
// If the activity being launched is the same as the one currently at the top, then
// we need to check if it should only be launched once.
- final ActivityStack topStack = mSupervisor.getFocusedStack();
+ final ActivityStack topStack = mSupervisor.getTopDisplayFocusedStack();
final ActivityRecord topFocused = topStack.getTopActivity();
final ActivityRecord top = topStack.topRunningNonDelayedActivityLocked(mNotTop);
final boolean dontStart = top != null && mStartActivity.resultTo == null
@@ -1447,7 +1447,8 @@
// will not update the focused stack. If starting the new activity now allows the
// task stack to be focusable, then ensure that we now update the focused stack
// accordingly.
- if (mTargetStack.isFocusable() && !mSupervisor.isFocusedStack(mTargetStack)) {
+ if (mTargetStack.isFocusable()
+ && !mSupervisor.isTopDisplayFocusedStack(mTargetStack)) {
mTargetStack.moveToFront("startActivityUnchecked");
}
mSupervisor.resumeFocusedStackTopActivityLocked(mTargetStack, mStartActivity,
@@ -1609,8 +1610,8 @@
if ((startFlags & START_FLAG_ONLY_IF_NEEDED) != 0) {
ActivityRecord checkedCaller = sourceRecord;
if (checkedCaller == null) {
- checkedCaller = mSupervisor.getFocusedStack().topRunningNonDelayedActivityLocked(
- mNotTop);
+ checkedCaller = mSupervisor.getTopDisplayFocusedStack()
+ .topRunningNonDelayedActivityLocked(mNotTop);
}
if (!checkedCaller.realActivity.equals(r.realActivity)) {
// Caller is not the same as launcher, so always needed.
@@ -1843,7 +1844,7 @@
// except... well, with SINGLE_TASK_LAUNCH it's not entirely clear. We'd like to have
// the same behavior as if a new instance was being started, which means not bringing it
// to the front if the caller is not itself in the front.
- final ActivityStack focusStack = mSupervisor.getFocusedStack();
+ final ActivityStack focusStack = mSupervisor.getTopDisplayFocusedStack();
ActivityRecord curTop = (focusStack == null)
? null : focusStack.topRunningNonDelayedActivityLocked(mNotTop);
@@ -2304,7 +2305,7 @@
}
final ActivityStack currentStack = task != null ? task.getStack() : null;
- final ActivityStack focusedStack = mSupervisor.getFocusedStack();
+ final ActivityStack focusedStack = mSupervisor.getTopDisplayFocusedStack();
if (currentStack != null) {
if (focusedStack != currentStack) {
if (DEBUG_FOCUS || DEBUG_STACK) Slog.d(TAG_FOCUS,
@@ -2356,7 +2357,7 @@
/** Check if provided activity record can launch in currently focused stack. */
// TODO: This method can probably be consolidated into getLaunchStack() below.
private boolean canLaunchIntoFocusedStack(ActivityRecord r, boolean newTask) {
- final ActivityStack focusedStack = mSupervisor.getFocusedStack();
+ final ActivityStack focusedStack = mSupervisor.getTopDisplayFocusedStack();
final boolean canUseFocusedStack;
if (focusedStack.isActivityTypeAssistant()) {
canUseFocusedStack = r.isActivityTypeAssistant();
@@ -2406,7 +2407,7 @@
}
// Otherwise handle adjacent launch.
- final ActivityStack focusedStack = mSupervisor.getFocusedStack();
+ final ActivityStack focusedStack = mSupervisor.getTopDisplayFocusedStack();
// The parent activity doesn't want to launch the activity on top of itself, but
// instead tries to put it onto other side in side-by-side mode.
final ActivityStack parentStack = task != null ? task.getStack(): focusedStack;
diff --git a/services/core/java/com/android/server/am/ActivityTaskManagerService.java b/services/core/java/com/android/server/am/ActivityTaskManagerService.java
index 461aaaf..10e0182 100644
--- a/services/core/java/com/android/server/am/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityTaskManagerService.java
@@ -766,7 +766,7 @@
synchronized (mGlobalLock) {
// If this is coming from the currently resumed activity, it is
// effectively saying that app switches are allowed at this point.
- final ActivityStack stack = getFocusedStack();
+ final ActivityStack stack = getTopDisplayFocusedStack();
if (stack.mResumedActivity != null &&
stack.mResumedActivity.info.applicationInfo.uid == Binder.getCallingUid()) {
mAppSwitchesAllowedTime = 0;
@@ -1412,7 +1412,7 @@
public boolean isTopActivityImmersive() {
enforceNotIsolatedCaller("isTopActivityImmersive");
synchronized (mGlobalLock) {
- final ActivityRecord r = getFocusedStack().topRunningActivityLocked();
+ final ActivityRecord r = getTopDisplayFocusedStack().topRunningActivityLocked();
return (r != null) ? r.immersive : false;
}
}
@@ -1443,7 +1443,7 @@
enforceNotIsolatedCaller("getFrontActivityScreenCompatMode");
ApplicationInfo ai;
synchronized (mGlobalLock) {
- final ActivityRecord r = getFocusedStack().topRunningActivityLocked();
+ final ActivityRecord r = getTopDisplayFocusedStack().topRunningActivityLocked();
if (r == null) {
return ActivityManager.COMPAT_MODE_UNKNOWN;
}
@@ -1459,7 +1459,7 @@
"setFrontActivityScreenCompatMode");
ApplicationInfo ai;
synchronized (mGlobalLock) {
- final ActivityRecord r = getFocusedStack().topRunningActivityLocked();
+ final ActivityRecord r = getTopDisplayFocusedStack().topRunningActivityLocked();
if (r == null) {
Slog.w(TAG, "setFrontActivityScreenCompatMode failed: no top activity");
return;
@@ -1583,7 +1583,7 @@
long ident = Binder.clearCallingIdentity();
try {
synchronized (mGlobalLock) {
- ActivityStack focusedStack = getFocusedStack();
+ ActivityStack focusedStack = getTopDisplayFocusedStack();
if (focusedStack != null) {
return mStackSupervisor.getStackInfo(focusedStack.mStackId);
}
@@ -1828,7 +1828,7 @@
synchronized (mGlobalLock) {
final long origId = Binder.clearCallingIdentity();
try {
- getFocusedStack().unhandledBackLocked();
+ getTopDisplayFocusedStack().unhandledBackLocked();
} finally {
Binder.restoreCallingIdentity(origId);
}
@@ -2280,7 +2280,7 @@
return;
}
- final ActivityStack stack = mStackSupervisor.getFocusedStack();
+ final ActivityStack stack = mStackSupervisor.getTopDisplayFocusedStack();
if (stack == null || task != stack.topTask()) {
throw new IllegalArgumentException("Invalid task, not in foreground");
}
@@ -2948,7 +2948,7 @@
"enqueueAssistContext()");
synchronized (mGlobalLock) {
- ActivityRecord activity = getFocusedStack().getTopActivity();
+ ActivityRecord activity = getTopDisplayFocusedStack().getTopActivity();
if (activity == null) {
Slog.w(TAG, "getAssistContextExtras failed: no top activity");
return null;
@@ -3076,7 +3076,7 @@
public boolean isAssistDataAllowedOnCurrentActivity() {
int userId;
synchronized (mGlobalLock) {
- final ActivityStack focusedStack = getFocusedStack();
+ final ActivityStack focusedStack = getTopDisplayFocusedStack();
if (focusedStack == null || focusedStack.isActivityTypeAssistant()) {
return false;
}
@@ -3096,7 +3096,7 @@
try {
synchronized (mGlobalLock) {
ActivityRecord caller = ActivityRecord.forTokenLocked(token);
- ActivityRecord top = getFocusedStack().getTopActivity();
+ ActivityRecord top = getTopDisplayFocusedStack().getTopActivity();
if (top != caller) {
Slog.w(TAG, "showAssistFromActivity failed: caller " + caller
+ " is not current top " + top);
@@ -3314,7 +3314,7 @@
// Caller wants the current split-screen primary stack to be the top stack after
// it goes fullscreen, so move it to the front.
stack.moveToFront("dismissSplitScreenMode");
- } else if (mStackSupervisor.isFocusedStack(stack)) {
+ } else if (mStackSupervisor.isTopDisplayFocusedStack(stack)) {
// In this case the current split-screen primary stack shouldn't be the top
// stack after it goes fullscreen, but it current has focus, so we move the
// focus to the top-most split-screen secondary stack next to it.
@@ -3717,7 +3717,7 @@
public void startLocalVoiceInteraction(IBinder callingActivity, Bundle options) {
Slog.i(TAG, "Activity tried to startLocalVoiceInteraction");
synchronized (mGlobalLock) {
- ActivityRecord activity = getFocusedStack().getTopActivity();
+ ActivityRecord activity = getTopDisplayFocusedStack().getTopActivity();
if (ActivityRecord.forTokenLocked(callingActivity) != activity) {
throw new SecurityException("Only focused activity can call startVoiceInteraction");
}
@@ -4130,8 +4130,8 @@
});
}
- ActivityStack getFocusedStack() {
- return mStackSupervisor.getFocusedStack();
+ ActivityStack getTopDisplayFocusedStack() {
+ return mStackSupervisor.getTopDisplayFocusedStack();
}
/** Pokes the task persister. */
@@ -4769,7 +4769,7 @@
/** Applies latest configuration and/or visibility updates if needed. */
private boolean ensureConfigAndVisibilityAfterUpdate(ActivityRecord starting, int changes) {
boolean kept = true;
- final ActivityStack mainStack = mStackSupervisor.getFocusedStack();
+ final ActivityStack mainStack = mStackSupervisor.getTopDisplayFocusedStack();
// mainStack is null during startup.
if (mainStack != null) {
if (changes != 0 && starting == null) {
diff --git a/services/core/java/com/android/server/am/CompatModePackages.java b/services/core/java/com/android/server/am/CompatModePackages.java
index 38254b8..77efbfc 100644
--- a/services/core/java/com/android/server/am/CompatModePackages.java
+++ b/services/core/java/com/android/server/am/CompatModePackages.java
@@ -317,7 +317,7 @@
scheduleWrite();
- final ActivityStack stack = mService.mActivityTaskManager.getFocusedStack();
+ final ActivityStack stack = mService.mActivityTaskManager.getTopDisplayFocusedStack();
ActivityRecord starting = stack.restartPackage(packageName);
// Tell all processes that loaded this package about the change.
diff --git a/services/core/java/com/android/server/am/KeyguardController.java b/services/core/java/com/android/server/am/KeyguardController.java
index 9bfb56f..e345b4d 100644
--- a/services/core/java/com/android/server/am/KeyguardController.java
+++ b/services/core/java/com/android/server/am/KeyguardController.java
@@ -272,7 +272,7 @@
// Only the top activity of the focused stack on the default display may control
// occluded state.
if (display.mDisplayId == DEFAULT_DISPLAY
- && mStackSupervisor.isFocusedStack(stack)) {
+ && mStackSupervisor.isTopDisplayFocusedStack(stack)) {
// A dismissing activity occludes Keyguard in the insecure case for legacy
// reasons.
diff --git a/services/core/java/com/android/server/am/TaskRecord.java b/services/core/java/com/android/server/am/TaskRecord.java
index 05869bb..11684af 100644
--- a/services/core/java/com/android/server/am/TaskRecord.java
+++ b/services/core/java/com/android/server/am/TaskRecord.java
@@ -657,7 +657,7 @@
boolean kept = true;
try {
final ActivityRecord r = topRunningActivityLocked();
- final boolean wasFocused = r != null && supervisor.isFocusedStack(sourceStack)
+ final boolean wasFocused = r != null && supervisor.isTopDisplayFocusedStack(sourceStack)
&& (topRunningActivityLocked() == r);
final boolean wasResumed = r != null && sourceStack.getResumedActivity() == r;
final boolean wasPaused = r != null && sourceStack.mPausingActivity == r;
diff --git a/services/tests/servicestests/src/com/android/server/am/ActivityTestsBase.java b/services/tests/servicestests/src/com/android/server/am/ActivityTestsBase.java
index 6fadb91..2faff6f 100644
--- a/services/tests/servicestests/src/com/android/server/am/ActivityTestsBase.java
+++ b/services/tests/servicestests/src/com/android/server/am/ActivityTestsBase.java
@@ -469,7 +469,7 @@
@Override
ActivityStack getNextFocusableStackLocked(ActivityStack currentFocus,
boolean ignoreCurrent) {
- return getFocusedStack();
+ return getTopDisplayFocusedStack();
}
}