summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Julia Reynolds <juliacr@google.com> 2019-07-28 22:40:20 -0700
committer android-build-merger <android-build-merger@google.com> 2019-07-28 22:40:20 -0700
commit1784bcd364579d2dbbfc6e55ebd7439a5c9e41ad (patch)
tree263420aff3dbf68a70159fa22ac8e3e1157ef70e
parente42e643eda78763adb2099e6327ed0a5adfcfb59 (diff)
parenta754ff10662282685e5640d05740c327ad6012a9 (diff)
Merge "Write policy file less" into qt-qpr1-dev
am: a754ff1066 Change-Id: I2c19718c0228a9445c34ca1567db0a2726fb01b4
-rw-r--r--services/core/java/com/android/server/notification/NotificationManagerService.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index 81e0ae25dec0..cd7e17d3f0c0 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -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)