Merge "Use (the last existing timestamp in DB + 1) as the start time of usage event query to avoid loading the same events repeatedly."

This commit is contained in:
TreeHugger Robot
2023-01-11 10:51:40 +00:00
committed by Android (Google) Code Review
2 changed files with 4 additions and 2 deletions

View File

@@ -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. */

View File

@@ -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);