summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Philip P. Moltmann <moltmann@google.com> 2016-12-13 16:32:06 -0800
committer Svetoslav Ganov <svetoslavganov@google.com> 2017-01-12 16:43:30 -0800
commit1f99f81bdc5e8430717def157f4abe1176d6a88e (patch)
tree02da2fe777f4c7658522929c5a68428d40d5e3a2
parentd15c4f1da58de847ebdecdfade96d21ba8128929 (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;
+ }
}
}
}