Merge "Let MediaScanner know an exported file."
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d09904a..4c75705 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -680,13 +680,13 @@
     -->
     <string name="description_plus_button">plus</string>
 
-    <!-- Dialog title shown when USB storage does not exist [CHAR LIMIT=25] -->
-    <string name="no_sdcard_title" product="nosdcard">USB storage unavailable</string>
+    <!-- Dialog title shown when (USB) storage does not exist [CHAR LIMIT=25] -->
+    <string name="no_sdcard_title" product="nosdcard">Storage unavailable</string>
     <!-- Dialog title shown when SD Card does not exist -->
     <string name="no_sdcard_title" product="default">No SD card</string>
 
-    <!-- Dialog message shown when USB storage does not exist [CHAR LIMIT=30] -->
-    <string name="no_sdcard_message" product="nosdcard">No USB storage detected</string>
+    <!-- Dialog message shown when (USB) storage does not exist [CHAR LIMIT=30] -->
+    <string name="no_sdcard_message" product="nosdcard">No storage detected</string>
     <!-- Dialog message shown when SDcard does not exist -->
     <string name="no_sdcard_message" product="default">No SD card detected</string>
 
@@ -696,13 +696,13 @@
     <!-- Action string for selecting SIM for importing contacts -->
     <string name="import_from_sim">Import from SIM card</string>
 
-    <!-- Action string for selecting USB storage for importing contacts [CHAR LIMIT=25] -->
-    <string name="import_from_sdcard" product="nosdcard">Import from USB storage</string>
+    <!-- Action string for selecting (USB) storage for importing contacts [CHAR LIMIT=25] -->
+    <string name="import_from_sdcard" product="nosdcard">Import from storage</string>
     <!-- Action string for selecting SD Card for importing contacts -->
     <string name="import_from_sdcard" product="default">Import from SD card</string>
 
-    <!-- Action that exports all contacts to USB storage [CHAR LIMIT=25] -->
-    <string name="export_to_sdcard" product="nosdcard">Export to USB storage</string>
+    <!-- Action that exports all contacts to (USB) storage [CHAR LIMIT=25] -->
+    <string name="export_to_sdcard" product="nosdcard">Export to storage</string>
     <!-- Action that exports all contacts to SD Card -->
     <string name="export_to_sdcard" product="default">Export to SD card</string>
 
@@ -724,19 +724,19 @@
          than one vCard files available in the system. -->
     <string name="import_all_vcard_string">Import all vCard files</string>
 
-    <!-- Dialog message shown when searching VCard data from SD Card [CHAR LIMIT=NONE] -->
-    <string name="searching_vcard_message" product="nosdcard">Searching for vCard data in USB storage</string>
+    <!-- Dialog message shown when searching VCard data from (USB) storage [CHAR LIMIT=NONE] -->
+    <string name="searching_vcard_message" product="nosdcard">Searching for vCard data in storage</string>
     <!-- Dialog message shown when searching VCard data from SD Card -->
     <string name="searching_vcard_message" product="default">Searching for vCard data on SD card</string>
 
     <!-- Dialog title shown when scanning VCard data failed. [CHAR LIMIT=NONE] -->
-    <string name="scanning_sdcard_failed_title" product="nosdcard">Scanning USB storage failed</string>
+    <string name="scanning_sdcard_failed_title" product="nosdcard">Scanning storage failed</string>
     <!-- Dialog title shown when scanning VCard data failed. -->
     <string name="scanning_sdcard_failed_title" product="default">Scanning SD card failed</string>
 
     <!-- Dialog message shown when searching VCard data failed.
          An exact reason for the failure should [CHAR LIMIT=NONE] -->
-    <string name="scanning_sdcard_failed_message" product="nosdcard">Scanning USB storage failed (Reason: \"<xliff:g id="fail_reason">%s</xliff:g>\")</string>
+    <string name="scanning_sdcard_failed_message" product="nosdcard">Scanning storage failed (Reason: \"<xliff:g id="fail_reason">%s</xliff:g>\")</string>
     <!-- Dialog message shown when searching VCard data failed.
          An exact reason for the failure should -->
     <string name="scanning_sdcard_failed_message" product="default">Scanning SD card failed (Reason: \"<xliff:g id="fail_reason">%s</xliff:g>\")</string>
@@ -762,9 +762,9 @@
     <string name="vcard_import_failed">Failed to import vCard</string>
 
     <!-- The failure message shown when the system could not find any vCard file.
-         (with extension ".vcf" in USB storage.)
+         (with extension ".vcf" in (USB) storage.)
          [CHAR LIMIT=128] -->
-    <string name="import_failure_no_vcard_file" product="nosdcard">No vCard file found in the USB storage</string>
+    <string name="import_failure_no_vcard_file" product="nosdcard">No vCard file found in the storage</string>
     <!-- The failure message shown when the system could not find any vCard file.
          (with extension ".vcf" in SDCard.)
          [CHAR LIMIT=128] -->
@@ -864,7 +864,7 @@
 
     <!-- The failed reason shown when vCard exporter could not create a file for the vCard since
          there are too many files relevant to vCard. [CHAR LIMIT=NONE] -->
-    <string name="fail_reason_too_many_vcard" product="nosdcard">Too many vCard files in the USB storage</string>
+    <string name="fail_reason_too_many_vcard" product="nosdcard">Too many vCard files in the storage</string>
     <!-- The failed reason shown when vCard exporter could not create a file for the vCard since
          there are too many files relevant to vCard. -->
     <string name="fail_reason_too_many_vcard" product="default">Too many vCard files on the SD card</string>
diff --git a/src/com/android/contacts/editor/PhotoActionPopup.java b/src/com/android/contacts/editor/PhotoActionPopup.java
index ae76afe..bc50da9 100644
--- a/src/com/android/contacts/editor/PhotoActionPopup.java
+++ b/src/com/android/contacts/editor/PhotoActionPopup.java
@@ -101,6 +101,7 @@
         listPopupWindow.setWidth(context.getResources().getDimensionPixelSize(
                 R.dimen.photo_action_popup_width));
         listPopupWindow.setModal(true);
+        listPopupWindow.setInputMethodMode(ListPopupWindow.INPUT_METHOD_NOT_NEEDED);
         return listPopupWindow;
     }
 
diff --git a/src/com/android/contacts/model/BaseAccountType.java b/src/com/android/contacts/model/BaseAccountType.java
index dbfeae4..70cfa55 100644
--- a/src/com/android/contacts/model/BaseAccountType.java
+++ b/src/com/android/contacts/model/BaseAccountType.java
@@ -121,12 +121,6 @@
                     FLAGS_PERSON_NAME).setLongForm(true));
             kind.fieldList.add(new EditField(StructuredName.SUFFIX, R.string.name_suffix,
                     FLAGS_PERSON_NAME).setLongForm(true));
-            kind.fieldList.add(new EditField(StructuredName.PHONETIC_FAMILY_NAME,
-                    R.string.name_phonetic_family, FLAGS_PHONETIC).setLongForm(true));
-            kind.fieldList.add(new EditField(StructuredName.PHONETIC_MIDDLE_NAME,
-                    R.string.name_phonetic_middle, FLAGS_PHONETIC).setLongForm(true));
-            kind.fieldList.add(new EditField(StructuredName.PHONETIC_GIVEN_NAME,
-                    R.string.name_phonetic_given, FLAGS_PHONETIC).setLongForm(true));
         } else {
             kind.fieldList.add(new EditField(StructuredName.PREFIX, R.string.name_prefix,
                     FLAGS_PERSON_NAME).setLongForm(true));
@@ -138,13 +132,13 @@
                     FLAGS_PERSON_NAME).setLongForm(true));
             kind.fieldList.add(new EditField(StructuredName.SUFFIX, R.string.name_suffix,
                     FLAGS_PERSON_NAME).setLongForm(true));
-            kind.fieldList.add(new EditField(StructuredName.PHONETIC_GIVEN_NAME,
-                    R.string.name_phonetic_given, FLAGS_PHONETIC).setLongForm(true));
-            kind.fieldList.add(new EditField(StructuredName.PHONETIC_MIDDLE_NAME,
-                    R.string.name_phonetic_middle, FLAGS_PHONETIC).setLongForm(true));
-            kind.fieldList.add(new EditField(StructuredName.PHONETIC_FAMILY_NAME,
-                    R.string.name_phonetic_family, FLAGS_PHONETIC).setLongForm(true));
         }
+        kind.fieldList.add(new EditField(StructuredName.PHONETIC_FAMILY_NAME,
+                R.string.name_phonetic_family, FLAGS_PHONETIC).setLongForm(true));
+        kind.fieldList.add(new EditField(StructuredName.PHONETIC_MIDDLE_NAME,
+                R.string.name_phonetic_middle, FLAGS_PHONETIC).setLongForm(true));
+        kind.fieldList.add(new EditField(StructuredName.PHONETIC_GIVEN_NAME,
+                R.string.name_phonetic_given, FLAGS_PHONETIC).setLongForm(true));
 
         return kind;
     }
diff --git a/src/com/android/contacts/model/ExchangeAccountType.java b/src/com/android/contacts/model/ExchangeAccountType.java
index 4442a70..9779e70 100644
--- a/src/com/android/contacts/model/ExchangeAccountType.java
+++ b/src/com/android/contacts/model/ExchangeAccountType.java
@@ -80,10 +80,6 @@
                     R.string.name_given, FLAGS_PERSON_NAME));
             kind.fieldList.add(new EditField(StructuredName.SUFFIX,
                     R.string.name_suffix, FLAGS_PERSON_NAME).setOptional(true));
-            kind.fieldList.add(new EditField(StructuredName.PHONETIC_FAMILY_NAME,
-                    R.string.name_phonetic_family, FLAGS_PHONETIC).setOptional(true));
-            kind.fieldList.add(new EditField(StructuredName.PHONETIC_GIVEN_NAME,
-                    R.string.name_phonetic_given, FLAGS_PHONETIC).setOptional(true));
         } else {
             kind.fieldList.add(new EditField(StructuredName.GIVEN_NAME,
                     R.string.name_given, FLAGS_PERSON_NAME));
@@ -93,12 +89,13 @@
                     R.string.name_family, FLAGS_PERSON_NAME));
             kind.fieldList.add(new EditField(StructuredName.SUFFIX,
                     R.string.name_suffix, FLAGS_PERSON_NAME).setOptional(true));
-            kind.fieldList.add(new EditField(StructuredName.PHONETIC_GIVEN_NAME,
-                    R.string.name_phonetic_given, FLAGS_PHONETIC).setOptional(true));
-            kind.fieldList.add(new EditField(StructuredName.PHONETIC_FAMILY_NAME,
-                    R.string.name_phonetic_family, FLAGS_PHONETIC).setOptional(true));
         }
 
+        kind.fieldList.add(new EditField(StructuredName.PHONETIC_FAMILY_NAME,
+                R.string.name_phonetic_family, FLAGS_PHONETIC).setOptional(true));
+        kind.fieldList.add(new EditField(StructuredName.PHONETIC_GIVEN_NAME,
+                R.string.name_phonetic_given, FLAGS_PHONETIC).setOptional(true));
+
         return kind;
     }