Resolving a race condition in upgrade to Froyo
Bug: 2789091
Change-Id: I4adb18ca019d50215129c2c7ec088b49438d053f
diff --git a/src/com/android/providers/contacts/ContactsProvider2.java b/src/com/android/providers/contacts/ContactsProvider2.java
index b7085ca..76e30ee 100644
--- a/src/com/android/providers/contacts/ContactsProvider2.java
+++ b/src/com/android/providers/contacts/ContactsProvider2.java
@@ -1977,10 +1977,11 @@
mMimeTypeIdPhone = mDbHelper.getMimeTypeId(Phone.CONTENT_ITEM_TYPE);
verifyAccounts();
- verifyLocale();
if (isLegacyContactImportNeeded()) {
importLegacyContactsAsync();
+ } else {
+ verifyLocale();
}
return (mDb != null);
@@ -2122,6 +2123,11 @@
Thread importThread = new Thread("LegacyContactImport") {
@Override
public void run() {
+ final SharedPreferences prefs =
+ PreferenceManager.getDefaultSharedPreferences(getContext());
+ mDbHelper.setLocale(ContactsProvider2.this, mCurrentLocale);
+ prefs.edit().putString(PREF_LOCALE, mCurrentLocale.toString()).commit();
+
LegacyContactImporter importer = getLegacyContactImporter();
if (importLegacyContacts(importer)) {
onLegacyContactImportSuccess();