Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f3d0764f authored by Julia Reynolds's avatar Julia Reynolds Committed by android-build-merger
Browse files

Merge "Get rid of unnecessary policy file saves" into qt-dev

am: ffc7647e

Change-Id: I69c5eb5ced58b21144c228f1fefac75688b59384
parents efaee402 ffc7647e
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -1281,7 +1281,6 @@ public class NotificationManagerService extends SystemService {
                }

                mHandler.scheduleOnPackageChanged(removingPackage, changeUserId, pkgList, uidList);
                handleSavePolicyFile();
            }
        }
    };
@@ -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
    {
+15 −10
Original line number Diff line number Diff line
@@ -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
@@ -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 {
@@ -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) {
@@ -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) {
@@ -1739,6 +1743,7 @@ public class PreferencesHelper implements RankingConfig {
        if (updated) {
            updateConfig();
        }
        return updated;
    }

    public void clearData(String pkg, int uid) {