Don't crash on apps only installed for other users.
Change-Id: I13d415441aa1c7d09df7adccd4e2d2f9bbd3dbfb
Fixes: 28151314
diff --git a/src/com/android/settings/notification/AppNotificationSettings.java b/src/com/android/settings/notification/AppNotificationSettings.java
index 5113dc6..b8270e1 100644
--- a/src/com/android/settings/notification/AppNotificationSettings.java
+++ b/src/com/android/settings/notification/AppNotificationSettings.java
@@ -80,21 +80,23 @@
mBlock = (RestrictedSwitchPreference) getPreferenceScreen().findPreference(KEY_BLOCK);
mSilent = (RestrictedSwitchPreference) getPreferenceScreen().findPreference(KEY_SILENT);
- mAppRow = mBackend.loadAppRow(mContext, mPm, mPkgInfo);
+ if (mPkgInfo != null) {
+ mAppRow = mBackend.loadAppRow(mContext, mPm, mPkgInfo);
- NotificationManager.Policy policy =
- NotificationManager.from(mContext).getNotificationPolicy();
- mDndVisualEffectsSuppressed = policy == null ? false : policy.suppressedVisualEffects != 0;
+ NotificationManager.Policy policy =
+ NotificationManager.from(mContext).getNotificationPolicy();
+ mDndVisualEffectsSuppressed = policy == null ? false : policy.suppressedVisualEffects != 0;
- // load settings intent
- ArrayMap<String, AppRow> rows = new ArrayMap<String, AppRow>();
- rows.put(mAppRow.pkg, mAppRow);
- collectConfigActivities(rows);
+ // load settings intent
+ ArrayMap<String, AppRow> rows = new ArrayMap<String, AppRow>();
+ rows.put(mAppRow.pkg, mAppRow);
+ collectConfigActivities(rows);
- setupImportancePrefs(mAppRow.systemApp, mAppRow.appImportance, mAppRow.banned);
- setupPriorityPref(mAppRow.appBypassDnd);
- setupVisOverridePref(mAppRow.appVisOverride);
- updateDependents(mAppRow.appImportance);
+ setupImportancePrefs(mAppRow.systemApp, mAppRow.appImportance, mAppRow.banned);
+ setupPriorityPref(mAppRow.appBypassDnd);
+ setupVisOverridePref(mAppRow.appVisOverride);
+ updateDependents(mAppRow.appImportance);
+ }
}
@Override