summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Philip P. Moltmann <moltmann@google.com> 2016-12-13 16:32:06 -0800
committer Philip P. Moltmann <moltmann@google.com> 2016-12-14 01:00:37 +0000
commitea10cc0fbba7198935434865864b95d7f804ee7b (patch)
tree4cc1269580c5c986b94bd6ee1b9c322bd2377f42
parent31d6889f4c89dd8498e2095f9d8a3c39fbd17c86 (diff)
Do not write if apply() did not change the file.
Bug: 33385963 Test: SharedPreferences CTS tests Change-Id: I39955f8fbcdaa54faa539a3c503e12cb00808136
-rw-r--r--core/java/android/app/SharedPreferencesImpl.java20
1 files changed, 10 insertions, 10 deletions
diff --git a/core/java/android/app/SharedPreferencesImpl.java b/core/java/android/app/SharedPreferencesImpl.java
index c5a8288b500f..f273cd8670f0 100644
--- a/core/java/android/app/SharedPreferencesImpl.java
+++ b/core/java/android/app/SharedPreferencesImpl.java
@@ -592,17 +592,17 @@ final class SharedPreferencesImpl implements SharedPreferences {
if (mFile.exists()) {
boolean needsWrite = false;
- if (isFromSyncCommit) {
- // Only need to write if the disk state is older than this commit
- if (mDiskStateGeneration < mcr.memoryStateGeneration) {
+ // Only need to write if the disk state is older than this commit
+ if (mDiskStateGeneration < mcr.memoryStateGeneration) {
+ if (isFromSyncCommit) {
needsWrite = true;
- }
- } else {
- synchronized (this) {
- // No need to persist intermediate states. Just wait for the latest state to be
- // persisted.
- if (mCurrentMemoryStateGeneration == mcr.memoryStateGeneration) {
- needsWrite = true;
+ } else {
+ synchronized (this) {
+ // No need to persist intermediate states. Just wait for the latest state to
+ // be persisted.
+ if (mCurrentMemoryStateGeneration == mcr.memoryStateGeneration) {
+ needsWrite = true;
+ }
}
}
}