From 853d0c6f52e3b815bd4e9061d7349d830a74359c Mon Sep 17 00:00:00 2001 From: Evan Rosky Date: Tue, 29 Nov 2022 13:11:14 -0800 Subject: [PATCH] Replace direct AR.mVisibleRequested access with getter/setter This abstraction is required for later changes and is also generally more idiomatic. the getter for AR is a true getter, so it shouldn't have a performance impact. Bug: 260059642 Test: existing tests pass, this is a drop-in refactor Change-Id: I84bacde8656d98870631d3bd92fa970d72614b93 Merged-In: I84bacde8656d98870631d3bd92fa970d72614b93 (cherry picked from commit 4ff502da98031c55e8d75db7b04a477290ba74a2) --- .../server/wm/ActivityMetricsLogger.java | 8 +- .../com/android/server/wm/ActivityRecord.java | 11 +- .../wm/ActivityServiceConnectionsHolder.java | 2 +- .../server/wm/ActivityStartController.java | 2 +- .../android/server/wm/ActivityStarter.java | 2 +- .../server/wm/BackNavigationController.java | 4 +- .../com/android/server/wm/DisplayContent.java | 8 +- .../wm/EnsureActivitiesVisibleHelper.java | 6 +- .../android/server/wm/RecentsAnimation.java | 4 +- .../server/wm/RootWindowContainer.java | 4 +- .../core/java/com/android/server/wm/Task.java | 8 +- .../com/android/server/wm/TaskFragment.java | 12 +- .../com/android/server/wm/Transition.java | 4 +- .../server/wm/WallpaperController.java | 4 +- .../server/wm/WallpaperWindowToken.java | 2 +- .../server/wm/WindowProcessController.java | 14 +- .../com/android/server/wm/WindowState.java | 20 +-- .../ActivityMetricsLaunchObserverTests.java | 12 +- .../server/wm/ActivityRecordTests.java | 80 +++++------ .../server/wm/ActivityStarterTests.java | 14 +- .../wm/ActivityTaskManagerServiceTests.java | 2 +- .../wm/AppTransitionControllerTest.java | 54 ++++---- .../android/server/wm/AppTransitionTests.java | 4 +- .../server/wm/DisplayContentTests.java | 4 +- .../wm/RecentsAnimationControllerTest.java | 4 +- .../server/wm/RecentsAnimationTest.java | 8 +- .../com/android/server/wm/RootTaskTests.java | 6 +- .../server/wm/RootWindowContainerTests.java | 4 +- .../android/server/wm/SizeCompatTests.java | 8 +- .../server/wm/TaskDisplayAreaTests.java | 2 +- .../TaskFragmentOrganizerControllerTest.java | 4 +- .../android/server/wm/TransitionTests.java | 128 +++++++++--------- .../UnknownAppVisibilityControllerTest.java | 2 +- .../server/wm/WallpaperControllerTests.java | 4 +- .../server/wm/WindowManagerServiceTests.java | 2 +- .../server/wm/WindowOrganizerTests.java | 2 +- .../wm/WindowProcessControllerTests.java | 12 +- .../android/server/wm/WindowStateTests.java | 10 +- .../android/server/wm/WindowTestsBase.java | 4 +- 39 files changed, 246 insertions(+), 239 deletions(-) diff --git a/services/core/java/com/android/server/wm/ActivityMetricsLogger.java b/services/core/java/com/android/server/wm/ActivityMetricsLogger.java index d2413f0150032..55a4cc79abf0f 100644 --- a/services/core/java/com/android/server/wm/ActivityMetricsLogger.java +++ b/services/core/java/com/android/server/wm/ActivityMetricsLogger.java @@ -726,7 +726,7 @@ class ActivityMetricsLogger { // visible such as after the top task is finished. for (int i = mTransitionInfoList.size() - 2; i >= 0; i--) { final TransitionInfo prevInfo = mTransitionInfoList.get(i); - if (prevInfo.mIsDrawn || !prevInfo.mLastLaunchedActivity.mVisibleRequested) { + if (prevInfo.mIsDrawn || !prevInfo.mLastLaunchedActivity.isVisibleRequested()) { scheduleCheckActivityToBeDrawn(prevInfo.mLastLaunchedActivity, 0 /* delay */); } } @@ -851,7 +851,7 @@ class ActivityMetricsLogger { return; } if (DEBUG_METRICS) { - Slog.i(TAG, "notifyVisibilityChanged " + r + " visible=" + r.mVisibleRequested + Slog.i(TAG, "notifyVisibilityChanged " + r + " visible=" + r.isVisibleRequested() + " state=" + r.getState() + " finishing=" + r.finishing); } if (r.isState(ActivityRecord.State.RESUMED) && r.mDisplayContent.isSleeping()) { @@ -860,7 +860,7 @@ class ActivityMetricsLogger { // the tracking of launch event. return; } - if (!r.mVisibleRequested || r.finishing) { + if (!r.isVisibleRequested() || r.finishing) { // Check if the tracker can be cancelled because the last launched activity may be // no longer visible. scheduleCheckActivityToBeDrawn(r, 0 /* delay */); @@ -893,7 +893,7 @@ class ActivityMetricsLogger { // activities in this task may be finished, invisible or drawn, so the transition event // should be cancelled. if (t != null && t.forAllActivities( - a -> a.mVisibleRequested && !a.isReportedDrawn() && !a.finishing)) { + a -> a.isVisibleRequested() && !a.isReportedDrawn() && !a.finishing)) { return; } diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index e19e921852ff6..da0d8a1cf07ff 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -800,7 +800,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // it will sometimes be true a little earlier: when the activity record has // been shown, but is still waiting for its app transition to execute // before making its windows shown. - boolean mVisibleRequested; + private boolean mVisibleRequested; // Last visibility state we reported to the app token. boolean reportedVisible; @@ -3632,7 +3632,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // implied that the current finishing activity should be added into stopping list rather // than destroy immediately. final boolean isNextNotYetVisible = next != null - && (!next.nowVisible || !next.mVisibleRequested); + && (!next.nowVisible || !next.isVisibleRequested()); // Clear last paused activity to ensure top activity can be resumed during sleeping. if (isNextNotYetVisible && mDisplayContent.isSleeping() @@ -4450,7 +4450,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A void transferStartingWindowFromHiddenAboveTokenIfNeeded() { task.forAllActivities(fromActivity -> { if (fromActivity == this) return true; - return !fromActivity.mVisibleRequested && transferStartingWindow(fromActivity); + return !fromActivity.isVisibleRequested() && transferStartingWindow(fromActivity); }); } @@ -5115,7 +5115,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A * This is the only place that writes {@link #mVisibleRequested} (except unit test). The caller * outside of this class should use {@link #setVisibility}. */ - private void setVisibleRequested(boolean visible) { + @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) + void setVisibleRequested(boolean visible) { if (visible == mVisibleRequested) { return; } @@ -6561,7 +6562,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A if (associatedTask == null) { removeStartingWindow(); } else if (associatedTask.getActivity( - r -> r.mVisibleRequested && !r.firstWindowDrawn) == null) { + r -> r.isVisibleRequested() && !r.firstWindowDrawn) == null) { // The last drawn activity may not be the one that owns the starting window. final ActivityRecord r = associatedTask.topActivityContainsStartingWindow(); if (r != null) { diff --git a/services/core/java/com/android/server/wm/ActivityServiceConnectionsHolder.java b/services/core/java/com/android/server/wm/ActivityServiceConnectionsHolder.java index 30c7b232fcc8d..0859d40c0fd1e 100644 --- a/services/core/java/com/android/server/wm/ActivityServiceConnectionsHolder.java +++ b/services/core/java/com/android/server/wm/ActivityServiceConnectionsHolder.java @@ -92,7 +92,7 @@ public class ActivityServiceConnectionsHolder { public boolean isActivityVisible() { synchronized (mService.mGlobalLock) { - return mActivity.mVisibleRequested || mActivity.isState(RESUMED, PAUSING); + return mActivity.isVisibleRequested() || mActivity.isState(RESUMED, PAUSING); } } diff --git a/services/core/java/com/android/server/wm/ActivityStartController.java b/services/core/java/com/android/server/wm/ActivityStartController.java index e1c3cbf94bd4b..4663662c5585f 100644 --- a/services/core/java/com/android/server/wm/ActivityStartController.java +++ b/services/core/java/com/android/server/wm/ActivityStartController.java @@ -558,7 +558,7 @@ public class ActivityStartController { if (rootTask == null) return false; final RemoteTransition remote = options.getRemoteTransition(); final ActivityRecord r = rootTask.topRunningActivity(); - if (r == null || r.mVisibleRequested || !r.attachedToProcess() || remote == null + if (r == null || r.isVisibleRequested() || !r.attachedToProcess() || remote == null || !r.mActivityComponent.equals(intent.getComponent()) // Recents keeps invisible while device is locked. || r.mDisplayContent.isKeyguardLocked()) { diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java index 27869c7cd44bb..4fa7095b3282e 100644 --- a/services/core/java/com/android/server/wm/ActivityStarter.java +++ b/services/core/java/com/android/server/wm/ActivityStarter.java @@ -2928,7 +2928,7 @@ class ActivityStarter { // If the activity is visible in multi-windowing mode, it may already be on // the top (visible to user but not the global top), then the result code // should be START_DELIVERED_TO_TOP instead of START_TASK_TO_FRONT. - final boolean wasTopOfVisibleRootTask = intentActivity.mVisibleRequested + final boolean wasTopOfVisibleRootTask = intentActivity.isVisibleRequested() && intentActivity.inMultiWindowMode() && intentActivity == mTargetRootTask.topRunningActivity(); // We only want to move to the front, if we aren't going to launch on a diff --git a/services/core/java/com/android/server/wm/BackNavigationController.java b/services/core/java/com/android/server/wm/BackNavigationController.java index 028d4b3e08711..adb88060528ad 100644 --- a/services/core/java/com/android/server/wm/BackNavigationController.java +++ b/services/core/java/com/android/server/wm/BackNavigationController.java @@ -319,7 +319,7 @@ class BackNavigationController { // launch-behind to bump its visibility for the duration of the back gesture. prevActivity = prevTask.getTopNonFinishingActivity(); if (prevActivity != null) { - if (!prevActivity.mVisibleRequested) { + if (!prevActivity.isVisibleRequested()) { prevActivity.setVisibility(true); } prevActivity.mLaunchTaskBehind = true; @@ -492,7 +492,7 @@ class BackNavigationController { private void prepareBackToHomeTransition(ActivityRecord currentActivity, Task homeTask) { final DisplayContent dc = currentActivity.getDisplayContent(); final ActivityRecord homeActivity = homeTask.getTopNonFinishingActivity(); - if (!homeActivity.mVisibleRequested) { + if (!homeActivity.isVisibleRequested()) { homeActivity.setVisibility(true); } homeActivity.mLaunchTaskBehind = true; diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index b33a83dac6e52..459949cffdf1c 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -861,11 +861,11 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp final ActivityRecord activity = w.mActivityRecord; if (gone) Slog.v(TAG, " GONE: mViewVisibility=" + w.mViewVisibility + " mRelayoutCalled=" + w.mRelayoutCalled + " visible=" + w.mToken.isVisible() - + " visibleRequested=" + (activity != null && activity.mVisibleRequested) + + " visibleRequested=" + (activity != null && activity.isVisibleRequested()) + " parentHidden=" + w.isParentWindowHidden()); else Slog.v(TAG, " VIS: mViewVisibility=" + w.mViewVisibility + " mRelayoutCalled=" + w.mRelayoutCalled + " visible=" + w.mToken.isVisible() - + " visibleRequested=" + (activity != null && activity.mVisibleRequested) + + " visibleRequested=" + (activity != null && activity.isVisibleRequested()) + " parentHidden=" + w.isParentWindowHidden()); } @@ -1662,7 +1662,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp .notifyTaskRequestedOrientationChanged(task.mTaskId, orientation); } // The orientation source may not be the top if it uses SCREEN_ORIENTATION_BEHIND. - final ActivityRecord topCandidate = !r.mVisibleRequested ? topRunningActivity() : r; + final ActivityRecord topCandidate = !r.isVisibleRequested() ? topRunningActivity() : r; if (handleTopActivityLaunchingInDifferentOrientation( topCandidate, r, true /* checkOpening */)) { // Display orientation should be deferred until the top fixed rotation is finished. @@ -2660,7 +2660,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp mWmService.mWindowsChanged = true; // If the transition finished callback cannot match the token for some reason, make sure the // rotated state is cleared if it is already invisible. - if (mFixedRotationLaunchingApp != null && !mFixedRotationLaunchingApp.mVisibleRequested + if (mFixedRotationLaunchingApp != null && !mFixedRotationLaunchingApp.isVisibleRequested() && !mFixedRotationLaunchingApp.isVisible() && !mDisplayRotation.isRotatingSeamlessly()) { clearFixedRotationLaunchingApp(); diff --git a/services/core/java/com/android/server/wm/EnsureActivitiesVisibleHelper.java b/services/core/java/com/android/server/wm/EnsureActivitiesVisibleHelper.java index 7bb036d0b1e02..bd837940dfb27 100644 --- a/services/core/java/com/android/server/wm/EnsureActivitiesVisibleHelper.java +++ b/services/core/java/com/android/server/wm/EnsureActivitiesVisibleHelper.java @@ -191,7 +191,7 @@ class EnsureActivitiesVisibleHelper { if (!r.attachedToProcess()) { makeVisibleAndRestartIfNeeded(mStarting, mConfigChanges, isTop, resumeTopActivity && isTop, r); - } else if (r.mVisibleRequested) { + } else if (r.isVisibleRequested()) { // If this activity is already visible, then there is nothing to do here. if (DEBUG_VISIBILITY) { Slog.v(TAG_VISIBILITY, "Skipping: already visible at " + r); @@ -244,7 +244,7 @@ class EnsureActivitiesVisibleHelper { // invisible. If the app is already visible, it must have died while it was visible. In this // case, we'll show the dead window but will not restart the app. Otherwise we could end up // thrashing. - if (!isTop && r.mVisibleRequested && !r.isState(INITIALIZING)) { + if (!isTop && r.isVisibleRequested() && !r.isState(INITIALIZING)) { return; } @@ -256,7 +256,7 @@ class EnsureActivitiesVisibleHelper { if (r != starting) { r.startFreezingScreenLocked(configChanges); } - if (!r.mVisibleRequested || r.mLaunchTaskBehind) { + if (!r.isVisibleRequested() || r.mLaunchTaskBehind) { if (DEBUG_VISIBILITY) { Slog.v(TAG_VISIBILITY, "Starting and making visible: " + r); } diff --git a/services/core/java/com/android/server/wm/RecentsAnimation.java b/services/core/java/com/android/server/wm/RecentsAnimation.java index ffe3374e66584..be90588404927 100644 --- a/services/core/java/com/android/server/wm/RecentsAnimation.java +++ b/services/core/java/com/android/server/wm/RecentsAnimation.java @@ -112,7 +112,7 @@ class RecentsAnimation implements RecentsAnimationCallbacks, OnRootTaskOrderChan mTargetActivityType); ActivityRecord targetActivity = getTargetActivity(targetRootTask); if (targetActivity != null) { - if (targetActivity.mVisibleRequested || targetActivity.isTopRunningActivity()) { + if (targetActivity.isVisibleRequested() || targetActivity.isTopRunningActivity()) { // The activity is ready. return; } @@ -195,7 +195,7 @@ class RecentsAnimation implements RecentsAnimationCallbacks, OnRootTaskOrderChan // Send launch hint if we are actually launching the target. If it's already visible // (shouldn't happen in general) we don't need to send it. - if (targetActivity == null || !targetActivity.mVisibleRequested) { + if (targetActivity == null || !targetActivity.isVisibleRequested()) { mService.mRootWindowContainer.startPowerModeLaunchIfNeeded( true /* forceSend */, targetActivity); } diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java index 89cad9c534647..1bc310ac4eddf 100644 --- a/services/core/java/com/android/server/wm/RootWindowContainer.java +++ b/services/core/java/com/android/server/wm/RootWindowContainer.java @@ -2625,7 +2625,7 @@ class RootWindowContainer extends WindowContainer final ArrayList addedTasks = new ArrayList<>(); forAllActivities((r) -> { final Task task = r.getTask(); - if (r.mVisibleRequested && r.mStartingData == null && !addedTasks.contains(task)) { + if (r.isVisibleRequested() && r.mStartingData == null && !addedTasks.contains(task)) { r.showStartingWindow(true /*taskSwitch*/); addedTasks.add(task); } @@ -2650,7 +2650,7 @@ class RootWindowContainer extends WindowContainer forAllLeafTasks(task -> { final int oldRank = task.mLayerRank; final ActivityRecord r = task.topRunningActivityLocked(); - if (r != null && r.mVisibleRequested) { + if (r != null && r.isVisibleRequested()) { task.mLayerRank = ++mTmpTaskLayerRank; } else { task.mLayerRank = Task.LAYER_RANK_INVISIBLE; diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 51eec03855a5e..4405b697f0c58 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -2474,7 +2474,7 @@ class Task extends TaskFragment { final String myReason = reason + " adjustFocusToNextFocusableTask"; final ActivityRecord top = focusableTask.topRunningActivity(); - if (focusableTask.isActivityTypeHome() && (top == null || !top.mVisibleRequested)) { + if (focusableTask.isActivityTypeHome() && (top == null || !top.isVisibleRequested())) { // If we will be focusing on the root home task next and its current top activity isn't // visible, then use the move the root home task to top to make the activity visible. focusableTask.getDisplayArea().moveHomeActivityToTop(myReason); @@ -2786,7 +2786,7 @@ class Task extends TaskFragment { */ private static void getMaxVisibleBounds(ActivityRecord token, Rect out, boolean[] foundTop) { // skip hidden (or about to hide) apps - if (token.mIsExiting || !token.isClientVisible() || !token.mVisibleRequested) { + if (token.mIsExiting || !token.isClientVisible() || !token.isVisibleRequested()) { return; } final WindowState win = token.findMainWindow(); @@ -3098,7 +3098,7 @@ class Task extends TaskFragment { * this activity. */ ActivityRecord getTopVisibleActivity() { - return getActivity((r) -> !r.mIsExiting && r.isClientVisible() && r.mVisibleRequested); + return getActivity((r) -> !r.mIsExiting && r.isClientVisible() && r.isVisibleRequested()); } /** @@ -5806,7 +5806,7 @@ class Task extends TaskFragment { ActivityRecord r, ActivityRecord starting, String packageName) { if (r.info.packageName.equals(packageName)) { r.forceNewConfig = true; - if (starting != null && r == starting && r.mVisibleRequested) { + if (starting != null && r == starting && r.isVisibleRequested()) { r.startFreezingScreenLocked(CONFIG_SCREEN_LAYOUT); } } diff --git a/services/core/java/com/android/server/wm/TaskFragment.java b/services/core/java/com/android/server/wm/TaskFragment.java index 7eb9c16a25ff4..dc438c2a935e4 100644 --- a/services/core/java/com/android/server/wm/TaskFragment.java +++ b/services/core/java/com/android/server/wm/TaskFragment.java @@ -344,7 +344,7 @@ class TaskFragment extends WindowContainer { } void process(ActivityRecord start, boolean preserveWindow) { - if (start == null || !start.mVisibleRequested) { + if (start == null || !start.isVisibleRequested()) { return; } reset(preserveWindow); @@ -1354,7 +1354,7 @@ class TaskFragment extends WindowContainer { if (next.attachedToProcess()) { if (DEBUG_SWITCH) { Slog.v(TAG_SWITCH, "Resume running: " + next + " stopped=" + next.stopped - + " visibleRequested=" + next.mVisibleRequested); + + " visibleRequested=" + next.isVisibleRequested()); } // If the previous activity is translucent, force a visibility update of @@ -1368,7 +1368,7 @@ class TaskFragment extends WindowContainer { || mLastPausedActivity != null && !mLastPausedActivity.occludesParent(); // This activity is now becoming visible. - if (!next.mVisibleRequested || next.stopped || lastActivityTranslucent) { + if (!next.isVisibleRequested() || next.stopped || lastActivityTranslucent) { next.app.addToPendingTop(); next.setVisibility(true); } @@ -1419,7 +1419,7 @@ class TaskFragment extends WindowContainer { // Do over! mTaskSupervisor.scheduleResumeTopActivities(); } - if (!next.mVisibleRequested || next.stopped) { + if (!next.isVisibleRequested() || next.stopped) { next.setVisibility(true); } next.completeResumeLocked(); @@ -1730,7 +1730,7 @@ class TaskFragment extends WindowContainer { } else if (prev.hasProcess()) { ProtoLog.v(WM_DEBUG_STATES, "Enqueue pending stop if needed: %s " + "wasStopping=%b visibleRequested=%b", prev, wasStopping, - prev.mVisibleRequested); + prev.isVisibleRequested()); if (prev.deferRelaunchUntilPaused) { // Complete the deferred relaunch that was waiting for pause to complete. ProtoLog.v(WM_DEBUG_STATES, "Re-launching after pause: %s", prev); @@ -1740,7 +1740,7 @@ class TaskFragment extends WindowContainer { // We can't clobber it, because the stop confirmation will not be handled. // We don't need to schedule another stop, we only need to let it happen. prev.setState(STOPPING, "completePausedLocked"); - } else if (!prev.mVisibleRequested || shouldSleepOrShutDownActivities()) { + } else if (!prev.isVisibleRequested() || shouldSleepOrShutDownActivities()) { // Clear out any deferred client hide we might currently have. prev.setDeferHidingClient(false); // If we were visible then resumeTopActivities will release resources before diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index 6b14dba6eb81d..43f27a84c8a65 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -993,7 +993,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { // show here in the same way that we manually hide in finishTransaction. for (int i = mParticipants.size() - 1; i >= 0; --i) { final ActivityRecord ar = mParticipants.valueAt(i).asActivityRecord(); - if (ar == null || !ar.mVisibleRequested) continue; + if (ar == null || !ar.isVisibleRequested()) continue; transaction.show(ar.getSurfaceControl()); // Also manually show any non-reported parents. This is necessary in a few cases @@ -1274,7 +1274,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { ArrayMap reasons = new ArrayMap<>(); for (int i = mParticipants.size() - 1; i >= 0; --i) { ActivityRecord r = mParticipants.valueAt(i).asActivityRecord(); - if (r == null || !r.mVisibleRequested) continue; + if (r == null || !r.isVisibleRequested()) continue; int transitionReason = APP_TRANSITION_WINDOWS_DRAWN; // At this point, r is "ready", but if it's not "ALL ready" then it is probably only // ready due to starting-window. diff --git a/services/core/java/com/android/server/wm/WallpaperController.java b/services/core/java/com/android/server/wm/WallpaperController.java index 920b1bad48d14..1d25dbc0d533d 100644 --- a/services/core/java/com/android/server/wm/WallpaperController.java +++ b/services/core/java/com/android/server/wm/WallpaperController.java @@ -726,9 +726,9 @@ class WallpaperController { } final boolean newTargetHidden = wallpaperTarget.mActivityRecord != null - && !wallpaperTarget.mActivityRecord.mVisibleRequested; + && !wallpaperTarget.mActivityRecord.isVisibleRequested(); final boolean oldTargetHidden = prevWallpaperTarget.mActivityRecord != null - && !prevWallpaperTarget.mActivityRecord.mVisibleRequested; + && !prevWallpaperTarget.mActivityRecord.isVisibleRequested(); ProtoLog.v(WM_DEBUG_WALLPAPER, "Animating wallpapers: " + "old: %s hidden=%b new: %s hidden=%b", diff --git a/services/core/java/com/android/server/wm/WallpaperWindowToken.java b/services/core/java/com/android/server/wm/WallpaperWindowToken.java index 8fdaec613ad52..bf6c4fb7220ad 100644 --- a/services/core/java/com/android/server/wm/WallpaperWindowToken.java +++ b/services/core/java/com/android/server/wm/WallpaperWindowToken.java @@ -139,7 +139,7 @@ class WallpaperWindowToken extends WindowToken { bac.linkFixedRotationTransformIfNeeded(this); } else if ((wallpaperTarget.mActivityRecord == null // Ignore invisible activity because it may be moving to background. - || wallpaperTarget.mActivityRecord.mVisibleRequested) + || wallpaperTarget.mActivityRecord.isVisibleRequested()) && wallpaperTarget.mToken.hasFixedRotationTransform()) { // If the wallpaper target has a fixed rotation, we want the wallpaper to follow its // rotation diff --git a/services/core/java/com/android/server/wm/WindowProcessController.java b/services/core/java/com/android/server/wm/WindowProcessController.java index 202fe558f938e..682918b1e7ddc 100644 --- a/services/core/java/com/android/server/wm/WindowProcessController.java +++ b/services/core/java/com/android/server/wm/WindowProcessController.java @@ -751,7 +751,7 @@ public class WindowProcessController extends ConfigurationContainer= 0; i--) { final ActivityRecord r = activities.get(i); - if (r.mVisibleRequested || r.isVisible()) { + if (r.isVisibleRequested() || r.isVisible()) { // While an activity launches a new activity, it's possible that the old activity // is already requested to be hidden (mVisibleRequested=false), but this visibility // is not yet committed, so isVisible()=true. @@ -1489,7 +1489,7 @@ public class WindowProcessController extends ConfigurationContainer implements WindowManagerP */ // TODO: Can we consolidate this with #isVisible() or have a more appropriate name for this? boolean isWinVisibleLw() { - return (mActivityRecord == null || mActivityRecord.mVisibleRequested + return (mActivityRecord == null || mActivityRecord.isVisibleRequested() || mActivityRecord.isAnimating(TRANSITION | PARENTS)) && isVisible(); } @@ -1993,7 +1993,7 @@ class WindowState extends WindowContainer implements WindowManagerP final ActivityRecord atoken = mActivityRecord; return (mHasSurface || (!mRelayoutCalled && mViewVisibility == View.VISIBLE)) && isVisibleByPolicy() && !isParentWindowHidden() - && (atoken == null || atoken.mVisibleRequested) + && (atoken == null || atoken.isVisibleRequested()) && !mAnimatingExit && !mDestroying; } @@ -2100,7 +2100,7 @@ class WindowState extends WindowContainer implements WindowManagerP boolean isDisplayed() { final ActivityRecord atoken = mActivityRecord; return isDrawn() && isVisibleByPolicy() - && ((!isParentWindowHidden() && (atoken == null || atoken.mVisibleRequested)) + && ((!isParentWindowHidden() && (atoken == null || atoken.isVisibleRequested())) || isAnimating(TRANSITION | PARENTS)); } @@ -2122,7 +2122,7 @@ class WindowState extends WindowContainer implements WindowManagerP // a layout since they can request relayout when client visibility is false. // TODO (b/157682066) investigate if we can clean up isVisible || (atoken == null && !(wouldBeVisibleIfPolicyIgnored() && isVisibleByPolicy())) - || (atoken != null && !atoken.mVisibleRequested) + || (atoken != null && !atoken.isVisibleRequested()) || isParentWindowGoneForLayout() || (mAnimatingExit && !isAnimatingLw()) || mDestroying; @@ -2169,7 +2169,7 @@ class WindowState extends WindowContainer implements WindowManagerP return; } if (mActivityRecord != null) { - if (!mActivityRecord.mVisibleRequested) return; + if (!mActivityRecord.isVisibleRequested()) return; if (mActivityRecord.allDrawn) { // The allDrawn of activity is reset when the visibility is changed to visible, so // the content should be ready if allDrawn is set. @@ -2742,7 +2742,7 @@ class WindowState extends WindowContainer implements WindowManagerP + " exiting=" + mAnimatingExit + " destroying=" + mDestroying); if (mActivityRecord != null) { Slog.i(TAG_WM, " mActivityRecord.visibleRequested=" - + mActivityRecord.mVisibleRequested); + + mActivityRecord.isVisibleRequested()); } } } @@ -3218,7 +3218,7 @@ class WindowState extends WindowContainer implements WindowManagerP } return !mActivityRecord.getTask().getRootTask().shouldIgnoreInput() - && mActivityRecord.mVisibleRequested; + && mActivityRecord.isVisibleRequested(); } /** @@ -3874,7 +3874,7 @@ class WindowState extends WindowContainer implements WindowManagerP // the client erroneously accepting a configuration that would have otherwise caused an // activity restart. We instead hand back the last reported {@link MergedConfiguration}. if (useLatestConfig || (relayoutVisible && (mActivityRecord == null - || mActivityRecord.mVisibleRequested))) { + || mActivityRecord.isVisibleRequested()))) { final Configuration globalConfig = getProcessGlobalConfiguration(); final Configuration overrideConfig = getMergedOverrideConfiguration(); outMergedConfiguration.setConfiguration(globalConfig, overrideConfig); @@ -4722,7 +4722,7 @@ class WindowState extends WindowContainer implements WindowManagerP + " during animation: policyVis=" + isVisibleByPolicy() + " parentHidden=" + isParentWindowHidden() + " tok.visibleRequested=" - + (mActivityRecord != null && mActivityRecord.mVisibleRequested) + + (mActivityRecord != null && mActivityRecord.isVisibleRequested()) + " tok.visible=" + (mActivityRecord != null && mActivityRecord.isVisible()) + " animating=" + isAnimating(TRANSITION | PARENTS) + " tok animating=" @@ -5195,7 +5195,7 @@ class WindowState extends WindowContainer implements WindowManagerP + " pv=" + isVisibleByPolicy() + " mDrawState=" + mWinAnimator.mDrawState + " ph=" + isParentWindowHidden() - + " th=" + (mActivityRecord != null && mActivityRecord.mVisibleRequested) + + " th=" + (mActivityRecord != null && mActivityRecord.isVisibleRequested()) + " a=" + isAnimating(TRANSITION | PARENTS)); } } diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityMetricsLaunchObserverTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityMetricsLaunchObserverTests.java index 5b909a343a59a..14eeaa57ddd72 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityMetricsLaunchObserverTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityMetricsLaunchObserverTests.java @@ -99,7 +99,7 @@ public class ActivityMetricsLaunchObserverTests extends WindowTestsBase { .setComponent(createRelative(DEFAULT_COMPONENT_PACKAGE_NAME, "TopActivity")) .build(); // becomes invisible when covered by mTopActivity - mTrampolineActivity.mVisibleRequested = false; + mTrampolineActivity.setVisibleRequested(false); } private T verifyAsync(T mock) { @@ -228,7 +228,7 @@ public class ActivityMetricsLaunchObserverTests extends WindowTestsBase { public void testOnActivityLaunchCancelled_hasDrawn() { onActivityLaunched(mTopActivity); - mTopActivity.mVisibleRequested = true; + mTopActivity.setVisibleRequested(true); doReturn(true).when(mTopActivity).isReportedDrawn(); // Cannot time already-visible activities. @@ -251,7 +251,7 @@ public class ActivityMetricsLaunchObserverTests extends WindowTestsBase { notifyActivityLaunching(noDrawnActivity.intent); notifyAndVerifyActivityLaunched(noDrawnActivity); - noDrawnActivity.mVisibleRequested = false; + noDrawnActivity.setVisibleRequested(false); mActivityMetricsLogger.notifyVisibilityChanged(noDrawnActivity); verifyAsync(mLaunchObserver).onActivityLaunchCancelled(eqLastStartedId(noDrawnActivity)); @@ -279,7 +279,7 @@ public class ActivityMetricsLaunchObserverTests extends WindowTestsBase { clearInvocations(mLaunchObserver); mLaunchTopByTrampoline = true; - mTopActivity.mVisibleRequested = false; + mTopActivity.setVisibleRequested(false); notifyActivityLaunching(mTopActivity.intent); // It should schedule a message with UNKNOWN_VISIBILITY_CHECK_DELAY_MS to check whether // the launch event is still valid. @@ -307,7 +307,7 @@ public class ActivityMetricsLaunchObserverTests extends WindowTestsBase { // Create an invisible event that should be cancelled after the next event starts. final ActivityRecord prev = new ActivityBuilder(mAtm).setCreateTask(true).build(); onActivityLaunched(prev); - prev.mVisibleRequested = false; + prev.setVisibleRequested(false); mActivityOptions = ActivityOptions.makeBasic(); mActivityOptions.setSourceInfo(SourceInfo.TYPE_LAUNCHER, SystemClock.uptimeMillis() - 10); @@ -540,7 +540,7 @@ public class ActivityMetricsLaunchObserverTests extends WindowTestsBase { @Test public void testConsecutiveLaunchWithDifferentWindowingMode() { mTopActivity.setWindowingMode(WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW); - mTrampolineActivity.mVisibleRequested = true; + mTrampolineActivity.setVisibleRequested(true); onActivityLaunched(mTrampolineActivity); mActivityMetricsLogger.notifyActivityLaunching(mTopActivity.intent, mTrampolineActivity /* caller */, mTrampolineActivity.getUid()); diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java index 53e0b2b7a615d..17ec19d3e6177 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java @@ -917,7 +917,7 @@ public class ActivityRecordTests extends WindowTestsBase { // Prepare the activity record to be ready for immediate removal. It should be invisible and // have no process. Otherwise, request to finish it will send a message to client first. activity.setState(STOPPED, "test"); - activity.mVisibleRequested = false; + activity.setVisibleRequested(false); activity.nowVisible = false; // Set process to 'null' to allow immediate removal, but don't call mActivity.setProcess() - // this will cause NPE when updating task's process. @@ -927,7 +927,7 @@ public class ActivityRecordTests extends WindowTestsBase { // next activity reports idle to destroy it. final ActivityRecord topActivity = new ActivityBuilder(mAtm) .setTask(activity.getTask()).build(); - topActivity.mVisibleRequested = true; + topActivity.setVisibleRequested(true); topActivity.nowVisible = true; topActivity.setState(RESUMED, "test"); @@ -1082,7 +1082,7 @@ public class ActivityRecordTests extends WindowTestsBase { final ActivityRecord activity = createActivityWithTask(); clearInvocations(activity.mDisplayContent); activity.finishing = false; - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); activity.setState(RESUMED, "test"); activity.finishIfPossible("test", false /* oomAdj */); @@ -1099,7 +1099,7 @@ public class ActivityRecordTests extends WindowTestsBase { final ActivityRecord activity = createActivityWithTask(); clearInvocations(activity.mDisplayContent); activity.finishing = false; - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); activity.setState(PAUSED, "test"); activity.finishIfPossible("test", false /* oomAdj */); @@ -1118,7 +1118,7 @@ public class ActivityRecordTests extends WindowTestsBase { // Put an activity on top of test activity to make it invisible and prevent us from // accidentally resuming the topmost one again. new ActivityBuilder(mAtm).build(); - activity.mVisibleRequested = false; + activity.setVisibleRequested(false); activity.setState(STOPPED, "test"); activity.finishIfPossible("test", false /* oomAdj */); @@ -1136,7 +1136,7 @@ public class ActivityRecordTests extends WindowTestsBase { final TestTransitionPlayer testPlayer = registerTestTransitionPlayer(); final ActivityRecord activity = createActivityWithTask(); activity.finishing = false; - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); activity.setState(RESUMED, "test"); activity.finishIfPossible("test", false /* oomAdj */); @@ -1273,7 +1273,7 @@ public class ActivityRecordTests extends WindowTestsBase { final ActivityRecord currentTop = createActivityWithTask(); final Task task = currentTop.getTask(); - currentTop.mVisibleRequested = currentTop.nowVisible = true; + currentTop.setVisibleRequested(currentTop.nowVisible = true); // Simulates that {@code currentTop} starts an existing activity from background (so its // state is stopped) and the starting flow just goes to place it at top. @@ -1300,7 +1300,7 @@ public class ActivityRecordTests extends WindowTestsBase { final ActivityRecord bottomActivity = createActivityWithTask(); final ActivityRecord topActivity = new ActivityBuilder(mAtm) .setTask(bottomActivity.getTask()).build(); - topActivity.mVisibleRequested = true; + topActivity.setVisibleRequested(true); // simulating bottomActivity as a trampoline activity. bottomActivity.setState(RESUMED, "test"); bottomActivity.finishIfPossible("test", false); @@ -1316,13 +1316,13 @@ public class ActivityRecordTests extends WindowTestsBase { final ActivityRecord activity = createActivityWithTask(); final ActivityRecord topActivity = new ActivityBuilder(mAtm) .setTask(activity.getTask()).build(); - topActivity.mVisibleRequested = true; + topActivity.setVisibleRequested(true); topActivity.nowVisible = true; topActivity.finishing = true; topActivity.setState(PAUSED, "true"); // Mark the bottom activity as not visible, so that we will wait for it before removing // the top one. - activity.mVisibleRequested = false; + activity.setVisibleRequested(false); activity.nowVisible = false; activity.setState(STOPPED, "test"); @@ -1346,13 +1346,13 @@ public class ActivityRecordTests extends WindowTestsBase { final ActivityRecord topActivity = createActivityWithTask(); mDisplayContent.setIsSleeping(true); doReturn(true).when(activity).shouldBeVisible(); - topActivity.mVisibleRequested = false; + topActivity.setVisibleRequested(false); topActivity.nowVisible = false; topActivity.finishing = true; topActivity.setState(STOPPED, "true"); // Mark the activity behind (on a separate task) as not visible - activity.mVisibleRequested = false; + activity.setVisibleRequested(false); activity.nowVisible = false; activity.setState(STOPPED, "test"); @@ -1370,13 +1370,13 @@ public class ActivityRecordTests extends WindowTestsBase { final ActivityRecord activity = createActivityWithTask(); final ActivityRecord topActivity = new ActivityBuilder(mAtm) .setTask(activity.getTask()).build(); - topActivity.mVisibleRequested = false; + topActivity.setVisibleRequested(false); topActivity.nowVisible = false; topActivity.finishing = true; topActivity.setState(STOPPED, "true"); // Mark the bottom activity as not visible, so that we would wait for it before removing // the top one. - activity.mVisibleRequested = false; + activity.setVisibleRequested(false); activity.nowVisible = false; activity.setState(STOPPED, "test"); @@ -1394,12 +1394,12 @@ public class ActivityRecordTests extends WindowTestsBase { final ActivityRecord activity = createActivityWithTask(); final ActivityRecord topActivity = new ActivityBuilder(mAtm) .setTask(activity.getTask()).build(); - topActivity.mVisibleRequested = true; + topActivity.setVisibleRequested(true); topActivity.nowVisible = true; topActivity.finishing = true; topActivity.setState(PAUSED, "true"); // Mark the bottom activity as already visible, so that there is no need to wait for it. - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); activity.nowVisible = true; activity.setState(RESUMED, "test"); @@ -1417,12 +1417,12 @@ public class ActivityRecordTests extends WindowTestsBase { final ActivityRecord activity = createActivityWithTask(); final ActivityRecord topActivity = new ActivityBuilder(mAtm) .setTask(activity.getTask()).build(); - topActivity.mVisibleRequested = false; + topActivity.setVisibleRequested(false); topActivity.nowVisible = false; topActivity.finishing = true; topActivity.setState(STOPPED, "true"); // Mark the bottom activity as already visible, so that there is no need to wait for it. - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); activity.nowVisible = true; activity.setState(RESUMED, "test"); @@ -1440,12 +1440,12 @@ public class ActivityRecordTests extends WindowTestsBase { final ActivityRecord activity = createActivityWithTask(); final ActivityRecord topActivity = new ActivityBuilder(mAtm) .setTask(activity.getTask()).build(); - topActivity.mVisibleRequested = true; + topActivity.setVisibleRequested(true); topActivity.nowVisible = true; topActivity.finishing = true; topActivity.setState(PAUSED, "true"); // Mark the bottom activity as already visible, so that there is no need to wait for it. - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); activity.nowVisible = true; activity.setState(RESUMED, "test"); @@ -1454,7 +1454,7 @@ public class ActivityRecordTests extends WindowTestsBase { final Task stack = new TaskBuilder(mSupervisor).setCreateActivity(true).build(); final ActivityRecord focusedActivity = stack.getTopMostActivity(); focusedActivity.nowVisible = true; - focusedActivity.mVisibleRequested = true; + focusedActivity.setVisibleRequested(true); focusedActivity.setState(RESUMED, "test"); stack.setResumedActivity(focusedActivity, "test"); @@ -1476,7 +1476,7 @@ public class ActivityRecordTests extends WindowTestsBase { int displayId = activity.getDisplayId(); doReturn(true).when(keyguardController).isKeyguardLocked(eq(displayId)); final ActivityRecord topActivity = new ActivityBuilder(mAtm).setTask(task).build(); - topActivity.mVisibleRequested = true; + topActivity.setVisibleRequested(true); topActivity.nowVisible = true; topActivity.setState(RESUMED, "true"); doCallRealMethod().when(mRootWindowContainer).ensureActivitiesVisible( @@ -1515,12 +1515,12 @@ public class ActivityRecordTests extends WindowTestsBase { final ActivityRecord activity = createActivityWithTask(); final Task task = activity.getTask(); final ActivityRecord firstActivity = new ActivityBuilder(mAtm).setTask(task).build(); - firstActivity.mVisibleRequested = false; + firstActivity.setVisibleRequested(false); firstActivity.nowVisible = false; firstActivity.setState(STOPPED, "test"); final ActivityRecord secondActivity = new ActivityBuilder(mAtm).setTask(task).build(); - secondActivity.mVisibleRequested = true; + secondActivity.setVisibleRequested(true); secondActivity.nowVisible = true; secondActivity.setState(secondActivityState, "test"); @@ -1530,7 +1530,7 @@ public class ActivityRecordTests extends WindowTestsBase { } else { translucentActivity = new ActivityBuilder(mAtm).setTask(task).build(); } - translucentActivity.mVisibleRequested = true; + translucentActivity.setVisibleRequested(true); translucentActivity.nowVisible = true; translucentActivity.setState(RESUMED, "test"); @@ -1546,7 +1546,7 @@ public class ActivityRecordTests extends WindowTestsBase { // Finish the first activity firstActivity.finishing = true; - firstActivity.mVisibleRequested = true; + firstActivity.setVisibleRequested(true); firstActivity.completeFinishing("test"); verify(firstActivity.mDisplayContent, times(2)).ensureActivitiesVisible(null /* starting */, 0 /* configChanges */ , false /* preserveWindows */, @@ -1614,7 +1614,7 @@ public class ActivityRecordTests extends WindowTestsBase { }, true /* traverseTopToBottom */); activity.setState(STARTED, "test"); activity.finishing = true; - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); // Try to finish the last activity above the home stack. activity.completeFinishing("test"); @@ -1909,7 +1909,7 @@ public class ActivityRecordTests extends WindowTestsBase { // Simulate that the activity requests the same orientation as display. activity.setOrientation(display.getConfiguration().orientation); // Skip the real freezing. - activity.mVisibleRequested = false; + activity.setVisibleRequested(false); clearInvocations(activity); activity.onCancelFixedRotationTransform(originalRotation); // The implementation of cancellation must be executed. @@ -2536,7 +2536,7 @@ public class ActivityRecordTests extends WindowTestsBase { activity.setOccludesParent(true); activity.setVisible(false); - activity.mVisibleRequested = false; + activity.setVisibleRequested(false); // Can not specify orientation if app isn't visible even though it occludes parent. assertEquals(SCREEN_ORIENTATION_UNSET, activity.getOrientation()); // Can specify orientation if the current orientation candidate is orientation behind. @@ -2913,7 +2913,7 @@ public class ActivityRecordTests extends WindowTestsBase { task.addChild(taskFragment2, POSITION_TOP); final ActivityRecord activity2 = new ActivityBuilder(mAtm) .setResizeMode(ActivityInfo.RESIZE_MODE_UNRESIZEABLE).build(); - activity2.mVisibleRequested = true; + activity2.setVisibleRequested(true); taskFragment2.addChild(activity2); assertTrue(activity2.isResizeable()); activity1.reparent(taskFragment1, POSITION_TOP); @@ -3059,7 +3059,7 @@ public class ActivityRecordTests extends WindowTestsBase { .setCreateTask(true).build(); // By default, activity is visible. assertTrue(activity.isVisible()); - assertTrue(activity.mVisibleRequested); + assertTrue(activity.isVisibleRequested()); assertTrue(activity.mDisplayContent.mOpeningApps.contains(activity)); assertFalse(activity.mDisplayContent.mClosingApps.contains(activity)); @@ -3068,7 +3068,7 @@ public class ActivityRecordTests extends WindowTestsBase { // until we verify no logic relies on this behavior, we'll keep this as is. activity.setVisibility(true); assertTrue(activity.isVisible()); - assertTrue(activity.mVisibleRequested); + assertTrue(activity.isVisibleRequested()); assertTrue(activity.mDisplayContent.mOpeningApps.contains(activity)); assertFalse(activity.mDisplayContent.mClosingApps.contains(activity)); } @@ -3079,7 +3079,7 @@ public class ActivityRecordTests extends WindowTestsBase { .setCreateTask(true).build(); // By default, activity is visible. assertTrue(activity.isVisible()); - assertTrue(activity.mVisibleRequested); + assertTrue(activity.isVisibleRequested()); assertTrue(activity.mDisplayContent.mOpeningApps.contains(activity)); assertFalse(activity.mDisplayContent.mClosingApps.contains(activity)); @@ -3087,7 +3087,7 @@ public class ActivityRecordTests extends WindowTestsBase { // animation should be applied on this activity. activity.setVisibility(false); assertTrue(activity.isVisible()); - assertFalse(activity.mVisibleRequested); + assertFalse(activity.isVisibleRequested()); assertFalse(activity.mDisplayContent.mOpeningApps.contains(activity)); assertTrue(activity.mDisplayContent.mClosingApps.contains(activity)); } @@ -3099,7 +3099,7 @@ public class ActivityRecordTests extends WindowTestsBase { // Activiby is invisible. However ATMS requests it to become visible, since this is a top // activity. assertFalse(activity.isVisible()); - assertTrue(activity.mVisibleRequested); + assertTrue(activity.isVisibleRequested()); assertTrue(activity.mDisplayContent.mOpeningApps.contains(activity)); assertFalse(activity.mDisplayContent.mClosingApps.contains(activity)); @@ -3107,7 +3107,7 @@ public class ActivityRecordTests extends WindowTestsBase { // animation should be applied on this activity. activity.setVisibility(true); assertFalse(activity.isVisible()); - assertTrue(activity.mVisibleRequested); + assertTrue(activity.isVisibleRequested()); assertTrue(activity.mDisplayContent.mOpeningApps.contains(activity)); assertFalse(activity.mDisplayContent.mClosingApps.contains(activity)); @@ -3130,7 +3130,7 @@ public class ActivityRecordTests extends WindowTestsBase { // Activiby is invisible. However ATMS requests it to become visible, since this is a top // activity. assertFalse(activity.isVisible()); - assertTrue(activity.mVisibleRequested); + assertTrue(activity.isVisibleRequested()); assertTrue(activity.mDisplayContent.mOpeningApps.contains(activity)); assertFalse(activity.mDisplayContent.mClosingApps.contains(activity)); @@ -3138,7 +3138,7 @@ public class ActivityRecordTests extends WindowTestsBase { // transition should be applied on this activity. activity.setVisibility(false); assertFalse(activity.isVisible()); - assertFalse(activity.mVisibleRequested); + assertFalse(activity.isVisibleRequested()); assertFalse(activity.mDisplayContent.mOpeningApps.contains(activity)); assertFalse(activity.mDisplayContent.mClosingApps.contains(activity)); } @@ -3555,12 +3555,12 @@ public class ActivityRecordTests extends WindowTestsBase { activity.reparent(taskFragment, POSITION_TOP); // Ensure the activity visibility is updated even it is not shown to current user. - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); doReturn(false).when(activity).showToCurrentUser(); spyOn(taskFragment); doReturn(false).when(taskFragment).shouldBeVisible(any()); display.ensureActivitiesVisible(null, 0, false, false); - assertFalse(activity.mVisibleRequested); + assertFalse(activity.isVisibleRequested()); } @Test diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java index 6fe2d2cbe9d41..b4ffc2adbeea2 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java @@ -505,7 +505,9 @@ public class ActivityStarterTests extends WindowTestsBase { .setCreateActivity(true) .build() .getTopMostActivity(); - splitPrimaryActivity.mVisibleRequested = splitSecondActivity.mVisibleRequested = true; + + splitPrimaryActivity.setVisibleRequested(true); + splitSecondActivity.setVisibleRequested(true); assertEquals(splitOrg.mPrimary, splitPrimaryActivity.getRootTask()); assertEquals(splitOrg.mSecondary, splitSecondActivity.getRootTask()); @@ -518,7 +520,7 @@ public class ActivityStarterTests extends WindowTestsBase { .setCreateActivity(true).build().getTopMostActivity(); final ActivityRecord translucentActivity = new TaskBuilder(mSupervisor) .setCreateActivity(true).build().getTopMostActivity(); - assertTrue(activity.mVisibleRequested); + assertTrue(activity.isVisibleRequested()); final ActivityStarter starter = prepareStarter(FLAG_ACTIVITY_NEW_TASK, false /* mockGetRootTask */); @@ -919,7 +921,7 @@ public class ActivityStarterTests extends WindowTestsBase { ACTIVITY_TYPE_STANDARD, false /* onTop */)); // Activity should start invisible since we are bringing it to front. singleTaskActivity.setVisible(false); - singleTaskActivity.mVisibleRequested = false; + singleTaskActivity.setVisibleRequested(false); // Create another activity on top of the secondary display. final Task topStack = secondaryTaskContainer.createRootTask(WINDOWING_MODE_FULLSCREEN, @@ -1137,7 +1139,7 @@ public class ActivityStarterTests extends WindowTestsBase { final ActivityStarter starter = prepareStarter(0 /* flags */); final ActivityRecord target = new ActivityBuilder(mAtm).setCreateTask(true).build(); starter.mStartActivity = target; - target.mVisibleRequested = false; + target.setVisibleRequested(false); target.setTurnScreenOn(true); // Assume the flag was consumed by relayout. target.setCurrentLaunchCanTurnScreenOn(false); @@ -1458,10 +1460,10 @@ public class ActivityStarterTests extends WindowTestsBase { final ActivityRecord activityTop = new ActivityBuilder(mAtm).setTask(task).build(); activityBot.setVisible(false); - activityBot.mVisibleRequested = false; + activityBot.setVisibleRequested(false); assertTrue(activityTop.isVisible()); - assertTrue(activityTop.mVisibleRequested); + assertTrue(activityTop.isVisibleRequested()); final ActivityStarter starter = prepareStarter(FLAG_ACTIVITY_REORDER_TO_FRONT | FLAG_ACTIVITY_NEW_TASK, false /* mockGetRootTask */); diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java index 2fccd64bcecac..368b750967c07 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityTaskManagerServiceTests.java @@ -344,7 +344,7 @@ public class ActivityTaskManagerServiceTests extends WindowTestsBase { // Assume the activity is finishing and hidden because it was crashed. activity.finishing = true; - activity.mVisibleRequested = false; + activity.setVisibleRequested(false); activity.setVisible(false); activity.getTask().setPausingActivity(activity); homeActivity.setState(PAUSED, "test"); diff --git a/services/tests/wmtests/src/com/android/server/wm/AppTransitionControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/AppTransitionControllerTest.java index 43e79f9cbb15c..f72933a697ae6 100644 --- a/services/tests/wmtests/src/com/android/server/wm/AppTransitionControllerTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/AppTransitionControllerTest.java @@ -122,7 +122,7 @@ public class AppTransitionControllerTest extends WindowTestsBase { final ActivityRecord top = createActivityRecord(task); top.setState(ActivityRecord.State.RESUMED, "test"); behind.setState(ActivityRecord.State.STARTED, "test"); - behind.mVisibleRequested = true; + behind.setVisibleRequested(true); task.removeActivities("test", false /* excludingTaskOverlay */); assertFalse(mDisplayContent.mAppTransition.isReady()); @@ -294,7 +294,7 @@ public class AppTransitionControllerTest extends WindowTestsBase { final ActivityRecord activity2 = createActivityRecord(mDisplayContent); activity2.setVisible(false); - activity2.mVisibleRequested = false; + activity2.setVisibleRequested(false); final ArraySet opening = new ArraySet<>(); opening.add(activity1); @@ -319,12 +319,12 @@ public class AppTransitionControllerTest extends WindowTestsBase { // +- [Task2] - [ActivityRecord2] (opening, visible) final ActivityRecord activity1 = createActivityRecord(mDisplayContent); activity1.setVisible(true); - activity1.mVisibleRequested = true; + activity1.setVisibleRequested(true); activity1.mRequestForceTransition = true; final ActivityRecord activity2 = createActivityRecord(mDisplayContent); activity2.setVisible(false); - activity2.mVisibleRequested = false; + activity2.setVisibleRequested(false); activity2.mRequestForceTransition = true; final ArraySet opening = new ArraySet<>(); @@ -391,7 +391,7 @@ public class AppTransitionControllerTest extends WindowTestsBase { final ActivityRecord activity2 = createActivityRecord(mDisplayContent); activity2.setVisible(false); - activity2.mVisibleRequested = false; + activity2.setVisibleRequested(false); attrs.setTitle("AppWindow2"); final TestWindowState appWindow2 = createWindowState(attrs, activity2); appWindow2.mWillReplaceWindow = true; @@ -424,17 +424,17 @@ public class AppTransitionControllerTest extends WindowTestsBase { // +- [ActivityRecord4] (invisible) final ActivityRecord activity1 = createActivityRecord(mDisplayContent); activity1.setVisible(false); - activity1.mVisibleRequested = true; + activity1.setVisibleRequested(true); final ActivityRecord activity2 = createActivityRecord(mDisplayContent, activity1.getTask()); activity2.setVisible(false); - activity2.mVisibleRequested = false; + activity2.setVisibleRequested(false); final ActivityRecord activity3 = createActivityRecord(mDisplayContent); final ActivityRecord activity4 = createActivityRecord(mDisplayContent, activity3.getTask()); activity4.setVisible(false); - activity4.mVisibleRequested = false; + activity4.setVisibleRequested(false); final ArraySet opening = new ArraySet<>(); opening.add(activity1); @@ -459,7 +459,7 @@ public class AppTransitionControllerTest extends WindowTestsBase { // +- [ActivityRecord2] (closing, visible) final ActivityRecord activity1 = createActivityRecord(mDisplayContent); activity1.setVisible(false); - activity1.mVisibleRequested = true; + activity1.setVisibleRequested(true); final ActivityRecord activity2 = createActivityRecord(mDisplayContent, activity1.getTask()); @@ -490,7 +490,7 @@ public class AppTransitionControllerTest extends WindowTestsBase { final ActivityRecord activity1 = createActivityRecord(mDisplayContent); activity1.setVisible(false); - activity1.mVisibleRequested = true; + activity1.setVisibleRequested(true); activity1.setOccludesParent(false); final ActivityRecord activity2 = createActivityRecord(mDisplayContent, @@ -528,13 +528,13 @@ public class AppTransitionControllerTest extends WindowTestsBase { final ActivityRecord activity1 = createActivityRecord(mDisplayContent); activity1.setVisible(false); - activity1.mVisibleRequested = true; + activity1.setVisibleRequested(true); activity1.setOccludesParent(false); final ActivityRecord activity2 = createActivityRecord(mDisplayContent, activity1.getTask()); activity2.setVisible(false); - activity2.mVisibleRequested = true; + activity2.setVisibleRequested(true); final ActivityRecord activity3 = createActivityRecord(mDisplayContent); activity3.setOccludesParent(false); @@ -567,7 +567,7 @@ public class AppTransitionControllerTest extends WindowTestsBase { final Task parentTask = createTask(mDisplayContent); final ActivityRecord activity1 = createActivityRecordWithParentTask(parentTask); activity1.setVisible(false); - activity1.mVisibleRequested = true; + activity1.setVisibleRequested(true); final ActivityRecord activity2 = createActivityRecordWithParentTask(parentTask); final ArraySet opening = new ArraySet<>(); @@ -600,10 +600,10 @@ public class AppTransitionControllerTest extends WindowTestsBase { splitRoot1.setAdjacentTaskFragment(splitRoot2); final ActivityRecord activity1 = createActivityRecordWithParentTask(splitRoot1); activity1.setVisible(false); - activity1.mVisibleRequested = true; + activity1.setVisibleRequested(true); final ActivityRecord activity2 = createActivityRecordWithParentTask(splitRoot2); activity2.setVisible(false); - activity2.mVisibleRequested = true; + activity2.setVisibleRequested(true); final ArraySet opening = new ArraySet<>(); opening.add(activity1); @@ -626,13 +626,13 @@ public class AppTransitionControllerTest extends WindowTestsBase { false /* createEmbeddedTask */); final ActivityRecord activity1 = taskFragment1.getTopMostActivity(); activity1.setVisible(false); - activity1.mVisibleRequested = true; + activity1.setVisibleRequested(true); final TaskFragment taskFragment2 = createTaskFragmentWithParentTask(parentTask, false /* createEmbeddedTask */); final ActivityRecord activity2 = taskFragment2.getTopMostActivity(); activity2.setVisible(true); - activity2.mVisibleRequested = false; + activity2.setVisibleRequested(false); final ArraySet opening = new ArraySet<>(); opening.add(activity1); @@ -657,13 +657,13 @@ public class AppTransitionControllerTest extends WindowTestsBase { true /* createEmbeddedTask */); final ActivityRecord activity1 = taskFragment1.getTopMostActivity(); activity1.setVisible(false); - activity1.mVisibleRequested = true; + activity1.setVisibleRequested(true); final TaskFragment taskFragment2 = createTaskFragmentWithParentTask(parentTask, true /* createEmbeddedTask */); final ActivityRecord activity2 = taskFragment2.getTopMostActivity(); activity2.setVisible(true); - activity2.mVisibleRequested = false; + activity2.setVisibleRequested(false); final ArraySet opening = new ArraySet<>(); opening.add(activity1); @@ -688,11 +688,11 @@ public class AppTransitionControllerTest extends WindowTestsBase { false /* createEmbeddedTask */); final ActivityRecord activity1 = taskFragment1.getTopMostActivity(); activity1.setVisible(false); - activity1.mVisibleRequested = true; + activity1.setVisibleRequested(true); final ActivityRecord activity2 = createActivityRecord(mDisplayContent); activity2.setVisible(true); - activity2.mVisibleRequested = false; + activity2.setVisibleRequested(false); final ArraySet opening = new ArraySet<>(); opening.add(activity1); @@ -718,11 +718,11 @@ public class AppTransitionControllerTest extends WindowTestsBase { false /* createEmbeddedTask */); final ActivityRecord activity1 = taskFragment1.getTopMostActivity(); activity1.setVisible(true); - activity1.mVisibleRequested = false; + activity1.setVisibleRequested(false); final ActivityRecord activity2 = createActivityRecord(mDisplayContent); activity2.setVisible(false); - activity2.mVisibleRequested = true; + activity2.setVisibleRequested(true); final ArraySet opening = new ArraySet<>(); opening.add(activity2); @@ -745,13 +745,13 @@ public class AppTransitionControllerTest extends WindowTestsBase { // +- [Task2] (embedded) - [ActivityRecord2] (opening, invisible) final ActivityRecord activity1 = createActivityRecord(mDisplayContent); activity1.setVisible(false); - activity1.mVisibleRequested = true; + activity1.setVisibleRequested(true); final Task task2 = createTask(mDisplayContent); task2.mRemoveWithTaskOrganizer = true; final ActivityRecord activity2 = createActivityRecord(task2); activity2.setVisible(false); - activity2.mVisibleRequested = true; + activity2.setVisibleRequested(true); final ArraySet opening = new ArraySet<>(); opening.add(activity1); @@ -779,7 +779,7 @@ public class AppTransitionControllerTest extends WindowTestsBase { final ActivityRecord activity1 = createActivityRecord(task); activity1.setVisible(false); - activity1.mVisibleRequested = true; + activity1.setVisibleRequested(true); final ActivityRecord activity2 = createActivityRecord(task); final ArraySet opening = new ArraySet<>(); @@ -1295,6 +1295,8 @@ public class AppTransitionControllerTest extends WindowTestsBase { @Test public void testTransitionGoodToGoForTaskFragments_detachedApp() { final TaskFragmentOrganizer organizer = new TaskFragmentOrganizer(Runnable::run); + final ITaskFragmentOrganizer iOrganizer = getITaskFragmentOrganizer(organizer); + mAtm.mTaskFragmentOrganizerController.registerOrganizer(iOrganizer); final Task task = createTask(mDisplayContent); final TaskFragment changeTaskFragment = createTaskFragmentWithEmbeddedActivity(task, organizer); diff --git a/services/tests/wmtests/src/com/android/server/wm/AppTransitionTests.java b/services/tests/wmtests/src/com/android/server/wm/AppTransitionTests.java index 8cfe503d61d74..32c3a49907be0 100644 --- a/services/tests/wmtests/src/com/android/server/wm/AppTransitionTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/AppTransitionTests.java @@ -420,11 +420,11 @@ public class AppTransitionTests extends WindowTestsBase { // Simulate activity1 launches activity2. final ActivityRecord activity1 = createActivityRecord(task); activity1.setVisible(true); - activity1.mVisibleRequested = false; + activity1.setVisibleRequested(false); activity1.allDrawn = true; final ActivityRecord activity2 = createActivityRecord(task); activity2.setVisible(false); - activity2.mVisibleRequested = true; + activity2.setVisibleRequested(true); activity2.allDrawn = true; dc.mClosingApps.add(activity1); diff --git a/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java b/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java index 63f4f5f5b9fb2..98e68ca997206 100644 --- a/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java @@ -588,7 +588,7 @@ public class DisplayContentTests extends WindowTestsBase { assertEquals(window1, mWm.mRoot.getTopFocusedDisplayContent().mCurrentFocus); // Make sure top focused display not changed if there is a focused app. - window1.mActivityRecord.mVisibleRequested = false; + window1.mActivityRecord.setVisibleRequested(false); window1.getDisplayContent().setFocusedApp(window1.mActivityRecord); updateFocusedWindow(); assertTrue(!window1.isFocused()); @@ -1104,7 +1104,7 @@ public class DisplayContentTests extends WindowTestsBase { public void testOrientationBehind() { final ActivityRecord prev = new ActivityBuilder(mAtm).setCreateTask(true) .setScreenOrientation(getRotatedOrientation(mDisplayContent)).build(); - prev.mVisibleRequested = false; + prev.setVisibleRequested(false); final ActivityRecord top = new ActivityBuilder(mAtm).setCreateTask(true) .setScreenOrientation(SCREEN_ORIENTATION_BEHIND).build(); assertNotEquals(WindowConfiguration.ROTATION_UNDEFINED, diff --git a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java index 8546763aebecf..48084743afde6 100644 --- a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java @@ -172,12 +172,12 @@ public class RecentsAnimationControllerTest extends WindowTestsBase { // executed. final ActivityRecord activity1 = createActivityRecord(task); activity1.setVisible(true); - activity1.mVisibleRequested = false; + activity1.setVisibleRequested(false); activity1.addWindow(createWindowState(new LayoutParams(TYPE_BASE_APPLICATION), activity1)); final ActivityRecord activity2 = createActivityRecord(task); activity2.setVisible(false); - activity2.mVisibleRequested = true; + activity2.setVisibleRequested(true); mDefaultDisplay.getConfiguration().windowConfiguration.setRotation( mDefaultDisplay.getRotation()); diff --git a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java index a1d6a5006fef7..95623f0ab4907 100644 --- a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationTest.java @@ -111,14 +111,14 @@ public class RecentsAnimationTest extends WindowTestsBase { RecentsAnimationCallbacks recentsAnimation = startRecentsActivity( mRecentsComponent, true /* getRecentsAnimation */); // The launch-behind state should make the recents activity visible. - assertTrue(recentActivity.mVisibleRequested); + assertTrue(recentActivity.isVisibleRequested()); assertEquals(ActivityTaskManagerService.DEMOTE_TOP_REASON_ANIMATING_RECENTS, mAtm.mDemoteTopAppReasons); // Simulate the animation is cancelled without changing the stack order. recentsAnimation.onAnimationFinished(REORDER_KEEP_IN_PLACE, false /* sendUserLeaveHint */); // The non-top recents activity should be invisible by the restored launch-behind state. - assertFalse(recentActivity.mVisibleRequested); + assertFalse(recentActivity.isVisibleRequested()); assertEquals(0, mAtm.mDemoteTopAppReasons); } @@ -163,7 +163,7 @@ public class RecentsAnimationTest extends WindowTestsBase { // The activity is started in background so it should be invisible and will be stopped. assertThat(recentsActivity).isNotNull(); assertThat(mSupervisor.mStoppingActivities).contains(recentsActivity); - assertFalse(recentsActivity.mVisibleRequested); + assertFalse(recentsActivity.isVisibleRequested()); // Assume it is stopped to test next use case. recentsActivity.activityStopped(null /* newIcicle */, null /* newPersistentState */, @@ -359,7 +359,7 @@ public class RecentsAnimationTest extends WindowTestsBase { true); // Ensure we find the task for the right user and it is made visible - assertTrue(otherUserHomeActivity.mVisibleRequested); + assertTrue(otherUserHomeActivity.isVisibleRequested()); } private void startRecentsActivity() { diff --git a/services/tests/wmtests/src/com/android/server/wm/RootTaskTests.java b/services/tests/wmtests/src/com/android/server/wm/RootTaskTests.java index b46e90da39447..db26b272b6359 100644 --- a/services/tests/wmtests/src/com/android/server/wm/RootTaskTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/RootTaskTests.java @@ -1068,7 +1068,7 @@ public class RootTaskTests extends WindowTestsBase { activity.app = null; overlayActivity.app = null; // Simulate the process is dead - activity.mVisibleRequested = false; + activity.setVisibleRequested(false); activity.setState(DESTROYED, "Test"); assertEquals(2, task.getChildCount()); @@ -1205,7 +1205,7 @@ public class RootTaskTests extends WindowTestsBase { // There is still an activity1 in rootTask1 so the activity2 should be added to finishing // list that will be destroyed until idle. - rootTask2.getTopNonFinishingActivity().mVisibleRequested = true; + rootTask2.getTopNonFinishingActivity().setVisibleRequested(true); final ActivityRecord activity2 = finishTopActivity(rootTask2); assertEquals(STOPPING, activity2.getState()); assertThat(mSupervisor.mStoppingActivities).contains(activity2); @@ -1410,7 +1410,7 @@ public class RootTaskTests extends WindowTestsBase { new ActivityBuilder(mAtm).setTask(task).build(); // The scenario we are testing is when the app isn't visible yet. nonTopVisibleActivity.setVisible(false); - nonTopVisibleActivity.mVisibleRequested = false; + nonTopVisibleActivity.setVisibleRequested(false); doReturn(false).when(nonTopVisibleActivity).attachedToProcess(); doReturn(true).when(nonTopVisibleActivity).shouldBeVisibleUnchecked(); doNothing().when(mSupervisor).startSpecificActivity(any(), anyBoolean(), diff --git a/services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java b/services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java index 64c1e05da2cd2..b89643cba1161 100644 --- a/services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java @@ -172,7 +172,7 @@ public class RootWindowContainerTests extends WindowTestsBase { public void testTaskLayerRank() { final Task rootTask = new TaskBuilder(mSupervisor).build(); final Task task1 = new TaskBuilder(mSupervisor).setParentTaskFragment(rootTask).build(); - new ActivityBuilder(mAtm).setTask(task1).build().mVisibleRequested = true; + new ActivityBuilder(mAtm).setTask(task1).build().setVisibleRequested(true); mWm.mRoot.rankTaskLayers(); assertEquals(1, task1.mLayerRank); @@ -180,7 +180,7 @@ public class RootWindowContainerTests extends WindowTestsBase { assertEquals(Task.LAYER_RANK_INVISIBLE, rootTask.mLayerRank); final Task task2 = new TaskBuilder(mSupervisor).build(); - new ActivityBuilder(mAtm).setTask(task2).build().mVisibleRequested = true; + new ActivityBuilder(mAtm).setTask(task2).build().setVisibleRequested(true); mWm.mRoot.rankTaskLayers(); // Note that ensureActivitiesVisible is disabled in SystemServicesTestRule, so both the diff --git a/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java b/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java index 06eea298600c1..384fea6d556e4 100644 --- a/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java @@ -167,7 +167,7 @@ public class SizeCompatTests extends WindowTestsBase { public void testRestartProcessIfVisible() { setUpDisplaySizeWithApp(1000, 2500); doNothing().when(mSupervisor).scheduleRestartTimeout(mActivity); - mActivity.mVisibleRequested = true; + mActivity.setVisibleRequested(true); mActivity.setSavedState(null /* savedState */); mActivity.setState(RESUMED, "testRestart"); prepareUnresizable(mActivity, 1.5f /* maxAspect */, SCREEN_ORIENTATION_UNSPECIFIED); @@ -551,7 +551,7 @@ public class SizeCompatTests extends WindowTestsBase { resizeDisplay(display, 900, 1800); mActivity.setState(STOPPED, "testSizeCompatMode"); - mActivity.mVisibleRequested = false; + mActivity.setVisibleRequested(false); mActivity.visibleIgnoringKeyguard = false; mActivity.app.setReportedProcState(ActivityManager.PROCESS_STATE_CACHED_ACTIVITY); mActivity.app.computeProcessActivityState(); @@ -603,7 +603,7 @@ public class SizeCompatTests extends WindowTestsBase { // Make the activity resizable again by restarting it clearInvocations(mTask); mActivity.info.resizeMode = RESIZE_MODE_RESIZEABLE; - mActivity.mVisibleRequested = true; + mActivity.setVisibleRequested(true); mActivity.restartProcessIfVisible(); // The full lifecycle isn't hooked up so manually set state to resumed mActivity.setState(RESUMED, "testHandleActivitySizeCompatModeChanged"); @@ -3185,7 +3185,7 @@ public class SizeCompatTests extends WindowTestsBase { task.mResizeMode = activity.info.resizeMode; task.getRootActivity().info.resizeMode = activity.info.resizeMode; } - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); if (maxAspect >= 0) { activity.info.setMaxAspectRatio(maxAspect); } diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java b/services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java index 7f09606d1c3a4..e660db57fb694 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java @@ -398,7 +398,7 @@ public class TaskDisplayAreaTests extends WindowTestsBase { .setParentTask(rootHomeTask).setCreateTask(true).build(); } homeActivity.setVisible(false); - homeActivity.mVisibleRequested = true; + homeActivity.setVisibleRequested(true); assertFalse(rootHomeTask.isVisible()); assertEquals(defaultTaskDisplayArea.getOrientation(), rootHomeTask.getOrientation()); diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java index 2b493145f854b..834302e82507b 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java @@ -370,7 +370,8 @@ public class TaskFragmentOrganizerControllerTest extends WindowTestsBase { mController.onActivityReparentedToTask(activity); mController.dispatchPendingEvents(); - assertTaskFragmentParentInfoChangedTransaction(task); + // There will not be TaskFragmentParentInfoChanged because Task visible request is changed + // before the organized TaskFragment is added to the Task. assertActivityReparentedToTaskTransaction(task.mTaskId, activity.intent, activity.token); } @@ -1159,6 +1160,7 @@ public class TaskFragmentOrganizerControllerTest extends WindowTestsBase { doReturn(false).when(task).shouldBeVisible(any()); // Dispatch the initial event in the Task to update the Task visibility to the organizer. + clearInvocations(mOrganizer); mController.onTaskFragmentAppeared(mIOrganizer, taskFragment); mController.dispatchPendingEvents(); verify(mOrganizer).onTransactionReady(any()); diff --git a/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java b/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java index 999523f3ea19e..3fd9dfe8f8824 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java @@ -134,8 +134,8 @@ public class TransitionTests extends WindowTestsBase { changes.put(closing, new Transition.ChangeInfo(true /* vis */, true /* exChg */)); fillChangeMap(changes, newTask); // End states. - closing.mVisibleRequested = false; - opening.mVisibleRequested = true; + closing.setVisibleRequested(false); + opening.setVisibleRequested(true); final int transit = transition.mType; int flags = 0; @@ -198,9 +198,9 @@ public class TransitionTests extends WindowTestsBase { changes.put(closing, new Transition.ChangeInfo(true /* vis */, true /* exChg */)); fillChangeMap(changes, newTask); // End states. - closing.mVisibleRequested = false; - opening.mVisibleRequested = true; - opening2.mVisibleRequested = true; + closing.setVisibleRequested(false); + opening.setVisibleRequested(true); + opening2.setVisibleRequested(true); final int transit = transition.mType; int flags = 0; @@ -247,8 +247,8 @@ public class TransitionTests extends WindowTestsBase { fillChangeMap(changes, tda); // End states. - showing.mVisibleRequested = true; - showing2.mVisibleRequested = true; + showing.setVisibleRequested(true); + showing2.setVisibleRequested(true); final int transit = transition.mType; int flags = 0; @@ -283,16 +283,16 @@ public class TransitionTests extends WindowTestsBase { final Task openTask = createTask(mDisplayContent); final ActivityRecord opening = createActivityRecord(openTask); - opening.mVisibleRequested = false; // starts invisible + opening.setVisibleRequested(false); // starts invisible final Task closeTask = createTask(mDisplayContent); final ActivityRecord closing = createActivityRecord(closeTask); - closing.mVisibleRequested = true; // starts visible + closing.setVisibleRequested(true); // starts visible transition.collectExistenceChange(openTask); transition.collect(opening); transition.collect(closing); - opening.mVisibleRequested = true; - closing.mVisibleRequested = false; + opening.setVisibleRequested(true); + closing.setVisibleRequested(false); ArrayList targets = Transition.calculateTargets( transition.mParticipants, transition.mChanges); @@ -320,7 +320,7 @@ public class TransitionTests extends WindowTestsBase { WINDOWING_MODE_FREEFORM, ACTIVITY_TYPE_STANDARD); final ActivityRecord act = createActivityRecord(tasks[i]); // alternate so that the transition doesn't get promoted to the display area - act.mVisibleRequested = (i % 2) == 0; // starts invisible + act.setVisibleRequested((i % 2) == 0); // starts invisible } // doesn't matter which order collected since participants is a set @@ -328,7 +328,7 @@ public class TransitionTests extends WindowTestsBase { transition.collectExistenceChange(tasks[i]); final ActivityRecord act = tasks[i].getTopMostActivity(); transition.collect(act); - tasks[i].getTopMostActivity().mVisibleRequested = (i % 2) != 0; + tasks[i].getTopMostActivity().setVisibleRequested((i % 2) != 0); } ArrayList targets = Transition.calculateTargets( @@ -357,7 +357,7 @@ public class TransitionTests extends WindowTestsBase { WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD); final ActivityRecord act = createActivityRecord(tasks[i]); // alternate so that the transition doesn't get promoted to the display area - act.mVisibleRequested = (i % 2) == 0; // starts invisible + act.setVisibleRequested((i % 2) == 0); // starts invisible act.visibleIgnoringKeyguard = (i % 2) == 0; if (i == showWallpaperTask) { doReturn(true).when(act).showWallpaper(); @@ -378,7 +378,7 @@ public class TransitionTests extends WindowTestsBase { transition.collectExistenceChange(tasks[i]); final ActivityRecord act = tasks[i].getTopMostActivity(); transition.collect(act); - tasks[i].getTopMostActivity().mVisibleRequested = (i % 2) != 0; + tasks[i].getTopMostActivity().setVisibleRequested((i % 2) != 0); } ArrayList targets = Transition.calculateTargets( @@ -414,9 +414,9 @@ public class TransitionTests extends WindowTestsBase { changes.put(closing, new Transition.ChangeInfo(true /* vis */, true /* exChg */)); fillChangeMap(changes, topTask); // End states. - showing.mVisibleRequested = true; - closing.mVisibleRequested = false; - hiding.mVisibleRequested = false; + showing.setVisibleRequested(true); + closing.setVisibleRequested(false); + hiding.setVisibleRequested(false); participants.add(belowTask); participants.add(hiding); @@ -446,9 +446,9 @@ public class TransitionTests extends WindowTestsBase { changes.put(closing, new Transition.ChangeInfo(true /* vis */, false /* exChg */)); fillChangeMap(changes, topTask); // End states. - showing.mVisibleRequested = true; - opening.mVisibleRequested = true; - closing.mVisibleRequested = false; + showing.setVisibleRequested(true); + opening.setVisibleRequested(true); + closing.setVisibleRequested(false); participants.add(belowTask); participants.add(showing); @@ -528,19 +528,19 @@ public class TransitionTests extends WindowTestsBase { @Test public void testOpenActivityInTheSameTaskWithDisplayChange() { final ActivityRecord closing = createActivityRecord(mDisplayContent); - closing.mVisibleRequested = true; + closing.setVisibleRequested(true); final Task task = closing.getTask(); makeTaskOrganized(task); final ActivityRecord opening = createActivityRecord(task); - opening.mVisibleRequested = false; + opening.setVisibleRequested(false); makeDisplayAreaOrganized(mDisplayContent.getDefaultTaskDisplayArea(), mDisplayContent); final WindowContainer[] wcs = { closing, opening, task, mDisplayContent }; final Transition transition = createTestTransition(TRANSIT_OPEN); for (WindowContainer wc : wcs) { transition.collect(wc); } - closing.mVisibleRequested = false; - opening.mVisibleRequested = true; + closing.setVisibleRequested(false); + opening.setVisibleRequested(true); final int newRotation = mDisplayContent.getWindowConfiguration().getRotation() + 1; for (WindowContainer wc : wcs) { wc.getWindowConfiguration().setRotation(newRotation); @@ -583,9 +583,9 @@ public class TransitionTests extends WindowTestsBase { changes.put(changeInChange, new Transition.ChangeInfo(true /* vis */, false /* exChg */)); fillChangeMap(changes, openTask); // End states. - changeInChange.mVisibleRequested = true; - openInOpen.mVisibleRequested = true; - openInChange.mVisibleRequested = true; + changeInChange.setVisibleRequested(true); + openInOpen.setVisibleRequested(true); + openInChange.setVisibleRequested(true); final int transit = transition.mType; int flags = 0; @@ -641,8 +641,8 @@ public class TransitionTests extends WindowTestsBase { changes.put(closing, new Transition.ChangeInfo(true /* vis */, false /* exChg */)); fillChangeMap(changes, newTask); // End states. - closing.mVisibleRequested = true; - opening.mVisibleRequested = true; + closing.setVisibleRequested(true); + opening.setVisibleRequested(true); final int transit = transition.mType; int flags = 0; @@ -682,8 +682,8 @@ public class TransitionTests extends WindowTestsBase { changes.put(closing, new Transition.ChangeInfo(true /* vis */, false /* exChg */)); fillChangeMap(changes, newTask); // End states. - closing.mVisibleRequested = true; - opening.mVisibleRequested = true; + closing.setVisibleRequested(true); + opening.setVisibleRequested(true); final int transit = transition.mType; int flags = 0; @@ -959,7 +959,7 @@ public class TransitionTests extends WindowTestsBase { home.mTransitionController.requestStartTransition(transition, home.getTask(), null /* remoteTransition */, null /* displayChange */); transition.collectExistenceChange(home); - home.mVisibleRequested = true; + home.setVisibleRequested(true); mDisplayContent.setFixedRotationLaunchingAppUnchecked(home); doReturn(true).when(home).hasFixedRotationTransform(any()); player.startTransition(); @@ -995,12 +995,12 @@ public class TransitionTests extends WindowTestsBase { // Start out with task2 visible and set up a transition that closes task2 and opens task1 final Task task1 = createTask(mDisplayContent); final ActivityRecord activity1 = createActivityRecord(task1); - activity1.mVisibleRequested = false; + activity1.setVisibleRequested(false); activity1.setVisible(false); final Task task2 = createTask(mDisplayContent); makeTaskOrganized(task1, task2); final ActivityRecord activity2 = createActivityRecord(task1); - activity2.mVisibleRequested = true; + activity2.setVisibleRequested(true); activity2.setVisible(true); openTransition.collectExistenceChange(task1); @@ -1008,9 +1008,9 @@ public class TransitionTests extends WindowTestsBase { openTransition.collectExistenceChange(task2); openTransition.collectExistenceChange(activity2); - activity1.mVisibleRequested = true; + activity1.setVisibleRequested(true); activity1.setVisible(true); - activity2.mVisibleRequested = false; + activity2.setVisibleRequested(false); // Using abort to force-finish the sync (since we can't wait for drawing in unit test). // We didn't call abort on the transition itself, so it will still run onTransactionReady @@ -1026,8 +1026,8 @@ public class TransitionTests extends WindowTestsBase { closeTransition.collectExistenceChange(task2); closeTransition.collectExistenceChange(activity2); - activity1.mVisibleRequested = false; - activity2.mVisibleRequested = true; + activity1.setVisibleRequested(false); + activity2.setVisibleRequested(true); openTransition.finishTransition(); @@ -1069,12 +1069,12 @@ public class TransitionTests extends WindowTestsBase { // Start out with task2 visible and set up a transition that closes task2 and opens task1 final Task task1 = createTask(mDisplayContent); final ActivityRecord activity1 = createActivityRecord(task1); - activity1.mVisibleRequested = false; + activity1.setVisibleRequested(false); activity1.setVisible(false); final Task task2 = createTask(mDisplayContent); makeTaskOrganized(task1, task2); final ActivityRecord activity2 = createActivityRecord(task2); - activity2.mVisibleRequested = true; + activity2.setVisibleRequested(true); activity2.setVisible(true); openTransition.collectExistenceChange(task1); @@ -1082,9 +1082,9 @@ public class TransitionTests extends WindowTestsBase { openTransition.collectExistenceChange(task2); openTransition.collectExistenceChange(activity2); - activity1.mVisibleRequested = true; + activity1.setVisibleRequested(true); activity1.setVisible(true); - activity2.mVisibleRequested = false; + activity2.setVisibleRequested(false); // Using abort to force-finish the sync (since we can't wait for drawing in unit test). // We didn't call abort on the transition itself, so it will still run onTransactionReady @@ -1104,8 +1104,8 @@ public class TransitionTests extends WindowTestsBase { closeTransition.collectExistenceChange(activity2); closeTransition.setTransientLaunch(activity2, null /* restoreBelow */); - activity1.mVisibleRequested = false; - activity2.mVisibleRequested = true; + activity1.setVisibleRequested(false); + activity2.setVisibleRequested(true); activity2.setVisible(true); // Using abort to force-finish the sync (since we obviously can't wait for drawing). @@ -1163,8 +1163,8 @@ public class TransitionTests extends WindowTestsBase { changes.put(activity0, new Transition.ChangeInfo(true /* vis */, false /* exChg */)); changes.put(activity1, new Transition.ChangeInfo(false /* vis */, false /* exChg */)); // End states. - activity0.mVisibleRequested = false; - activity1.mVisibleRequested = true; + activity0.setVisibleRequested(false); + activity1.setVisibleRequested(true); participants.add(activity0); participants.add(activity1); @@ -1207,9 +1207,9 @@ public class TransitionTests extends WindowTestsBase { changes.put(nonEmbeddedActivity, new Transition.ChangeInfo(true /* vis */, false /* exChg */)); // End states. - closingActivity.mVisibleRequested = false; - openingActivity.mVisibleRequested = true; - nonEmbeddedActivity.mVisibleRequested = false; + closingActivity.setVisibleRequested(false); + openingActivity.setVisibleRequested(true); + nonEmbeddedActivity.setVisibleRequested(false); participants.add(closingActivity); participants.add(openingActivity); @@ -1252,8 +1252,8 @@ public class TransitionTests extends WindowTestsBase { false /* exChg */)); changes.put(embeddedTf, new Transition.ChangeInfo(false /* vis */, true /* exChg */)); // End states. - nonEmbeddedActivity.mVisibleRequested = false; - embeddedActivity.mVisibleRequested = true; + nonEmbeddedActivity.setVisibleRequested(false); + embeddedActivity.setVisibleRequested(true); embeddedTf.setBounds(new Rect(0, 0, 500, 500)); participants.add(nonEmbeddedActivity); @@ -1282,11 +1282,11 @@ public class TransitionTests extends WindowTestsBase { final ActivityRecord activity = createActivityRecord(task); // Start states: set bounds to make sure the start bounds is ignored if it is not visible. activity.getConfiguration().windowConfiguration.setBounds(new Rect(0, 0, 250, 500)); - activity.mVisibleRequested = false; + activity.setVisibleRequested(false); changes.put(activity, new Transition.ChangeInfo(activity)); // End states: reset bounds to fill Task. activity.getConfiguration().windowConfiguration.setBounds(taskBounds); - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); participants.add(activity); final ArrayList targets = Transition.calculateTargets( @@ -1310,11 +1310,11 @@ public class TransitionTests extends WindowTestsBase { task.getConfiguration().windowConfiguration.setBounds(taskBounds); final ActivityRecord activity = createActivityRecord(task); // Start states: fills Task without override. - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); changes.put(activity, new Transition.ChangeInfo(activity)); // End states: set bounds to make sure the start bounds is ignored if it is not visible. activity.getConfiguration().windowConfiguration.setBounds(new Rect(0, 0, 250, 500)); - activity.mVisibleRequested = false; + activity.setVisibleRequested(false); participants.add(activity); final ArrayList targets = Transition.calculateTargets( @@ -1337,12 +1337,12 @@ public class TransitionTests extends WindowTestsBase { final Task lastParent = createTask(mDisplayContent); final Task newParent = createTask(mDisplayContent); final ActivityRecord activity = createActivityRecord(lastParent); - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); // Skip manipulate the SurfaceControl. doNothing().when(activity).setDropInputMode(anyInt()); changes.put(activity, new Transition.ChangeInfo(activity)); activity.reparent(newParent, POSITION_TOP); - activity.mVisibleRequested = false; + activity.setVisibleRequested(false); participants.add(activity); final ArrayList targets = Transition.calculateTargets( @@ -1362,7 +1362,7 @@ public class TransitionTests extends WindowTestsBase { final Task task = createTask(mDisplayContent); task.setBounds(new Rect(0, 0, 2000, 1000)); final ActivityRecord activity = createActivityRecord(task); - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); // Skip manipulate the SurfaceControl. doNothing().when(activity).setDropInputMode(anyInt()); final TaskFragmentOrganizer organizer = new TaskFragmentOrganizer(Runnable::run); @@ -1410,13 +1410,13 @@ public class TransitionTests extends WindowTestsBase { task.setTaskDescription(taskDescription); // Start states: - embeddedActivity.mVisibleRequested = true; - nonEmbeddedActivity.mVisibleRequested = false; + embeddedActivity.setVisibleRequested(true); + nonEmbeddedActivity.setVisibleRequested(false); changes.put(embeddedTf, new Transition.ChangeInfo(embeddedTf)); changes.put(nonEmbeddedActivity, new Transition.ChangeInfo(nonEmbeddedActivity)); // End states: - embeddedActivity.mVisibleRequested = false; - nonEmbeddedActivity.mVisibleRequested = true; + embeddedActivity.setVisibleRequested(false); + nonEmbeddedActivity.setVisibleRequested(true); participants.add(embeddedTf); participants.add(nonEmbeddedActivity); @@ -1529,7 +1529,7 @@ public class TransitionTests extends WindowTestsBase { final ActivityRecord activity = createActivityRecord(lastParent); doReturn(true).when(lastParent).shouldRemoveSelfOnLastChildRemoval(); doNothing().when(activity).setDropInputMode(anyInt()); - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); final Transition transition = new Transition(TRANSIT_CHANGE, 0 /* flags */, activity.mTransitionController, mWm.mSyncEngine); diff --git a/services/tests/wmtests/src/com/android/server/wm/UnknownAppVisibilityControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/UnknownAppVisibilityControllerTest.java index 45e1141304206..2fccb88ad8de2 100644 --- a/services/tests/wmtests/src/com/android/server/wm/UnknownAppVisibilityControllerTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/UnknownAppVisibilityControllerTest.java @@ -95,7 +95,7 @@ public class UnknownAppVisibilityControllerTest extends WindowTestsBase { final ActivityRecord activity = createNonAttachedActivityRecord(mDisplayContent); mDisplayContent.mUnknownAppVisibilityController.notifyLaunched(activity); activity.finishing = true; - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); activity.setVisibility(false, false); assertTrue(mDisplayContent.mUnknownAppVisibilityController.allResolved()); } diff --git a/services/tests/wmtests/src/com/android/server/wm/WallpaperControllerTests.java b/services/tests/wmtests/src/com/android/server/wm/WallpaperControllerTests.java index aab70b5f9004b..06a79f47de55d 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WallpaperControllerTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/WallpaperControllerTests.java @@ -311,12 +311,12 @@ public class WallpaperControllerTests extends WindowTestsBase { r.applyFixedRotationTransform(mDisplayContent.getDisplayInfo(), mDisplayContent.mDisplayFrames, mDisplayContent.getConfiguration()); // Invisible requested activity should not share its rotation transform. - r.mVisibleRequested = false; + r.setVisibleRequested(false); mDisplayContent.mWallpaperController.adjustWallpaperWindows(); assertFalse(wallpaperToken.hasFixedRotationTransform()); // Wallpaper should link the transform of its target. - r.mVisibleRequested = true; + r.setVisibleRequested(true); mDisplayContent.mWallpaperController.adjustWallpaperWindows(); assertEquals(appWin, mDisplayContent.mWallpaperController.getWallpaperTarget()); assertTrue(r.hasFixedRotationTransform()); diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowManagerServiceTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowManagerServiceTests.java index b0d7ed660837b..7ca358a12b36d 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WindowManagerServiceTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/WindowManagerServiceTests.java @@ -191,7 +191,7 @@ public class WindowManagerServiceTests extends WindowTestsBase { win.mViewVisibility = View.VISIBLE; win.mHasSurface = true; win.mActivityRecord.mAppStopped = true; - win.mActivityRecord.mVisibleRequested = false; + win.mActivityRecord.setVisibleRequested(false); win.mActivityRecord.setVisible(false); mWm.mWindowMap.put(win.mClient.asBinder(), win); final int w = 100; diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java index 8deb2825c4f99..df3b306d67395 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java @@ -994,7 +994,7 @@ public class WindowOrganizerTests extends WindowTestsBase { final Task task = createTask(rootTaskController1); final WindowState w = createAppWindow(task, TYPE_APPLICATION, "Enlightened Window"); - w.mActivityRecord.mVisibleRequested = true; + w.mActivityRecord.setVisibleRequested(true); w.mActivityRecord.setVisible(true); BLASTSyncEngine bse = new BLASTSyncEngine(mWm); diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowProcessControllerTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowProcessControllerTests.java index 3abf7ce665ae7..8bd414856394a 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WindowProcessControllerTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/WindowProcessControllerTests.java @@ -324,7 +324,7 @@ public class WindowProcessControllerTests extends WindowTestsBase { @Test public void testComputeOomAdjFromActivities() { final ActivityRecord activity = createActivityRecord(mWpc); - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); final int[] callbackResult = { 0 }; final int visible = 1; final int paused = 2; @@ -359,7 +359,7 @@ public class WindowProcessControllerTests extends WindowTestsBase { assertEquals(visible, callbackResult[0]); callbackResult[0] = 0; - activity.mVisibleRequested = false; + activity.setVisibleRequested(false); activity.setState(PAUSED, "test"); mWpc.computeOomAdjFromActivities(callback); assertEquals(paused, callbackResult[0]); @@ -380,7 +380,7 @@ public class WindowProcessControllerTests extends WindowTestsBase { final VisibleActivityProcessTracker tracker = mAtm.mVisibleActivityProcessTracker; spyOn(tracker); final ActivityRecord activity = createActivityRecord(mWpc); - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); activity.setState(STARTED, "test"); verify(tracker).onAnyActivityVisible(mWpc); @@ -398,7 +398,7 @@ public class WindowProcessControllerTests extends WindowTestsBase { assertTrue(mWpc.hasForegroundActivities()); activity.setVisibility(false); - activity.mVisibleRequested = false; + activity.setVisibleRequested(false); activity.setState(STOPPED, "test"); verify(tracker).onAllActivitiesInvisible(mWpc); @@ -413,7 +413,7 @@ public class WindowProcessControllerTests extends WindowTestsBase { @Test public void testTopActivityUiModeChangeScheduleConfigChange() { final ActivityRecord activity = createActivityRecord(mWpc); - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); doReturn(true).when(activity).applyAppSpecificConfig(anyInt(), any()); mWpc.updateAppSpecificSettingsForAllActivitiesInPackage(DEFAULT_COMPONENT_PACKAGE_NAME, Configuration.UI_MODE_NIGHT_YES, LocaleList.forLanguageTags("en-XA")); @@ -423,7 +423,7 @@ public class WindowProcessControllerTests extends WindowTestsBase { @Test public void testTopActivityUiModeChangeForDifferentPackage_noScheduledConfigChange() { final ActivityRecord activity = createActivityRecord(mWpc); - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); mWpc.updateAppSpecificSettingsForAllActivitiesInPackage("com.different.package", Configuration.UI_MODE_NIGHT_YES, LocaleList.forLanguageTags("en-XA")); verify(activity, never()).applyAppSpecificConfig(anyInt(), any()); diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java index 04d873453b2d5..650286a8b111f 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java @@ -263,7 +263,7 @@ public class WindowStateTests extends WindowTestsBase { // Verify that app window can still be IME target as long as it is visible (even if // it is going to become invisible). - appWindow.mActivityRecord.mVisibleRequested = false; + appWindow.mActivityRecord.setVisibleRequested(false); assertTrue(appWindow.canBeImeTarget()); // Make windows invisible @@ -717,7 +717,7 @@ public class WindowStateTests extends WindowTestsBase { // No need to wait for a window of invisible activity even if the window has surface. final WindowState invisibleApp = mAppWindow; - invisibleApp.mActivityRecord.mVisibleRequested = false; + invisibleApp.mActivityRecord.setVisibleRequested(false); invisibleApp.mActivityRecord.allDrawn = false; outWaitingForDrawn.clear(); invisibleApp.requestDrawIfNeeded(outWaitingForDrawn); @@ -735,7 +735,7 @@ public class WindowStateTests extends WindowTestsBase { assertFalse(startingApp.getOrientationChanging()); // Even if the display is frozen, invisible requested window should not be affected. - startingApp.mActivityRecord.mVisibleRequested = false; + startingApp.mActivityRecord.setVisibleRequested(false); mWm.startFreezingDisplay(0, 0, mDisplayContent); doReturn(true).when(mWm.mPolicy).isScreenOn(); startingApp.getWindowFrames().setInsetsChanged(true); @@ -810,7 +810,7 @@ public class WindowStateTests extends WindowTestsBase { final WindowState win = createWindow(null /* parent */, TYPE_APPLICATION, embeddedActivity, "App window"); doReturn(true).when(embeddedActivity).isVisible(); - embeddedActivity.mVisibleRequested = true; + embeddedActivity.setVisibleRequested(true); makeWindowVisible(win); win.mLayoutSeq = win.getDisplayContent().mLayoutSeq; // Set the bounds twice: @@ -835,7 +835,7 @@ public class WindowStateTests extends WindowTestsBase { @Test public void testCantReceiveTouchWhenAppTokenHiddenRequested() { final WindowState win0 = createWindow(null, TYPE_APPLICATION, "win0"); - win0.mActivityRecord.mVisibleRequested = false; + win0.mActivityRecord.setVisibleRequested(false); assertFalse(win0.canReceiveTouchInput()); } diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java b/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java index 894ba3e95261b..268aa3e5f5b46 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java +++ b/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java @@ -715,7 +715,7 @@ class WindowTestsBase extends SystemServiceTestsBase { activity.onDisplayChanged(dc); activity.setOccludesParent(true); activity.setVisible(true); - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); } static TaskFragment createTaskFragmentWithParentTask(@NonNull Task parentTask) { @@ -1209,7 +1209,7 @@ class WindowTestsBase extends SystemServiceTestsBase { mTask.moveToFront("createActivity"); } if (mVisible) { - activity.mVisibleRequested = true; + activity.setVisibleRequested(true); activity.setVisible(true); } }