Merge "Skip immediate hiding from finishTransition" into tm-qpr-dev am: d62ad11b80

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20607491

Change-Id: I98388abaa2a5ebb07c940c06955f4098bef48e8a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Riddle Hsu
2022-12-14 12:30:00 +00:00
committed by Automerger Merge Worker
2 changed files with 8 additions and 10 deletions

View File

@@ -671,7 +671,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
private boolean mCurrentLaunchCanTurnScreenOn = true;
/** Whether our surface was set to be showing in the last call to {@link #prepareSurfaces} */
private boolean mLastSurfaceShowing = true;
private boolean mLastSurfaceShowing;
/**
* The activity is opaque and fills the entire space of this task.
@@ -5499,7 +5499,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
// no animation but there will still be a transition set.
// We still need to delay hiding the surface such that it
// can be synchronized with showing the next surface in the transition.
if (!isVisible() && !delayed && !displayContent.mAppTransition.isTransitionSet()) {
if (!usingShellTransitions && !isVisible() && !delayed
&& !displayContent.mAppTransition.isTransitionSet()) {
SurfaceControl.openTransaction();
try {
forAllWindows(win -> {
@@ -7437,6 +7438,11 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
}
}
@Override
boolean showSurfaceOnCreation() {
return false;
}
@Override
void prepareSurfaces() {
final boolean show = isVisible() || isAnimating(PARENTS,

View File

@@ -635,7 +635,6 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
if (showSurfaceOnCreation()) {
getSyncTransaction().show(mSurfaceControl);
}
onSurfaceShown(getSyncTransaction());
updateSurfacePositionNonOrganized();
}
@@ -687,13 +686,6 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
scheduleAnimation();
}
/**
* Called when the surface is shown for the first time.
*/
void onSurfaceShown(Transaction t) {
// do nothing
}
// Temp. holders for a chain of containers we are currently processing.
private final LinkedList<WindowContainer> mTmpChain1 = new LinkedList<>();
private final LinkedList<WindowContainer> mTmpChain2 = new LinkedList<>();