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