PhoneStatusBarTransitionspublic final class PhoneStatusBarTransitions extends BarTransitions
Fields Summary |
---|
private static final float | ICON_ALPHA_WHEN_NOT_OPAQUE | private static final float | ICON_ALPHA_WHEN_LIGHTS_OUT_BATTERY_CLOCK | private static final float | ICON_ALPHA_WHEN_LIGHTS_OUT_NON_BATTERY_CLOCK | private final PhoneStatusBarView | mView | private final float | mIconAlphaWhenOpaque | private android.view.View | mLeftSide | private android.view.View | mStatusIcons | private android.view.View | mSignalCluster | private android.view.View | mBattery | private android.view.View | mClock | private android.animation.Animator | mCurrentAnimation |
Constructors Summary |
---|
public PhoneStatusBarTransitions(PhoneStatusBarView view)
super(view, R.drawable.status_background);
mView = view;
final Resources res = mView.getContext().getResources();
mIconAlphaWhenOpaque = res.getFraction(R.dimen.status_bar_icon_drawing_alpha, 1, 1);
|
Methods Summary |
---|
public android.animation.ObjectAnimator | animateTransitionTo(android.view.View v, float toAlpha)
return ObjectAnimator.ofFloat(v, "alpha", v.getAlpha(), toAlpha);
| private void | applyMode(int mode, boolean animate)
if (mLeftSide == null) return; // pre-init
float newAlpha = getNonBatteryClockAlphaFor(mode);
float newAlphaBC = getBatteryClockAlpha(mode);
if (mCurrentAnimation != null) {
mCurrentAnimation.cancel();
}
if (animate) {
AnimatorSet anims = new AnimatorSet();
anims.playTogether(
animateTransitionTo(mLeftSide, newAlpha),
animateTransitionTo(mStatusIcons, newAlpha),
animateTransitionTo(mSignalCluster, newAlpha),
animateTransitionTo(mBattery, newAlphaBC),
animateTransitionTo(mClock, newAlphaBC)
);
if (isLightsOut(mode)) {
anims.setDuration(LIGHTS_OUT_DURATION);
}
anims.start();
mCurrentAnimation = anims;
} else {
mLeftSide.setAlpha(newAlpha);
mStatusIcons.setAlpha(newAlpha);
mSignalCluster.setAlpha(newAlpha);
mBattery.setAlpha(newAlphaBC);
mClock.setAlpha(newAlphaBC);
}
| private float | getBatteryClockAlpha(int mode)
return isLightsOut(mode) ? ICON_ALPHA_WHEN_LIGHTS_OUT_BATTERY_CLOCK
: getNonBatteryClockAlphaFor(mode);
| private float | getNonBatteryClockAlphaFor(int mode)
return isLightsOut(mode) ? ICON_ALPHA_WHEN_LIGHTS_OUT_NON_BATTERY_CLOCK
: !isOpaque(mode) ? ICON_ALPHA_WHEN_NOT_OPAQUE
: mIconAlphaWhenOpaque;
| public void | init()
mLeftSide = mView.findViewById(R.id.notification_icon_area);
mStatusIcons = mView.findViewById(R.id.statusIcons);
mSignalCluster = mView.findViewById(R.id.signal_cluster);
mBattery = mView.findViewById(R.id.battery);
mClock = mView.findViewById(R.id.clock);
applyModeBackground(-1, getMode(), false /*animate*/);
applyMode(getMode(), false /*animate*/);
| private boolean | isOpaque(int mode)
return !(mode == MODE_SEMI_TRANSPARENT || mode == MODE_TRANSLUCENT
|| mode == MODE_TRANSPARENT || mode == MODE_LIGHTS_OUT_TRANSPARENT);
| protected void | onTransition(int oldMode, int newMode, boolean animate)
super.onTransition(oldMode, newMode, animate);
applyMode(newMode, animate);
|
|