Count legacy games as games in Storage view.

The old Games flag was being ignored for categorization.
This caused the very few games which used the flag to be
miscategorized as "Other apps."

Change-Id: Ib8650d1c43579bc1698576c09c884e5a7bc4626d
Fixes: 36109122
Test: Settings robotest
This commit is contained in:
Daniel Nishi
2017-03-10 15:05:12 -08:00
parent 397a1b80ef
commit fd82752694
2 changed files with 18 additions and 0 deletions

View File

@@ -98,6 +98,11 @@ public class StorageAsyncLoader
result.musicAppsSize += attributedAppSizeInBytes;
break;
default:
// The deprecated game flag does not set the category.
if ((app.flags & ApplicationInfo.FLAG_IS_GAME) != 0) {
result.gamesSize += attributedAppSizeInBytes;
break;
}
result.otherAppsSize += attributedAppSizeInBytes;
break;
}

View File

@@ -104,6 +104,19 @@ public class StorageAsyncLoaderTest {
assertThat(result.get(PRIMARY_USER_ID).otherAppsSize).isEqualTo(0);
}
@Test
public void testLegacyGamesAreFiltered() throws Exception {
ApplicationInfo info =
addPackage(PACKAGE_NAME_1, 0, 1, 10, ApplicationInfo.CATEGORY_UNDEFINED);
info.flags = ApplicationInfo.FLAG_IS_GAME;
SparseArray<StorageAsyncLoader.AppsStorageResult> result = mLoader.loadInBackground();
assertThat(result.size()).isEqualTo(1);
assertThat(result.get(PRIMARY_USER_ID).gamesSize).isEqualTo(11L);
assertThat(result.get(PRIMARY_USER_ID).otherAppsSize).isEqualTo(0);
}
@Test
public void testCacheIsIgnored() throws Exception {
addPackage(PACKAGE_NAME_1, 100, 1, 10, ApplicationInfo.CATEGORY_UNDEFINED);