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:
@@ -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.
|
||||
*
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user