Change the type of "hours" from long to double

So we won't have the rounding issue here.

Bug: 63112264
Test: RunSettingsRoboTests
Change-Id: I85b3525781074294964a956dbe76f3b55f65704d
This commit is contained in:
jackqdyulei
2017-06-28 15:10:44 -07:00
parent 2cbe278ad4
commit 8213f102dc
2 changed files with 7 additions and 5 deletions

View File

@@ -70,11 +70,12 @@ public class WakeupAlarmAnomalyDetector implements AnomalyDetector {
String targetPackageName) {
final List<BatterySipper> batterySippers = batteryStatsHelper.getUsageList();
final List<Anomaly> anomalies = new ArrayList<>();
final long totalRunningHours = mBatteryUtils.calculateRunningTimeBasedOnStatsType(
batteryStatsHelper, BatteryStats.STATS_SINCE_CHARGED) / DateUtils.HOUR_IN_MILLIS;
final double totalRunningHours = mBatteryUtils.calculateRunningTimeBasedOnStatsType(
batteryStatsHelper, BatteryStats.STATS_SINCE_CHARGED)
/ (double) DateUtils.HOUR_IN_MILLIS;
final int targetUid = mBatteryUtils.getPackageUid(targetPackageName);
if (totalRunningHours != 0) {
if (totalRunningHours >= 1) {
for (int i = 0, size = batterySippers.size(); i < size; i++) {
final BatterySipper sipper = batterySippers.get(i);
final BatteryStats.Uid uid = sipper.uidObj;

View File

@@ -59,9 +59,10 @@ public class WakeupAlarmAnomalyDetectorTest {
private static final int ANOMALY_UID = 111;
private static final int NORMAL_UID = 222;
private static final int TARGET_UID = 333;
private static final long RUNNING_TIME_MS = 2 * DateUtils.HOUR_IN_MILLIS;
private static final long RUNNING_TIME_MS =
1 * DateUtils.HOUR_IN_MILLIS + 10 * DateUtils.MINUTE_IN_MILLIS;
private static final int ANOMALY_WAKEUP_COUNT = 500;
private static final int NORMAL_WAKEUP_COUNT = 50;
private static final int NORMAL_WAKEUP_COUNT = 61;
@Mock
private BatteryStatsHelper mBatteryStatsHelper;
@Mock