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

Commit 137588d6 authored by Amith Yamasani's avatar Amith Yamasani
Browse files

Don't show battery usage information if data is bogus.

parent c05dedf9
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -2408,6 +2408,8 @@ found in the list of installed applications.</string>
    <string name="power_usage_summary_title">Battery use</string>
    <!-- Activity title summary for App Fuel Gauge summary -->
    <string name="power_usage_summary">What has been using the battery</string>
    <!-- Message to show when battery usage data is not available [CHAR LIMIT=30] -->
    <string name="power_usage_not_available">Battery usage data not available</string>
    <!-- Battery usage since unplugged -->
    <string name="battery_since_unplugged">Battery use since unplugged</string>
    <!-- Battery usage since user reset the stats -->
+20 −10
Original line number Diff line number Diff line
@@ -16,6 +16,13 @@

package com.android.settings.fuelgauge;

import com.android.internal.app.IBatteryStats;
import com.android.internal.os.BatteryStatsImpl;
import com.android.internal.os.PowerProfile;
import com.android.settings.R;
import com.android.settings.applications.InstalledAppDetails;
import com.android.settings.fuelgauge.PowerUsageDetail.DrainType;

import android.content.Context;
import android.content.Intent;
import android.hardware.SensorManager;
@@ -40,13 +47,6 @@ import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

import com.android.internal.app.IBatteryStats;
import com.android.internal.os.BatteryStatsImpl;
import com.android.internal.os.PowerProfile;
import com.android.settings.R;
import com.android.settings.applications.InstalledAppDetails;
import com.android.settings.fuelgauge.PowerUsageDetail.DrainType;

import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.Writer;
@@ -309,6 +309,12 @@ public class PowerUsageSummary extends PreferenceFragment implements Runnable {
        }
    }

    private void addNotAvailableMessage() {
        Preference notAvailable = new Preference(getActivity());
        notAvailable.setTitle(R.string.power_usage_not_available);
        mAppListGroup.addPreference(notAvailable);
    }

    private void refreshStats() {
        if (mStats == null) {
            load();
@@ -323,15 +329,19 @@ public class PowerUsageSummary extends PreferenceFragment implements Runnable {
        mUsageList.clear();
        mWifiSippers.clear();
        mBluetoothSippers.clear();
        processAppUsage();
        processMiscUsage();

        mAppListGroup.setOrderingAsAdded(false);

        BatteryHistoryPreference hist = new BatteryHistoryPreference(getActivity(), mStats);
        hist.setOrder(-1);
        mAppListGroup.addPreference(hist);
        
        if (mPowerProfile.getAveragePower(PowerProfile.POWER_SCREEN_FULL) < 10) {
            addNotAvailableMessage();
            return;
        }
        processAppUsage();
        processMiscUsage();

        Collections.sort(mUsageList);
        for (BatterySipper sipper : mUsageList) {
            if (sipper.getSortValue() < MIN_POWER_THRESHOLD) continue;