Loading services/core/java/com/android/server/notification/NotificationManagerService.java +5 −3 Original line number Diff line number Diff line Loading @@ -1281,7 +1281,6 @@ public class NotificationManagerService extends SystemService { } mHandler.scheduleOnPackageChanged(removingPackage, changeUserId, pkgList, uidList); handleSavePolicyFile(); } } }; Loading Loading @@ -6264,13 +6263,16 @@ public class NotificationManagerService extends SystemService { private void handleOnPackageChanged(boolean removingPackage, int changeUserId, String[] pkgList, int[] uidList) { boolean preferencesChanged = removingPackage; mListeners.onPackagesChanged(removingPackage, pkgList, uidList); mAssistants.onPackagesChanged(removingPackage, pkgList, uidList); mConditionProviders.onPackagesChanged(removingPackage, pkgList, uidList); mPreferencesHelper.onPackagesChanged( preferencesChanged |= mPreferencesHelper.onPackagesChanged( removingPackage, changeUserId, pkgList, uidList); if (preferencesChanged) { handleSavePolicyFile(); } } protected class WorkerHandler extends Handler { Loading services/core/java/com/android/server/notification/PreferencesHelper.java +15 −10 Original line number Diff line number Diff line Loading @@ -334,33 +334,35 @@ public class PreferencesHelper implements RankingConfig { return true; } private void deleteDefaultChannelIfNeededLocked(PackagePreferences r) throws private boolean deleteDefaultChannelIfNeededLocked(PackagePreferences r) throws PackageManager.NameNotFoundException { if (!r.channels.containsKey(NotificationChannel.DEFAULT_CHANNEL_ID)) { // Not present return; return false; } if (shouldHaveDefaultChannel(r)) { // Keep the default channel until upgraded. return; return false; } // Remove Default Channel. r.channels.remove(NotificationChannel.DEFAULT_CHANNEL_ID); return true; } private void createDefaultChannelIfNeededLocked(PackagePreferences r) throws private boolean createDefaultChannelIfNeededLocked(PackagePreferences r) throws PackageManager.NameNotFoundException { if (r.channels.containsKey(NotificationChannel.DEFAULT_CHANNEL_ID)) { r.channels.get(NotificationChannel.DEFAULT_CHANNEL_ID).setName(mContext.getString( com.android.internal.R.string.default_notification_channel_label)); return; return false; } if (!shouldHaveDefaultChannel(r)) { // Keep the default channel until upgraded. return; return false; } // Create Default Channel Loading @@ -381,6 +383,8 @@ public class PreferencesHelper implements RankingConfig { channel.lockFields(NotificationChannel.USER_LOCKED_VISIBILITY); } r.channels.put(channel.getId(), channel); return true; } public void writeXml(XmlSerializer out, boolean forBackup, int userId) throws IOException { Loading Loading @@ -1687,10 +1691,10 @@ public class PreferencesHelper implements RankingConfig { } } public void onPackagesChanged(boolean removingPackage, int changeUserId, String[] pkgList, public boolean onPackagesChanged(boolean removingPackage, int changeUserId, String[] pkgList, int[] uidList) { if (pkgList == null || pkgList.length == 0) { return; // nothing to do return false; // nothing to do } boolean updated = false; if (removingPackage) { Loading Loading @@ -1727,8 +1731,8 @@ public class PreferencesHelper implements RankingConfig { PackagePreferences fullPackagePreferences = getPackagePreferencesLocked(pkg, mPm.getPackageUidAsUser(pkg, changeUserId)); if (fullPackagePreferences != null) { createDefaultChannelIfNeededLocked(fullPackagePreferences); deleteDefaultChannelIfNeededLocked(fullPackagePreferences); updated |= createDefaultChannelIfNeededLocked(fullPackagePreferences); updated |= deleteDefaultChannelIfNeededLocked(fullPackagePreferences); } } } catch (PackageManager.NameNotFoundException e) { Loading @@ -1739,6 +1743,7 @@ public class PreferencesHelper implements RankingConfig { if (updated) { updateConfig(); } return updated; } public void clearData(String pkg, int uid) { Loading Loading
services/core/java/com/android/server/notification/NotificationManagerService.java +5 −3 Original line number Diff line number Diff line Loading @@ -1281,7 +1281,6 @@ public class NotificationManagerService extends SystemService { } mHandler.scheduleOnPackageChanged(removingPackage, changeUserId, pkgList, uidList); handleSavePolicyFile(); } } }; Loading Loading @@ -6264,13 +6263,16 @@ public class NotificationManagerService extends SystemService { private void handleOnPackageChanged(boolean removingPackage, int changeUserId, String[] pkgList, int[] uidList) { boolean preferencesChanged = removingPackage; mListeners.onPackagesChanged(removingPackage, pkgList, uidList); mAssistants.onPackagesChanged(removingPackage, pkgList, uidList); mConditionProviders.onPackagesChanged(removingPackage, pkgList, uidList); mPreferencesHelper.onPackagesChanged( preferencesChanged |= mPreferencesHelper.onPackagesChanged( removingPackage, changeUserId, pkgList, uidList); if (preferencesChanged) { handleSavePolicyFile(); } } protected class WorkerHandler extends Handler { Loading
services/core/java/com/android/server/notification/PreferencesHelper.java +15 −10 Original line number Diff line number Diff line Loading @@ -334,33 +334,35 @@ public class PreferencesHelper implements RankingConfig { return true; } private void deleteDefaultChannelIfNeededLocked(PackagePreferences r) throws private boolean deleteDefaultChannelIfNeededLocked(PackagePreferences r) throws PackageManager.NameNotFoundException { if (!r.channels.containsKey(NotificationChannel.DEFAULT_CHANNEL_ID)) { // Not present return; return false; } if (shouldHaveDefaultChannel(r)) { // Keep the default channel until upgraded. return; return false; } // Remove Default Channel. r.channels.remove(NotificationChannel.DEFAULT_CHANNEL_ID); return true; } private void createDefaultChannelIfNeededLocked(PackagePreferences r) throws private boolean createDefaultChannelIfNeededLocked(PackagePreferences r) throws PackageManager.NameNotFoundException { if (r.channels.containsKey(NotificationChannel.DEFAULT_CHANNEL_ID)) { r.channels.get(NotificationChannel.DEFAULT_CHANNEL_ID).setName(mContext.getString( com.android.internal.R.string.default_notification_channel_label)); return; return false; } if (!shouldHaveDefaultChannel(r)) { // Keep the default channel until upgraded. return; return false; } // Create Default Channel Loading @@ -381,6 +383,8 @@ public class PreferencesHelper implements RankingConfig { channel.lockFields(NotificationChannel.USER_LOCKED_VISIBILITY); } r.channels.put(channel.getId(), channel); return true; } public void writeXml(XmlSerializer out, boolean forBackup, int userId) throws IOException { Loading Loading @@ -1687,10 +1691,10 @@ public class PreferencesHelper implements RankingConfig { } } public void onPackagesChanged(boolean removingPackage, int changeUserId, String[] pkgList, public boolean onPackagesChanged(boolean removingPackage, int changeUserId, String[] pkgList, int[] uidList) { if (pkgList == null || pkgList.length == 0) { return; // nothing to do return false; // nothing to do } boolean updated = false; if (removingPackage) { Loading Loading @@ -1727,8 +1731,8 @@ public class PreferencesHelper implements RankingConfig { PackagePreferences fullPackagePreferences = getPackagePreferencesLocked(pkg, mPm.getPackageUidAsUser(pkg, changeUserId)); if (fullPackagePreferences != null) { createDefaultChannelIfNeededLocked(fullPackagePreferences); deleteDefaultChannelIfNeededLocked(fullPackagePreferences); updated |= createDefaultChannelIfNeededLocked(fullPackagePreferences); updated |= deleteDefaultChannelIfNeededLocked(fullPackagePreferences); } } } catch (PackageManager.NameNotFoundException e) { Loading @@ -1739,6 +1743,7 @@ public class PreferencesHelper implements RankingConfig { if (updated) { updateConfig(); } return updated; } public void clearData(String pkg, int uid) { Loading