Fix storage settings crash.
It may crash if opened during the uninstall of an app. By catching the exception which may occur, we can just skip the uninstalled app and avoid crashing. Change-Id: I1b96b0697f4041be356260d6c675593affc1cb69 Merged-In: If556db7b5a299ba53a29baefbbe9709ba6d12190 Fixes: 36793223 Fixes: 36793372 Test: Settings unit test
This commit is contained in:
@@ -180,6 +180,20 @@ public class StorageAsyncLoaderTest {
|
||||
assertThat(result.get(PRIMARY_USER_ID).otherAppsSize).isEqualTo(0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemovedPackageDoesNotCrash() throws Exception {
|
||||
ApplicationInfo info = new ApplicationInfo();
|
||||
info.packageName = PACKAGE_NAME_1;
|
||||
info.category = ApplicationInfo.CATEGORY_UNDEFINED;
|
||||
mInfo.add(info);
|
||||
when(mSource.getStatsForPackage(anyString(), anyString(), any(UserHandle.class)))
|
||||
.thenThrow(new IllegalStateException());
|
||||
|
||||
SparseArray<StorageAsyncLoader.AppsStorageResult> result = mLoader.loadInBackground();
|
||||
|
||||
// Should not crash.
|
||||
}
|
||||
|
||||
private ApplicationInfo addPackage(
|
||||
String packageName, long cacheSize, long codeSize, long dataSize, int category) {
|
||||
StorageStatsSource.AppStorageStats storageStats =
|
||||
|
Reference in New Issue
Block a user