summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSong Hu <songhu@google.com>2020-06-01 18:05:09 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-06-01 18:05:09 +0000
commit005ce7cae6c6f2fe97858eecd39092f16a92765b (patch)
treeda019d14e90965ee52e35a5459b7ef6b8f07e351
parent83e9ba45a4f874ecd81aeda3a4ff7964b1eba3ba (diff)
parent0c1b59a83a28f2e5b0f61161f37698839c0e9a46 (diff)
Merge "Return empty map when queryUsageStatsForUser returns null in UsageStatsQueryHelper#queryAppUsageStats." into rvc-dev
-rw-r--r--services/people/java/com/android/server/people/data/UsageStatsQueryHelper.java3
-rw-r--r--services/tests/servicestests/src/com/android/server/people/data/UsageStatsQueryHelperTest.java15
2 files changed, 18 insertions, 0 deletions
diff --git a/services/people/java/com/android/server/people/data/UsageStatsQueryHelper.java b/services/people/java/com/android/server/people/data/UsageStatsQueryHelper.java
index d89bbe9dd14e..d008b72c6bad 100644
--- a/services/people/java/com/android/server/people/data/UsageStatsQueryHelper.java
+++ b/services/people/java/com/android/server/people/data/UsageStatsQueryHelper.java
@@ -148,6 +148,9 @@ class UsageStatsQueryHelper {
UsageStatsManager.INTERVAL_BEST, startTime, endTime,
/* obfuscateInstantApps= */ false);
Map<String, AppUsageStatsData> aggregatedStats = new ArrayMap<>();
+ if (stats == null) {
+ return aggregatedStats;
+ }
for (UsageStats stat : stats) {
String packageName = stat.getPackageName();
if (packageNameFilter.contains(packageName)) {
diff --git a/services/tests/servicestests/src/com/android/server/people/data/UsageStatsQueryHelperTest.java b/services/tests/servicestests/src/com/android/server/people/data/UsageStatsQueryHelperTest.java
index 30ff1196cec0..e9686071409e 100644
--- a/services/tests/servicestests/src/com/android/server/people/data/UsageStatsQueryHelperTest.java
+++ b/services/tests/servicestests/src/com/android/server/people/data/UsageStatsQueryHelperTest.java
@@ -18,6 +18,8 @@ package com.android.server.people.data;
import static com.android.server.people.data.TestUtils.timestamp;
+import static com.google.common.truth.Truth.assertThat;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -235,6 +237,19 @@ public final class UsageStatsQueryHelperTest {
assertEquals(5, (long) appLaunchChooserCountCounts.get(PKG_NAME_1).getLaunchCount());
}
+ @Test
+ public void testQueryAppUsageStats_nullUsageStats() {
+ when(mUsageStatsManagerInternal.queryUsageStatsForUser(anyInt(), anyInt(), anyLong(),
+ anyLong(), anyBoolean())).thenReturn(null);
+
+ Map<String, AppUsageStatsData> appLaunchChooserCountCounts =
+ mHelper.queryAppUsageStats(USER_ID_PRIMARY, 90_000L,
+ 200_000L,
+ Set.of(PKG_NAME_1));
+
+ assertThat(appLaunchChooserCountCounts).isEmpty();
+ }
+
private void addUsageEvents(UsageEvents.Event... events) {
UsageEvents usageEvents = new UsageEvents(Arrays.asList(events), new String[]{});
when(mUsageStatsManagerInternal.queryEventsForUser(anyInt(), anyLong(), anyLong(),