From a8ec0f5d0e0bd2932f759decd0aa1ad7c56a77d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Wilczy=C5=84ski?= Date: Fri, 8 Apr 2022 13:59:25 +0000 Subject: [PATCH] Move the call to flush() to avoid a race condition Bug: 221393932 Test: atest PersistentDataStoreTest Test: Manually change brightness, run 'adb shell dumpsys display | grep -A30 PersistentDataStore' and check that the brightness value has updated. Also reboot the device and check that the brightness value stays the same. Change-Id: I6f0b958a7db832a0ebe5e9f2ebc434ac92f47a8a --- .../java/com/android/server/display/PersistentDataStore.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/display/PersistentDataStore.java b/services/core/java/com/android/server/display/PersistentDataStore.java index 4b93d8f42da39..59daee9ea2ff5 100644 --- a/services/core/java/com/android/server/display/PersistentDataStore.java +++ b/services/core/java/com/android/server/display/PersistentDataStore.java @@ -463,6 +463,7 @@ final class PersistentDataStore { TypedXmlSerializer serializer = Xml.resolveSerializer(os); saveToXml(serializer); + serializer.flush(); mHandler.removeCallbacksAndMessages(/* token */ null); mHandler.post(() -> { @@ -481,8 +482,6 @@ final class PersistentDataStore { } } }); - - serializer.flush(); } catch (IOException ex) { Slog.w(TAG, "Failed to process the XML serializer.", ex); }