Merge "Return empty map when queryUsageStatsForUser returns null in UsageStatsQueryHelper#queryAppUsageStats." into rvc-dev

This commit is contained in:
Song Hu
2020-06-01 18:05:09 +00:00
committed by Android (Google) Code Review
2 changed files with 18 additions and 0 deletions

View File

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

View File

@@ -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(),