From f59b830fdfdcbf7cb095910d1edbe06b1dc059e3 Mon Sep 17 00:00:00 2001 From: Daniel Nishi Date: Thu, 27 Apr 2017 12:10:52 -0700 Subject: [PATCH] Don't crash during app uninstall. ApplicationsState was not handling the case where the storage query fails and returns a null result. This meant that it NPE when this happened. Fixes: 37726237 Test: Manual (see b/34768986) Change-Id: I3740ac7b1192e1ea3cdad85c61dd3dee2c2251cc --- .../android/settingslib/applications/ApplicationsState.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java index 66dfecd2505f3..443f1ee1d8272 100644 --- a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java +++ b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java @@ -1040,6 +1040,11 @@ public class ApplicationsState { final IPackageStatsObserver.Stub mStatsObserver = new IPackageStatsObserver.Stub() { public void onGetStatsCompleted(PackageStats stats, boolean succeeded) { + if (!succeeded) { + // There is no meaningful information in stats if the call failed. + return; + } + boolean sizeChanged = false; synchronized (mEntriesMap) { if (DEBUG_LOCKING) Log.v(TAG, "onGetStatsCompleted acquired lock");