am 8a718889: Merge "Fix notification icon fading." into jb-dev

* commit '8a71888975aba851edc8916b189f4c73daa1926b':
  Fix notification icon fading.
This commit is contained in:
Chris Wren
2012-06-07 09:49:53 -07:00
committed by Android Git Automerger

View File

@ -65,6 +65,7 @@ import android.view.WindowManagerImpl;
import android.view.animation.AccelerateInterpolator; import android.view.animation.AccelerateInterpolator;
import android.view.animation.Animation; import android.view.animation.Animation;
import android.view.animation.AnimationUtils; import android.view.animation.AnimationUtils;
import android.view.animation.DecelerateInterpolator;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
@ -230,13 +231,11 @@ public class PhoneStatusBar extends BaseStatusBar {
private final Animator.AnimatorListener mMakeIconsInvisible = new AnimatorListenerAdapter() { private final Animator.AnimatorListener mMakeIconsInvisible = new AnimatorListenerAdapter() {
@Override @Override
public void onAnimationEnd(Animator animation) { public void onAnimationEnd(Animator animation) {
mIcons.setVisibility(View.INVISIBLE); // double-check to avoid races
} if (mIcons.getAlpha() == 0) {
}; Slog.d(TAG, "makeIconsInvisible");
private final Animator.AnimatorListener mMakeIconsVisible = new AnimatorListenerAdapter() { mIcons.setVisibility(View.INVISIBLE);
@Override }
public void onAnimationEnd(Animator animation) {
mIcons.setVisibility(View.VISIBLE);
} }
}; };
@ -968,11 +967,26 @@ public class PhoneStatusBar extends BaseStatusBar {
if ((diff & StatusBarManager.DISABLE_SYSTEM_INFO) != 0) { if ((diff & StatusBarManager.DISABLE_SYSTEM_INFO) != 0) {
mIcons.animate().cancel(); mIcons.animate().cancel();
if ((state & StatusBarManager.DISABLE_SYSTEM_INFO) != 0) { if ((state & StatusBarManager.DISABLE_SYSTEM_INFO) != 0) {
mIcons.animate().alpha(0f).setStartDelay(100).setDuration(200). if (mTicking) {
setListener(mMakeIconsInvisible).start(); mTicker.halt();
}
mIcons.animate()
.alpha(0f)
.translationY(mNaturalBarHeight*0.5f)
//.setStartDelay(100)
.setDuration(175)
.setInterpolator(new DecelerateInterpolator(1.5f))
.setListener(mMakeIconsInvisible)
.start();
} else { } else {
mIcons.animate().alpha(1f).setStartDelay(0).setDuration(300). mIcons.setVisibility(View.VISIBLE);
setListener(mMakeIconsVisible).start(); mIcons.animate()
.alpha(1f)
.translationY(0)
.setStartDelay(0)
.setInterpolator(new DecelerateInterpolator(1.5f))
.setDuration(175)
.start();
} }
} }