diff --git a/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java b/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java index b52938a7ba0..516645ed75b 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java +++ b/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java @@ -125,7 +125,9 @@ public final class DatabaseUtils { Log.d(TAG, String.format( "getAppUsageStartTimestampOfUser() userId=%d latestTimestamp=%d in %d/ms", userId, latestTimestamp, (System.currentTimeMillis() - startTime))); - return Math.max(latestTimestamp, earliestTimestamp); + // Use (latestTimestamp + 1) here to avoid loading the events of the latestTimestamp + // repeatedly. + return Math.max(latestTimestamp + 1, earliestTimestamp); } /** Returns the current user data in app usage event table. */ diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java index 7d04e859586..078aafa9973 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java @@ -270,7 +270,7 @@ public final class DatabaseUtilsTest { final long earliestTimestamp1 = 1001L; assertThat(DatabaseUtils.getAppUsageStartTimestampOfUser( - mContext, /*userId=*/ 0, earliestTimestamp1)).isEqualTo(returnedTimestamp); + mContext, /*userId=*/ 0, earliestTimestamp1)).isEqualTo(returnedTimestamp + 1); final long earliestTimestamp2 = 100001L; assertThat(DatabaseUtils.getAppUsageStartTimestampOfUser( mContext, /*userId=*/ 0, earliestTimestamp2)).isEqualTo(earliestTimestamp2);