am 0f36afb8: am 0b3036a5: Merge "Fix issues with TrustDrawable" into lmp-mr1-dev

* commit '0f36afb83b4ada36d43062ee94e0b26f8c080ca5':
  Fix issues with TrustDrawable
This commit is contained in:
Adrian Roos
2014-10-20 15:29:50 +00:00
committed by Android Git Automerger

View File

@@ -133,6 +133,7 @@ public class TrustDrawable extends Drawable {
if (!mAnimating) {
mAnimating = true;
updateState(true);
invalidateSelf();
}
}
@@ -146,18 +147,21 @@ public class TrustDrawable extends Drawable {
mState = STATE_UNSET;
mCurAlpha = 0;
mCurInnerRadius = mInnerRadiusEnter;
invalidateSelf();
}
}
public void setTrustManaged(boolean trustManaged) {
if (trustManaged == mTrustManaged && mState != STATE_UNSET) return;
mTrustManaged = trustManaged;
if (mAnimating) {
updateState(true);
}
updateState(true);
}
private void updateState(boolean animate) {
private void updateState(boolean allowTransientState) {
if (!mAnimating) {
return;
}
int nextState = mState;
if (mState == STATE_UNSET) {
nextState = mTrustManaged ? STATE_ENTERING : STATE_GONE;
@@ -170,7 +174,7 @@ public class TrustDrawable extends Drawable {
} else if (mState == STATE_EXITING) {
if (mTrustManaged) nextState = STATE_ENTERING;
}
if (!animate) {
if (!allowTransientState) {
if (nextState == STATE_ENTERING) nextState = STATE_VISIBLE;
if (nextState == STATE_EXITING) nextState = STATE_GONE;
}
@@ -200,9 +204,8 @@ public class TrustDrawable extends Drawable {
mState = nextState;
if (mCurAnimator != null) {
mCurAnimator.start();
} else {
invalidateSelf();
}
invalidateSelf();
}
}