Merge "Revert "Add animation for battery asyncLoader.""
diff --git a/src/com/android/settings/fuelgauge/BatteryMeterView.java b/src/com/android/settings/fuelgauge/BatteryMeterView.java
index 969f886..c450b90 100644
--- a/src/com/android/settings/fuelgauge/BatteryMeterView.java
+++ b/src/com/android/settings/fuelgauge/BatteryMeterView.java
@@ -38,8 +38,6 @@
@VisibleForTesting
ColorFilter mAccentColorFilter;
- private int mLevel;
-
public BatteryMeterView(Context context) {
this(context, null, 0);
}
@@ -66,7 +64,6 @@
}
public void setBatteryLevel(int level) {
- mLevel = level;
mDrawable.setBatteryLevel(level);
if (level < mDrawable.getCriticalLevel()) {
mDrawable.setBatteryColorFilter(mErrorColorFilter);
@@ -75,10 +72,6 @@
}
}
- public int getBatteryLevel() {
- return mLevel;
- }
-
public void setCharging(boolean charging) {
mDrawable.setCharging(charging);
}
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index c27ea22..0df23dd 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -16,8 +16,6 @@
package com.android.settings.fuelgauge;
-import android.animation.Animator;
-import android.animation.ValueAnimator;
import android.app.Activity;
import android.app.LoaderManager;
import android.content.Context;
@@ -50,7 +48,6 @@
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
-import android.view.animation.AnimationUtils;
import android.widget.TextView;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -99,10 +96,6 @@
private static final String KEY_BATTERY_HEADER = "battery_header";
private static final int MAX_ITEMS_TO_LIST = USE_FAKE_DATA ? 30 : 10;
private static final int MIN_AVERAGE_POWER_THRESHOLD_MILLI_AMP = 10;
- private static final int BATTERY_ANIMATION_DURATION_MS_PER_LEVEL = 30;
-
- @VisibleForTesting
- static final String ARG_BATTERY_LEVEL = "key_battery_level";
private static final String KEY_SCREEN_USAGE = "screen_usage";
private static final String KEY_TIME_SINCE_LAST_FULL_CHARGE = "last_full_charge";
@@ -128,8 +121,6 @@
new FooterPreferenceMixin(this, getLifecycle());
@VisibleForTesting
- int mBatteryLevel;
- @VisibleForTesting
boolean mShowAllApps = false;
@VisibleForTesting
PowerGaugePreference mScreenUsagePref;
@@ -216,8 +207,6 @@
super.onCreate(icicle);
setAnimationAllowed(true);
- mBatteryLevel = getContext().getResources().getInteger(
- com.android.internal.R.integer.config_criticalBatteryWarningLevel) + 1;
mBatteryLayoutPref = (LayoutPreference) findPreference(KEY_BATTERY_HEADER);
mAppListGroup = (PreferenceGroup) findPreference(KEY_APP_LIST);
mScreenUsagePref = (PowerGaugePreference) findPreference(KEY_SCREEN_USAGE);
@@ -234,14 +223,6 @@
}
@Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- if (savedInstanceState != null) {
- mBatteryLevel = savedInstanceState.getInt(ARG_BATTERY_LEVEL);
- }
- }
-
- @Override
public int getMetricsCategory() {
return MetricsEvent.FUELGAUGE_POWER_USAGE_SUMMARY;
}
@@ -249,8 +230,6 @@
@Override
public void onResume() {
super.onResume();
-
- initHeaderPreference();
}
@Override
@@ -269,12 +248,6 @@
}
@Override
- public void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- outState.putInt(ARG_BATTERY_LEVEL, mBatteryLevel);
- }
-
- @Override
public boolean onPreferenceTreeClick(Preference preference) {
if (mAnomalySummaryPreferenceController.onPreferenceTreeClick(preference)) {
return true;
@@ -703,46 +676,15 @@
.findViewById(R.id.battery_header_icon);
final TextView timeText = (TextView) mBatteryLayoutPref.findViewById(R.id.battery_percent);
final TextView summary1 = (TextView) mBatteryLayoutPref.findViewById(R.id.summary1);
+ timeText.setText(Utils.formatPercentage(info.batteryLevel));
if (info.remainingLabel == null ) {
summary1.setText(info.statusLabel);
} else {
summary1.setText(info.remainingLabel);
}
+
+ batteryView.setBatteryLevel(info.batteryLevel);
batteryView.setCharging(!info.discharging);
- startBatteryHeaderAnimationIfNecessary(batteryView, timeText, mBatteryLevel,
- info.batteryLevel);
- }
-
- @VisibleForTesting
- void initHeaderPreference() {
- final BatteryMeterView batteryView = (BatteryMeterView) mBatteryLayoutPref
- .findViewById(R.id.battery_header_icon);
- final TextView timeText = (TextView) mBatteryLayoutPref.findViewById(R.id.battery_percent);
-
- batteryView.setBatteryLevel(mBatteryLevel);
- timeText.setText(Utils.formatPercentage(mBatteryLevel));
- }
-
- @VisibleForTesting
- void startBatteryHeaderAnimationIfNecessary(BatteryMeterView batteryView, TextView timeTextView,
- int prevLevel, int currentLevel) {
- mBatteryLevel = currentLevel;
- final int diff = Math.abs(prevLevel - currentLevel);
- if (diff != 0) {
- final ValueAnimator animator = ValueAnimator.ofInt(prevLevel, currentLevel);
- animator.setDuration(BATTERY_ANIMATION_DURATION_MS_PER_LEVEL * diff);
- animator.setInterpolator(AnimationUtils.loadInterpolator(getContext(),
- android.R.interpolator.fast_out_slow_in));
- animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
- @Override
- public void onAnimationUpdate(ValueAnimator animation) {
- final Integer level = (Integer) animation.getAnimatedValue();
- batteryView.setBatteryLevel(level);
- timeTextView.setText(Utils.formatPercentage(level));
- }
- });
- animator.start();
- }
}
@VisibleForTesting
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
index efbfbda..2701abe 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
@@ -132,6 +132,8 @@
@Mock
private LayoutPreference mBatteryLayoutPref;
@Mock
+ private TextView mBatteryPercentText;
+ @Mock
private TextView mSummary1;
@Mock
private BatteryInfo mBatteryInfo;
@@ -146,7 +148,6 @@
@Mock
private ContentResolver mContentResolver;
- private TextView mBatteryPercentText;
private List<BatterySipper> mUsageList;
private Context mRealContext;
private TestFragment mFragment;
@@ -171,7 +172,7 @@
mLastFullChargePref = new PowerGaugePreference(mRealContext);
mFragment = spy(new TestFragment(mContext));
mFragment.initFeatureProvider();
- mBatteryMeterView = spy(new BatteryMeterView(mRealContext));
+ mBatteryMeterView = new BatteryMeterView(mRealContext);
mBatteryMeterView.mDrawable = new BatteryMeterView.BatteryMeterDrawable(mRealContext, 0);
doNothing().when(mFragment).restartBatteryStatsLoader();
@@ -194,7 +195,6 @@
mCellBatterySipper.drainType = BatterySipper.DrainType.CELL;
mCellBatterySipper.totalPowerMah = POWER_MAH;
- mBatteryPercentText = new TextView(mRealContext);
when(mBatteryLayoutPref.findViewById(R.id.summary1)).thenReturn(mSummary1);
when(mBatteryLayoutPref.findViewById(R.id.battery_percent)).thenReturn(mBatteryPercentText);
when(mBatteryLayoutPref.findViewById(R.id.battery_header_icon))
@@ -288,50 +288,6 @@
}
@Test
- public void testInitHeaderPreference_initCorrectly() {
- mFragment.mBatteryLevel = 100;
-
- mFragment.initHeaderPreference();
-
- assertThat(mBatteryMeterView.getBatteryLevel()).isEqualTo(100);
- assertThat(mBatteryPercentText.getText().toString()).isEqualTo("100%");
- }
-
- @Test
- public void testStartBatteryHeaderAnimationIfNecessary_batteryLevelChanged_animationStarted() {
- final int prevLevel = 100;
- final int curLevel = 80;
-
- mFragment.startBatteryHeaderAnimationIfNecessary(mBatteryMeterView, mBatteryPercentText,
- prevLevel, curLevel);
-
- assertThat(mBatteryMeterView.getBatteryLevel()).isEqualTo(curLevel);
- assertThat(mBatteryPercentText.getText().toString()).isEqualTo("80%");
- }
-
- @Test
- public void testOnSaveInstanceState_saveBatteryLevel() {
- Bundle bundle = new Bundle();
- mFragment.mBatteryLevel = BATTERY_LEVEL;
- // mock it to stop crash in getPreferenceScreen
- doReturn(null).when(mFragment).getPreferenceScreen();
-
- mFragment.onSaveInstanceState(bundle);
-
- assertThat(bundle.getInt(PowerUsageSummary.ARG_BATTERY_LEVEL)).isEqualTo(BATTERY_LEVEL);
- }
-
- @Test
- public void testOnActivityCreated_setBatteryLevel() {
- Bundle bundle = new Bundle();
- bundle.putInt(PowerUsageSummary.ARG_BATTERY_LEVEL, BATTERY_LEVEL);
-
- mFragment.onActivityCreated(bundle);
-
- assertThat(mFragment.mBatteryLevel).isEqualTo(BATTERY_LEVEL);
- }
-
- @Test
public void testExtractKeyFromSipper_typeAPPUidObjectNull_returnPackageNames() {
mNormalBatterySipper.uidObj = null;
mNormalBatterySipper.drainType = BatterySipper.DrainType.APP;