Loading services/core/java/com/android/server/wm/AppWindowAnimator.java +8 −0 Original line number Diff line number Diff line Loading @@ -198,6 +198,14 @@ public class AppWindowAnimator { return animation != null || mAppToken.inPendingTransaction; } /** * @return whether an animation is about to start, i.e. the animation is set already but we * haven't processed the first frame yet. */ boolean isAnimationStarting() { return animation != null && !animating; } public int getTransit() { return mTransit; } Loading services/core/java/com/android/server/wm/WindowState.java +12 −2 Original line number Diff line number Diff line Loading @@ -1463,8 +1463,18 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP @Override public boolean canAffectSystemUiFlags() { final boolean shown = mWinAnimator.getShown(); final boolean exiting = mAnimatingExit || mDestroying || mAppToken != null && mAppToken.hidden; // We only consider the app to be exiting when the animation has started. After the app // transition is executed the windows are marked exiting before the new windows have been // shown. Thus, wait considering a window to be exiting after the animation has actually // started. final boolean appAnimationStarting = mAppToken != null && mAppToken.mAppAnimator.isAnimationStarting(); final boolean exitingSelf = mAnimatingExit && (!mWinAnimator.isAnimationStarting() && !appAnimationStarting); final boolean appExiting = mAppToken != null && mAppToken.hidden && !appAnimationStarting; final boolean exiting = exitingSelf || mDestroying || appExiting; final boolean translucent = mAttrs.alpha == 0.0f; return shown && !exiting && !translucent; } Loading Loading
services/core/java/com/android/server/wm/AppWindowAnimator.java +8 −0 Original line number Diff line number Diff line Loading @@ -198,6 +198,14 @@ public class AppWindowAnimator { return animation != null || mAppToken.inPendingTransaction; } /** * @return whether an animation is about to start, i.e. the animation is set already but we * haven't processed the first frame yet. */ boolean isAnimationStarting() { return animation != null && !animating; } public int getTransit() { return mTransit; } Loading
services/core/java/com/android/server/wm/WindowState.java +12 −2 Original line number Diff line number Diff line Loading @@ -1463,8 +1463,18 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP @Override public boolean canAffectSystemUiFlags() { final boolean shown = mWinAnimator.getShown(); final boolean exiting = mAnimatingExit || mDestroying || mAppToken != null && mAppToken.hidden; // We only consider the app to be exiting when the animation has started. After the app // transition is executed the windows are marked exiting before the new windows have been // shown. Thus, wait considering a window to be exiting after the animation has actually // started. final boolean appAnimationStarting = mAppToken != null && mAppToken.mAppAnimator.isAnimationStarting(); final boolean exitingSelf = mAnimatingExit && (!mWinAnimator.isAnimationStarting() && !appAnimationStarting); final boolean appExiting = mAppToken != null && mAppToken.hidden && !appAnimationStarting; final boolean exiting = exitingSelf || mDestroying || appExiting; final boolean translucent = mAttrs.alpha == 0.0f; return shown && !exiting && !translucent; } Loading