summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@android.com>2010-10-08 15:20:11 -0700
committerBrad Fitzpatrick <bradfitz@android.com>2010-10-08 15:34:08 -0700
commit9acdeb99c5102f89a9a73eb4d62e38e7ac86e01c (patch)
tree2abf96f9c2d8e2b38972ea1d00bb6ad6a0c56346
parentdb56b9bd39e739474684987b83f386f50596aa5d (diff)
downloadframeworks_base-9acdeb99c5102f89a9a73eb4d62e38e7ac86e01c.zip
frameworks_base-9acdeb99c5102f89a9a73eb4d62e38e7ac86e01c.tar.gz
frameworks_base-9acdeb99c5102f89a9a73eb4d62e38e7ac86e01c.tar.bz2
Minor SharedPreference clean-up.
Make a member final, line up some comments, and also cache the expected stat size, not just the mtime. Change-Id: Ifcc37bd3ab99787280e506deb682200a16da512e
-rw-r--r--core/java/android/app/ContextImpl.java16
1 files changed, 9 insertions, 7 deletions
diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java
index e66f52a..c08f1fc 100644
--- a/core/java/android/app/ContextImpl.java
+++ b/core/java/android/app/ContextImpl.java
@@ -2739,14 +2739,15 @@ class ContextImpl extends Context {
private final File mBackupFile;
private final int mMode;
- private Map<String, Object> mMap; // guarded by 'this'
- private long mTimestamp; // guarded by 'this'
+ private Map<String, Object> mMap; // guarded by 'this'
private int mDiskWritesInFlight = 0; // guarded by 'this'
- private boolean mLoaded = false; // guarded by 'this'
+ private boolean mLoaded = false; // guarded by 'this'
+ private long mStatTimestamp; // guarded by 'this'
+ private long mStatSize; // guarded by 'this'
private final Object mWritingToDiskLock = new Object();
private static final Object mContent = new Object();
- private WeakHashMap<OnSharedPreferenceChangeListener, Object> mListeners;
+ private final WeakHashMap<OnSharedPreferenceChangeListener, Object> mListeners;
SharedPreferencesImpl(
File file, int mode, Map initialContents) {
@@ -2757,7 +2758,7 @@ class ContextImpl extends Context {
mMap = initialContents != null ? initialContents : new HashMap<String, Object>();
FileStatus stat = new FileStatus();
if (FileUtils.getFileStatus(file.getPath(), stat)) {
- mTimestamp = stat.mtime;
+ mStatTimestamp = stat.mtime;
}
mListeners = new WeakHashMap<OnSharedPreferenceChangeListener, Object>();
}
@@ -2784,7 +2785,7 @@ class ContextImpl extends Context {
return true;
}
synchronized (this) {
- return mTimestamp != stat.mtime;
+ return mStatTimestamp != stat.mtime || mStatSize != stat.size;
}
}
@@ -3165,7 +3166,8 @@ class ContextImpl extends Context {
FileStatus stat = new FileStatus();
if (FileUtils.getFileStatus(mFile.getPath(), stat)) {
synchronized (this) {
- mTimestamp = stat.mtime;
+ mStatTimestamp = stat.mtime;
+ mStatSize = stat.size;
}
}
// Writing was successful, delete the backup file if there is one.