Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 78684dc0 authored by Lei Yu's avatar Lei Yu Committed by jackqdyulei
Browse files

Revert "Add animation for battery asyncLoader."

This reverts commit a3c528f6.

Test: Build
Change-Id: Ib50221873e39dee40c5cf8e4b41dcf7aa13f6134
Merged-In: Ib50221873e39dee40c5cf8e4b41dcf7aa13f6134
parent d6aa9f34
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -38,8 +38,6 @@ public class BatteryMeterView extends ImageView {
    @VisibleForTesting
    ColorFilter mAccentColorFilter;

    private int mLevel;

    public BatteryMeterView(Context context) {
        this(context, null, 0);
    }
@@ -66,7 +64,6 @@ public class BatteryMeterView extends ImageView {
    }

    public void setBatteryLevel(int level) {
        mLevel = level;
        mDrawable.setBatteryLevel(level);
        if (level < mDrawable.getCriticalLevel()) {
            mDrawable.setBatteryColorFilter(mErrorColorFilter);
@@ -75,10 +72,6 @@ public class BatteryMeterView extends ImageView {
        }
    }

    public int getBatteryLevel() {
        return mLevel;
    }

    public void setCharging(boolean charging) {
        mDrawable.setCharging(charging);
    }
+3 −61
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package com.android.settings.fuelgauge;

import android.animation.Animator;
import android.animation.ValueAnimator;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
@@ -43,7 +41,6 @@ import android.util.TypedValue;
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;
@@ -87,10 +84,6 @@ public class PowerUsageSummary extends PowerUsageBase {
    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";
@@ -111,8 +104,6 @@ public class PowerUsageSummary extends PowerUsageBase {
    private final FooterPreferenceMixin mFooterPreferenceMixin =
            new FooterPreferenceMixin(this, getLifecycle());

    @VisibleForTesting
    int mBatteryLevel;
    @VisibleForTesting
    boolean mShowAllApps = false;
    @VisibleForTesting
@@ -133,8 +124,6 @@ public class PowerUsageSummary extends PowerUsageBase {
        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);
@@ -147,14 +136,6 @@ public class PowerUsageSummary extends PowerUsageBase {
        initFeatureProvider();
    }

    @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;
@@ -163,8 +144,6 @@ public class PowerUsageSummary extends PowerUsageBase {
    @Override
    public void onResume() {
        super.onResume();

        initHeaderPreference();
    }

    @Override
@@ -182,12 +161,6 @@ public class PowerUsageSummary extends PowerUsageBase {
        }
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putInt(ARG_BATTERY_LEVEL, mBatteryLevel);
    }

    @Override
    public boolean onPreferenceTreeClick(Preference preference) {
        if (KEY_BATTERY_HEADER.equals(preference.getKey())) {
@@ -596,46 +569,15 @@ public class PowerUsageSummary extends PowerUsageBase {
                .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.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();
        }
        batteryView.setBatteryLevel(info.batteryLevel);
        batteryView.setCharging(!info.discharging);
    }

    @VisibleForTesting
+3 −48
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@ package com.android.settings.fuelgauge;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.PowerManager;
import android.os.Process;
import android.text.TextUtils;
@@ -129,6 +128,8 @@ public class PowerUsageSummaryTest {
    @Mock
    private LayoutPreference mBatteryLayoutPref;
    @Mock
    private TextView mBatteryPercentText;
    @Mock
    private TextView mSummary1;
    @Mock
    private BatteryInfo mBatteryInfo;
@@ -139,7 +140,6 @@ public class PowerUsageSummaryTest {
    @Mock
    private SettingsActivity mSettingsActivity;

    private TextView mBatteryPercentText;
    private List<BatterySipper> mUsageList;
    private Context mRealContext;
    private TestFragment mFragment;
@@ -163,7 +163,7 @@ public class PowerUsageSummaryTest {
        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);

        when(mFragment.getActivity()).thenReturn(mSettingsActivity);
@@ -185,7 +185,6 @@ public class PowerUsageSummaryTest {
        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))
@@ -278,50 +277,6 @@ public class PowerUsageSummaryTest {
        testToggleAllApps(false);
    }

    @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;