Don't crash if the package disappears
bug:28657926
Change-Id: I8ea1fe1e450e61a4b92386fb4243f94b3de4b11b
diff --git a/Settings/src/com/android/tv/settings/device/apps/AppManagementFragment.java b/Settings/src/com/android/tv/settings/device/apps/AppManagementFragment.java
index de2b21d..d46f252 100644
--- a/Settings/src/com/android/tv/settings/device/apps/AppManagementFragment.java
+++ b/Settings/src/com/android/tv/settings/device/apps/AppManagementFragment.java
@@ -83,6 +83,7 @@
// This is unlikely to happen
Log.d(TAG, "App not found, trying to bail out");
navigateBack();
+ return;
}
super.onCreate(savedInstanceState);
@@ -137,6 +138,12 @@
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
+ if (mEntry == null) {
+ // This is unlikely to happen
+ Log.d(TAG, "App not found, trying to bail out");
+ navigateBack();
+ return;
+ }
final Context themedContext = getPreferenceManager().getContext();
final PreferenceScreen screen =
getPreferenceManager().createPreferenceScreen(themedContext);
@@ -314,6 +321,12 @@
public void onPackageListChanged() {
final int userId = UserHandle.getUserId(mEntry.info.uid);
mEntry = mApplicationsState.getEntry(mPackageName, userId);
+ if (mEntry == null) {
+ // This is unlikely to happen
+ Log.d(TAG, "App not found, trying to bail out");
+ navigateBack();
+ return;
+ }
onCreatePreferences(null, null);
}