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

am: ffc7647e57

Change-Id: Ie5836a2f854f9198c67e8c38eca0c09d816ffc3f
This commit is contained in:
Julia Reynolds
2019-05-24 11:51:11 -07:00
committed by android-build-merger
2 changed files with 20 additions and 13 deletions

View File

@@ -1281,7 +1281,6 @@ public class NotificationManagerService extends SystemService {
}
mHandler.scheduleOnPackageChanged(removingPackage, changeUserId, pkgList, uidList);
handleSavePolicyFile();
}
}
};
@@ -6264,12 +6263,15 @@ 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);
handleSavePolicyFile();
if (preferencesChanged) {
handleSavePolicyFile();
}
}
protected class WorkerHandler extends Handler

View File

@@ -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) {