Creates Sipper even the consumption is very little

Change-Id: I9682f262a481f3586760b8464b96eeb22814a840
This commit is contained in:
Lifu Tang
2013-08-30 18:03:43 -07:00
parent 6dde146df0
commit ad7bfbd346
3 changed files with 11 additions and 6 deletions

View File

@@ -320,7 +320,12 @@ public class BatteryStatsHelper {
R.string.details_title, null, null, 0); R.string.details_title, null, null, 0);
} }
public void refreshStats() { /**
* Refreshes the power usage list.
* @param includeZeroConsumption whether includes those applications which have consumed very
* little power up till now.
*/
public void refreshStats(boolean includeZeroConsumption) {
// Initialize mStats if necessary. // Initialize mStats if necessary.
getStats(); getStats();
@@ -336,7 +341,7 @@ public class BatteryStatsHelper {
mUserSippers.clear(); mUserSippers.clear();
mUserPower.clear(); mUserPower.clear();
processAppUsage(); processAppUsage(includeZeroConsumption);
processMiscUsage(); processMiscUsage();
Collections.sort(mUsageList); Collections.sort(mUsageList);
@@ -356,7 +361,7 @@ public class BatteryStatsHelper {
} }
} }
private void processAppUsage() { private void processAppUsage(boolean includeZeroConsumption) {
SensorManager sensorManager = (SensorManager) mActivity.getSystemService( SensorManager sensorManager = (SensorManager) mActivity.getSystemService(
Context.SENSOR_SERVICE); Context.SENSOR_SERVICE);
final int which = mStatsType; final int which = mStatsType;
@@ -522,7 +527,7 @@ public class BatteryStatsHelper {
// Add the app to the list if it is consuming power // Add the app to the list if it is consuming power
boolean isOtherUser = false; boolean isOtherUser = false;
final int userId = UserHandle.getUserId(u.getUid()); final int userId = UserHandle.getUserId(u.getUid());
if (power != 0 || u.getUid() == 0) { if (power != 0 || includeZeroConsumption || u.getUid() == 0) {
BatterySipper app = new BatterySipper(mActivity, mRequestQueue, mHandler, BatterySipper app = new BatterySipper(mActivity, mRequestQueue, mHandler,
packageWithHighestDrain, DrainType.APP, 0, u, packageWithHighestDrain, DrainType.APP, 0, u,
new double[] {power}); new double[] {power});

View File

@@ -210,7 +210,7 @@ public class PowerUsageSummary extends PreferenceFragment {
addNotAvailableMessage(); addNotAvailableMessage();
return; return;
} }
mStatsHelper.refreshStats(); mStatsHelper.refreshStats(false);
List<BatterySipper> usageList = mStatsHelper.getUsageList(); List<BatterySipper> usageList = mStatsHelper.getUsageList();
for (BatterySipper sipper : usageList) { for (BatterySipper sipper : usageList) {
if (sipper.getSortValue() < MIN_POWER_THRESHOLD) continue; if (sipper.getSortValue() < MIN_POWER_THRESHOLD) continue;

View File

@@ -140,7 +140,7 @@ public class RecentLocationApps {
public List<Preference> getAppList() { public List<Preference> getAppList() {
// Retrieve Uid-based battery blaming info and generate a package to BatterySipper HashMap // Retrieve Uid-based battery blaming info and generate a package to BatterySipper HashMap
// for later faster looking up. // for later faster looking up.
mStatsHelper.refreshStats(); mStatsHelper.refreshStats(true);
List<BatterySipper> usageList = mStatsHelper.getUsageList(); List<BatterySipper> usageList = mStatsHelper.getUsageList();
// Key: package Uid. Value: BatterySipperWrapper. // Key: package Uid. Value: BatterySipperWrapper.
HashMap<Integer, BatterySipperWrapper> sipperMap = HashMap<Integer, BatterySipperWrapper> sipperMap =