diff options
| author | 2016-12-13 16:32:06 -0800 | |
|---|---|---|
| committer | 2016-12-14 01:00:37 +0000 | |
| commit | ea10cc0fbba7198935434865864b95d7f804ee7b (patch) | |
| tree | 4cc1269580c5c986b94bd6ee1b9c322bd2377f42 | |
| parent | 31d6889f4c89dd8498e2095f9d8a3c39fbd17c86 (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.java | 20 |
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; + } } } } |