Write policy file less

Change-Id: I4357ad25c339d2210a977f661bbc9328bdb59096
Bug: 137568668
Bug: 135660478
Test: device boot, change notification settings, very settings on reboot
(cherry picked from commit a0cea56165)
This commit is contained in:
Julia Reynolds
2019-07-25 10:51:27 -04:00
parent 8237048fb0
commit 1e7098e9f5

View File

@@ -466,6 +466,8 @@ public class NotificationManagerService extends SystemService {
private MetricsLogger mMetricsLogger;
private TriPredicate<String, Integer, String> mAllowedManagedServicePackages;
private final SavePolicyFileRunnable mSavePolicyFile = new SavePolicyFileRunnable();
private static class Archive {
final int mBufferSize;
final ArrayDeque<StatusBarNotification> mBuffer;
@@ -659,7 +661,14 @@ public class NotificationManagerService extends SystemService {
@VisibleForTesting
protected void handleSavePolicyFile() {
IoThread.getHandler().post(() -> {
if (!IoThread.getHandler().hasCallbacks(mSavePolicyFile)) {
IoThread.getHandler().post(mSavePolicyFile);
}
}
private final class SavePolicyFileRunnable implements Runnable {
@Override
public void run() {
if (DBG) Slog.d(TAG, "handleSavePolicyFile");
synchronized (mPolicyFile) {
final FileOutputStream stream;
@@ -679,7 +688,7 @@ public class NotificationManagerService extends SystemService {
}
}
BackupManager.dataChanged(getContext().getPackageName());
});
}
}
private void writePolicyXml(OutputStream stream, boolean forBackup, int userId)