Merge "Fixed a bug where the statusbar wasn't interactive" into qt-qpr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8a6113a72b
@@ -590,6 +590,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
|
||||
setScrimAlpha(mScrimInFront, mInFrontAlpha);
|
||||
setScrimAlpha(mScrimBehind, mBehindAlpha);
|
||||
setScrimAlpha(mScrimForBubble, mBubbleAlpha);
|
||||
// The animation could have all already finished, let's call onFinished just in case
|
||||
onFinished();
|
||||
dispatchScrimsVisible();
|
||||
}
|
||||
|
||||
@@ -688,9 +690,9 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
|
||||
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
scrim.setTag(TAG_KEY_ANIM, null);
|
||||
onFinished(lastCallback);
|
||||
|
||||
scrim.setTag(TAG_KEY_ANIM, null);
|
||||
dispatchScrimsVisible();
|
||||
|
||||
if (!mDeferFinishedListener && mOnAnimationFinished != null) {
|
||||
@@ -754,9 +756,9 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
|
||||
}
|
||||
|
||||
private void onFinished(Callback callback) {
|
||||
if (!hasReachedFinalState(mScrimBehind)
|
||||
|| !hasReachedFinalState(mScrimInFront)
|
||||
|| !hasReachedFinalState(mScrimForBubble)) {
|
||||
if (isAnimating(mScrimBehind)
|
||||
|| isAnimating(mScrimInFront)
|
||||
|| isAnimating(mScrimForBubble)) {
|
||||
if (callback != null && callback != mCallback) {
|
||||
// Since we only notify the callback that we're finished once everything has
|
||||
// finished, we need to make sure that any changing callbacks are also invoked
|
||||
@@ -789,11 +791,6 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
|
||||
}
|
||||
}
|
||||
|
||||
private boolean hasReachedFinalState(ScrimView scrim) {
|
||||
return scrim.getViewAlpha() == getCurrentScrimAlpha(scrim)
|
||||
&& scrim.getTint() == getCurrentScrimTint(scrim);
|
||||
}
|
||||
|
||||
private boolean isAnimating(View scrim) {
|
||||
return scrim.getTag(TAG_KEY_ANIM) != null;
|
||||
}
|
||||
@@ -849,10 +846,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
|
||||
} else {
|
||||
// update the alpha directly
|
||||
updateScrimColor(scrim, alpha, getCurrentScrimTint(scrim));
|
||||
onFinished();
|
||||
}
|
||||
} else {
|
||||
onFinished();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user