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> <string name="power_usage_summary_title">Battery use</string>
<!-- Activity title summary for App Fuel Gauge summary --> <!-- Activity title summary for App Fuel Gauge summary -->
<string name="power_usage_summary">What has been using the battery</string> <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 --> <!-- Battery usage since unplugged -->
<string name="battery_since_unplugged">Battery use since unplugged</string> <string name="battery_since_unplugged">Battery use since unplugged</string>
<!-- Battery usage since user reset the stats --> <!-- Battery usage since user reset the stats -->

View File

@@ -16,6 +16,13 @@
package com.android.settings.fuelgauge; 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.Context;
import android.content.Intent; import android.content.Intent;
import android.hardware.SensorManager; import android.hardware.SensorManager;
@@ -40,13 +47,6 @@ import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuInflater;
import android.view.MenuItem; 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.PrintWriter;
import java.io.StringWriter; import java.io.StringWriter;
import java.io.Writer; 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() { private void refreshStats() {
if (mStats == null) { if (mStats == null) {
load(); load();
@@ -323,15 +329,19 @@ public class PowerUsageSummary extends PreferenceFragment implements Runnable {
mUsageList.clear(); mUsageList.clear();
mWifiSippers.clear(); mWifiSippers.clear();
mBluetoothSippers.clear(); mBluetoothSippers.clear();
processAppUsage();
processMiscUsage();
mAppListGroup.setOrderingAsAdded(false); mAppListGroup.setOrderingAsAdded(false);
BatteryHistoryPreference hist = new BatteryHistoryPreference(getActivity(), mStats); BatteryHistoryPreference hist = new BatteryHistoryPreference(getActivity(), mStats);
hist.setOrder(-1); hist.setOrder(-1);
mAppListGroup.addPreference(hist); mAppListGroup.addPreference(hist);
if (mPowerProfile.getAveragePower(PowerProfile.POWER_SCREEN_FULL) < 10) {
addNotAvailableMessage();
return;
}
processAppUsage();
processMiscUsage();
Collections.sort(mUsageList); Collections.sort(mUsageList);
for (BatterySipper sipper : mUsageList) { for (BatterySipper sipper : mUsageList) {
if (sipper.getSortValue() < MIN_POWER_THRESHOLD) continue; if (sipper.getSortValue() < MIN_POWER_THRESHOLD) continue;