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 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() {
|
public int getTransit() {
|
||||||
return mTransit;
|
return mTransit;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1458,8 +1458,18 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
|||||||
@Override
|
@Override
|
||||||
public boolean canAffectSystemUiFlags() {
|
public boolean canAffectSystemUiFlags() {
|
||||||
final boolean shown = mWinAnimator.getShown();
|
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;
|
final boolean translucent = mAttrs.alpha == 0.0f;
|
||||||
return shown && !exiting && !translucent;
|
return shown && !exiting && !translucent;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user