diff options
author | Song Hu <songhu@google.com> | 2020-06-01 05:41:10 -0700 |
---|---|---|
committer | Song Hu <songhu@google.com> | 2020-06-01 05:41:10 -0700 |
commit | 0c1b59a83a28f2e5b0f61161f37698839c0e9a46 (patch) | |
tree | 95b6acadfda4b47535c901430ace50e8d4ceae81 | |
parent | 4f5af837be36aaf5c84cf236d25388a54cf4b688 (diff) |
Return empty map when queryUsageStatsForUser returns null in UsageStatsQueryHelper#queryAppUsageStats.
Bug: 157877874
Test: atest com.android.server.people.data.UsageStatsQueryHelperTest
Change-Id: Ib6574d18d42f6d2bd9041b53d43abcbb1db99323
-rw-r--r-- | services/people/java/com/android/server/people/data/UsageStatsQueryHelper.java | 3 | ||||
-rw-r--r-- | services/tests/servicestests/src/com/android/server/people/data/UsageStatsQueryHelperTest.java | 15 |
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(), |