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();