Merge "Fix flicker when transiting activities without animation." into oc-dr1-dev
am: afe3eb81da
Change-Id: Ia90d8c148df3055794f83cde5ef0a1f7501bdfe9
This commit is contained in:
@@ -431,11 +431,18 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree
|
||||
mEnteringAnimation = true;
|
||||
mService.mActivityManagerAppTransitionNotifier.onAppTransitionFinishedLocked(token);
|
||||
}
|
||||
|
||||
// If we are hidden but there is no delay needed we immediately
|
||||
// apply the Surface transaction so that the ActivityManager
|
||||
// can have some guarantee on the Surface state
|
||||
// following setting the visibility.
|
||||
if (hidden && !delayed) {
|
||||
// can have some guarantee on the Surface state following
|
||||
// setting the visibility. This captures cases like dismissing
|
||||
// the docked or pinned stack where there is no app transition.
|
||||
//
|
||||
// In the case of a "Null" animation, there will be
|
||||
// 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 (hidden && !delayed && !mService.mAppTransition.isTransitionSet()) {
|
||||
SurfaceControl.openTransaction();
|
||||
for (int i = mChildren.size() - 1; i >= 0; i--) {
|
||||
mChildren.get(i).mWinAnimator.hide("immediately hidden");
|
||||
|
||||
Reference in New Issue
Block a user