Add high usage battery tip
1. Add both model and detector 2. Move the screen usage method to BatteryUtils so we could reuse it. 3. Add and update the tests Bug: 70570352 Test: RunSettingsRoboTests Change-Id: I6a7248d9d48ee8cb6fc2c18c8c225210d49b6bc9
This commit is contained in:
@@ -345,6 +345,17 @@ public class BatteryUtils {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculate the screen usage time since last full charge.
|
||||
* @param batteryStatsHelper utility class that contains the screen usage data
|
||||
* @return time in millis
|
||||
*/
|
||||
public long calculateScreenUsageTime(BatteryStatsHelper batteryStatsHelper) {
|
||||
final BatterySipper sipper = findBatterySipperByType(
|
||||
batteryStatsHelper.getUsageList(), BatterySipper.DrainType.SCREEN);
|
||||
return sipper != null ? sipper.usageTimeMs : 0;
|
||||
}
|
||||
|
||||
public static void logRuntime(String tag, String message, long startTime) {
|
||||
Log.d(tag, message + ": " + (System.currentTimeMillis() - startTime) + "ms");
|
||||
}
|
||||
@@ -432,6 +443,20 @@ public class BatteryUtils {
|
||||
return batteryInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the {@link BatterySipper} with the corresponding {@link BatterySipper.DrainType}
|
||||
*/
|
||||
public BatterySipper findBatterySipperByType(List<BatterySipper> usageList,
|
||||
BatterySipper.DrainType type) {
|
||||
for (int i = 0, size = usageList.size(); i < size; i++) {
|
||||
final BatterySipper sipper = usageList.get(i);
|
||||
if (sipper.drainType == type) {
|
||||
return sipper;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private boolean isDataCorrupted() {
|
||||
return mPackageManager == null || mAppOpsManager == null;
|
||||
}
|
||||
|
Reference in New Issue
Block a user