Merge "Fix light bar flickers" into oc-dr1-dev
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -1458,8 +1458,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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user