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

This commit is contained in:
Amith Yamasani
2010-11-12 14:13:03 -08:00
parent c05dedf9be
commit 137588d60b
2 changed files with 22 additions and 10 deletions

View File

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

View File

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