summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Brad Fitzpatrick <bradfitz@android.com> 2010-09-07 11:15:01 -0700
committer Android Git Automerger <android-git-automerger@android.com> 2010-09-07 11:15:01 -0700
commitc19c9e4ee20512ba29e6e54aee06aa16413901f1 (patch)
treea0d7bbdf8c4ebb152ed3c046b35fb4b1612c6d0e
parentaab7375799e76ec2e429fbd8224d0c6e8cc96463 (diff)
parentb1104b3713febb75164938a465c3022e1879245f (diff)
am b1104b37: Merge "Make SharedPreferencesBackupHelper wait for async SharedPreference writes" into gingerbread
Merge commit 'b1104b3713febb75164938a465c3022e1879245f' into gingerbread-plus-aosp * commit 'b1104b3713febb75164938a465c3022e1879245f': Make SharedPreferencesBackupHelper wait for async SharedPreference writes
-rw-r--r--core/java/android/app/backup/SharedPreferencesBackupHelper.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/core/java/android/app/backup/SharedPreferencesBackupHelper.java b/core/java/android/app/backup/SharedPreferencesBackupHelper.java
index 23b170360daa..213bd31698de 100644
--- a/core/java/android/app/backup/SharedPreferencesBackupHelper.java
+++ b/core/java/android/app/backup/SharedPreferencesBackupHelper.java
@@ -16,6 +16,7 @@
package android.app.backup;
+import android.app.QueuedWork;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.ParcelFileDescriptor;
@@ -94,7 +95,11 @@ public class SharedPreferencesBackupHelper extends FileBackupHelperBase implemen
public void performBackup(ParcelFileDescriptor oldState, BackupDataOutput data,
ParcelFileDescriptor newState) {
Context context = mContext;
-
+
+ // If a SharedPreference has an outstanding write in flight,
+ // wait for it to finish flushing to disk.
+ QueuedWork.waitToFinish();
+
// make filenames for the prefGroups
String[] prefGroups = mPrefGroups;
final int N = prefGroups.length;
@@ -123,4 +128,3 @@ public class SharedPreferencesBackupHelper extends FileBackupHelperBase implemen
}
}
}
-