Fixed battery percentage not animating when showing/hiding
Add layout transition animation Fixed: 123362236 Test: manual - turn on/off show battery percentage in settings and go to AOD Change-Id: Ie98434e565d23461d82729d582f8ff4e63d8ac88
This commit is contained in:
@@ -24,6 +24,8 @@ import static com.android.systemui.util.SysuiLifecycle.viewAttachLifecycle;
|
||||
import static java.lang.annotation.RetentionPolicy.SOURCE;
|
||||
|
||||
import android.animation.ArgbEvaluator;
|
||||
import android.animation.LayoutTransition;
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.annotation.IntDef;
|
||||
import android.app.ActivityManager;
|
||||
import android.content.Context;
|
||||
@@ -141,6 +143,8 @@ public class BatteryMeterView extends LinearLayout implements
|
||||
addOnAttachStateChangeListener(
|
||||
new DisableStateTracker(DISABLE_NONE, DISABLE2_SYSTEM_ICONS));
|
||||
|
||||
setupLayoutTransition();
|
||||
|
||||
mSlotBattery = context.getString(
|
||||
com.android.internal.R.string.status_bar_battery);
|
||||
mBatteryIconView = new ImageView(context);
|
||||
@@ -178,6 +182,21 @@ public class BatteryMeterView extends LinearLayout implements
|
||||
setLayerType(LAYER_TYPE_SOFTWARE, null);
|
||||
}
|
||||
|
||||
private void setupLayoutTransition() {
|
||||
LayoutTransition transition = new LayoutTransition();
|
||||
transition.setDuration(200);
|
||||
|
||||
ObjectAnimator appearAnimator = ObjectAnimator.ofFloat(null, "alpha", 0f, 1f);
|
||||
transition.setAnimator(LayoutTransition.APPEARING, appearAnimator);
|
||||
transition.setInterpolator(LayoutTransition.APPEARING, Interpolators.ALPHA_IN);
|
||||
|
||||
ObjectAnimator disappearAnimator = ObjectAnimator.ofFloat(null, "alpha", 1f, 0f);
|
||||
transition.setInterpolator(LayoutTransition.DISAPPEARING, Interpolators.ALPHA_OUT);
|
||||
transition.setAnimator(LayoutTransition.DISAPPEARING, disappearAnimator);
|
||||
|
||||
setLayoutTransition(transition);
|
||||
}
|
||||
|
||||
public void setForceShowPercent(boolean show) {
|
||||
setPercentShowMode(show ? MODE_ON : MODE_DEFAULT);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user