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

Commit da45ba8c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Hide misc in battery settings" into oc-dr1-dev

parents ee55927b d856294b
Loading
Loading
Loading
Loading
+11 −25
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.widget.TextView;

import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.os.BatterySipper;
import com.android.internal.os.BatterySipper.DrainType;
@@ -69,6 +70,7 @@ import com.android.settings.fuelgauge.anomaly.AnomalyLoader;
import com.android.settings.fuelgauge.anomaly.AnomalySummaryPreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -574,32 +576,9 @@ public class PowerUsageSummary extends PowerUsageBase implements
                if (((int) (percentOfTotal + .5)) < 1) {
                    continue;
                }
                if (sipper.drainType == BatterySipper.DrainType.OVERCOUNTED) {
                    // Don't show over-counted unless it is at least 2/3 the size of
                    // the largest real entry, and its percent of total is more significant
                    if (sipper.totalPowerMah < ((mStatsHelper.getMaxRealPower() * 2) / 3)) {
                        continue;
                    }
                    if (percentOfTotal < 10) {
                        continue;
                    }
                    if ("user".equals(Build.TYPE)) {
                        continue;
                    }
                }
                if (sipper.drainType == BatterySipper.DrainType.UNACCOUNTED) {
                    // Don't show over-counted unless it is at least 1/2 the size of
                    // the largest real entry, and its percent of total is more significant
                    if (sipper.totalPowerMah < (mStatsHelper.getMaxRealPower() / 2)) {
                if (shouldHideSipper(sipper)) {
                    continue;
                }
                    if (percentOfTotal < 5) {
                        continue;
                    }
                    if ("user".equals(Build.TYPE)) {
                        continue;
                    }
                }
                final UserHandle userHandle = new UserHandle(UserHandle.getUserId(sipper.getUid()));
                final BatteryEntry entry = new BatteryEntry(getActivity(), mHandler, mUm, sipper);
                final Drawable badgedIcon = mUm.getBadgedIconForUser(entry.getIcon(),
@@ -648,6 +627,13 @@ public class PowerUsageSummary extends PowerUsageBase implements
        BatteryEntry.startRequestQueue();
    }

    @VisibleForTesting
    boolean shouldHideSipper(BatterySipper sipper) {
        // Don't show over-counted and unaccounted in any condition
        return sipper.drainType == BatterySipper.DrainType.OVERCOUNTED
                || sipper.drainType == BatterySipper.DrainType.UNACCOUNTED;
    }

    @VisibleForTesting
    void refreshAnomalyIcon() {
        for (int i = 0, size = mAnomalySparseArray.size(); i < size; i++) {
+22 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
package com.android.settings.fuelgauge;

import java.util.List;

import android.app.LoaderManager;
import android.content.Context;
import android.content.Intent;
@@ -514,6 +515,27 @@ public class PowerUsageSummaryTest {
        assertThat(preference.showAnomalyIcon()).isTrue();
    }

    @Test
    public void testShouldHideSipper_typeOvercounted_returnTrue() {
        mNormalBatterySipper.drainType = BatterySipper.DrainType.OVERCOUNTED;

        assertThat(mFragment.shouldHideSipper(mNormalBatterySipper)).isTrue();
    }

    @Test
    public void testShouldHideSipper_typeUnaccounted_returnTrue() {
        mNormalBatterySipper.drainType = BatterySipper.DrainType.UNACCOUNTED;

        assertThat(mFragment.shouldHideSipper(mNormalBatterySipper)).isTrue();
    }

    @Test
    public void testShouldHideSipper_typeNormal_returnFalse() {
        mNormalBatterySipper.drainType = BatterySipper.DrainType.APP;

        assertThat(mFragment.shouldHideSipper(mNormalBatterySipper)).isFalse();
    }

    public static class TestFragment extends PowerUsageSummary {

        private Context mContext;