Fix issue #10387684: ArrayIndexOutOfBoundsException in ArrayMap.put

Locking of sSharedPrefs was bad -- it was using a per-context lock
instead of a static lock.

Change-Id: Ib261a40619c43f7ea2e686057c0702fb5461d843
This commit is contained in:
Dianne Hackborn
2013-09-05 13:21:24 -07:00
parent 0851945a72
commit f691359724

View File

@@ -710,7 +710,7 @@ class ContextImpl extends Context {
@Override
public SharedPreferences getSharedPreferences(String name, int mode) {
SharedPreferencesImpl sp;
synchronized (mSync) {
synchronized (ContextImpl.class) {
if (sSharedPrefs == null) {
sSharedPrefs = new ArrayMap<String, ArrayMap<String, SharedPreferencesImpl>>();
}