Revert "Deferring visibility updates while applying WCT"

This reverts commit be3d9a3bde.

Reason for revert: Droidfood Weekly blocking bug: 194040982

Change-Id: If36f29b9275196d6042f0d110ad3cd6346c08931
This commit is contained in:
Daniel Chapin
2021-07-21 16:23:00 +00:00
parent be3d9a3bde
commit 5c4fcb2bf2
4 changed files with 3 additions and 23 deletions

View File

@@ -347,12 +347,6 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks {
*/
private int mVisibilityTransactionDepth;
/**
* Whether to the visibility updates that started from {@code RootWindowContainer} should be
* deferred.
*/
private boolean mDeferRootVisibilityUpdate;
private ActivityMetricsLogger mActivityMetricsLogger;
/** Check if placing task or activity on specified display is allowed. */
@@ -2269,14 +2263,6 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks {
return mVisibilityTransactionDepth > 0;
}
void setDeferRootVisibilityUpdate(boolean deferUpdate) {
mDeferRootVisibilityUpdate = deferUpdate;
}
boolean isRootVisibilityUpdateDeferred() {
return mDeferRootVisibilityUpdate;
}
/**
* Called when the state or visibility of an attached activity is changed.
*

View File

@@ -1973,8 +1973,7 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
*/
void ensureActivitiesVisible(ActivityRecord starting, int configChanges,
boolean preserveWindows, boolean notifyClients) {
if (mTaskSupervisor.inActivityVisibilityUpdate()
|| mTaskSupervisor.isRootVisibilityUpdateDeferred()) {
if (mTaskSupervisor.inActivityVisibilityUpdate()) {
// Don't do recursive work.
return;
}

View File

@@ -4500,10 +4500,8 @@ class Task extends TaskFragment {
mAtmService.continueWindowLayout();
}
if (!mTaskSupervisor.isRootVisibilityUpdateDeferred()) {
mRootWindowContainer.ensureActivitiesVisible(null, 0, PRESERVE_WINDOWS);
mRootWindowContainer.resumeFocusedTasksTopActivities();
}
mRootWindowContainer.ensureActivitiesVisible(null, 0, PRESERVE_WINDOWS);
mRootWindowContainer.resumeFocusedTasksTopActivities();
}
void resumeNextFocusAfterReparent() {

View File

@@ -275,7 +275,6 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub
int effects = 0;
ProtoLog.v(WM_DEBUG_WINDOW_ORGANIZER, "Apply window transaction, syncId=%d", syncId);
mService.deferWindowLayout();
mService.mTaskSupervisor.setDeferRootVisibilityUpdate(true /* deferUpdate */);
try {
if (transition != null) {
// First check if we have a display rotation transition and if so, update it.
@@ -364,7 +363,6 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub
task.setMainWindowSizeChangeTransaction(sft);
}
if ((effects & TRANSACT_EFFECTS_LIFECYCLE) != 0) {
mService.mTaskSupervisor.setDeferRootVisibilityUpdate(false /* deferUpdate */);
// Already calls ensureActivityConfig
mService.mRootWindowContainer.ensureActivitiesVisible(null, 0, PRESERVE_WINDOWS);
mService.mRootWindowContainer.resumeFocusedTasksTopActivities();
@@ -386,7 +384,6 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub
mService.addWindowLayoutReasons(LAYOUT_REASON_CONFIG_CHANGED);
}
} finally {
mService.mTaskSupervisor.setDeferRootVisibilityUpdate(false /* deferUpdate */);
mService.continueWindowLayout();
}
}