diff options
| author | 2019-07-28 22:40:20 -0700 | |
|---|---|---|
| committer | 2019-07-28 22:40:20 -0700 | |
| commit | 1784bcd364579d2dbbfc6e55ebd7439a5c9e41ad (patch) | |
| tree | 263420aff3dbf68a70159fa22ac8e3e1157ef70e | |
| parent | e42e643eda78763adb2099e6327ed0a5adfcfb59 (diff) | |
| parent | a754ff10662282685e5640d05740c327ad6012a9 (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.java | 13 |
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) |