diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 53c566a..914854b 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -18,7 +18,7 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="permlab_bluetoothShareManager" msgid="311492132450338925">"አውርድ አደራጅን ድረስ።"</string>
     <string name="permdesc_bluetoothShareManager" msgid="8930572979123190223">"የብሉቱዝ አጋራ አስተዳዳሪውን ለመድረስ እና ፋይሎች እንዲያስተላልፉ ለመጠቀም ለመተግበሪያው ይፈቅዳል።"</string>
-    <string name="permlab_bluetoothWhitelist" msgid="7091552898592306386">"የብሉቱዝ መሳሪያ መዳረሻን በተወዳጆች ዝርዝር አስገባ።"</string>
+    <string name="permlab_bluetoothWhitelist" msgid="7091552898592306386">"የብሉቱዝ መሳሪያ መዳረሻን በተወዳጆች ዝርዝር ያስገቡ።"</string>
     <string name="permdesc_bluetoothWhitelist" msgid="5494513855192170109">"መተግበሪያው አንድን የብሉቱዝ መሳሪያ በጊዜያዊነት በተወዳጆች ዝርዝር እንዲያስገባ ይፈቅድለታል፣ ይህም መሳሪያው ወደዚህኛው መሳሪያ ፋይሎችን ያለተጠቃሚው ማረጋገጫ ለመላክ ያስችለዋል።"</string>
     <string name="permlab_handoverStatus" msgid="7316032998801933554">"የBT ርክክብ ስርጭቶችን ተቀበል።"</string>
     <string name="permdesc_handoverStatus" msgid="4752738070064786310">"ከብሉቱዝ የርክክብ ሁኔታ መረጃ ለመቀበል ያስችላል።"</string>
@@ -39,8 +39,8 @@
     <string name="incoming_file_confirm_timeout_ok" msgid="1414676773249857278">"እሺ"</string>
     <string name="incoming_file_confirm_timeout_content" msgid="172779756093975981">"ከ \"<xliff:g id="SENDER">%1$s</xliff:g>\" ገቢ መልዕክት ፋይል እየተቀበለ ሳለ ጊዜ አልቆ ነበር።"</string>
     <string name="incoming_file_confirm_Notification_title" msgid="2958227698135117210">"የብሉቱዝ መጋሪያ፡ ገቢ ፋይል"</string>
-    <string name="incoming_file_confirm_Notification_caption" msgid="6671081128475981157">"ይህን ፋይል መቀበል ትፈልጋለህ?"</string>
-    <string name="incoming_file_toast_msg" msgid="1733710749992901811">"ከሌላ መሣሪያ የሚገባ ፋይል አለ፣ ይህን ፋይል ለመቀበል መፈለግህን አረጋግጥ።"</string>
+    <string name="incoming_file_confirm_Notification_caption" msgid="6671081128475981157">"ይህን ፋይል መቀበል ይፈልጋሉ?"</string>
+    <string name="incoming_file_toast_msg" msgid="1733710749992901811">"ከሌላ መሣሪያ የሚገባ ፋይል አለ፣ ይህን ፋይል ለመቀበል መፈለግዎን ያረጋግጡ።"</string>
     <string name="notification_receiving" msgid="4674648179652543984">"ብሉቱዝ ማጋሪያ፡ <xliff:g id="FILE">%1$s</xliff:g> እየተቀበለ"</string>
     <string name="notification_received" msgid="3324588019186687985">"ብሉቱዝ ማጋሪያ፡ <xliff:g id="FILE">%1$s</xliff:g> ደርሷል"</string>
     <string name="notification_received_fail" msgid="3619350997285714746">"ብሉቱዝ ማጋሪያ፡ ፋይል<xliff:g id="FILE">%1$s</xliff:g> አልደረሰም"</string>
@@ -78,7 +78,7 @@
     <string name="not_exist_file_desc" msgid="4059531573790529229">"ፋይል የለም:: "\n</string>
     <string name="enabling_progress_title" msgid="436157952334723406">"እባክዎ ይጠብቁ…"</string>
     <string name="enabling_progress_content" msgid="4601542238119927904">"ብሉቱዝ በማብራት ላይ..."</string>
-    <string name="bt_toast_1" msgid="972182708034353383">"ፋይሉ ይደርሳል።በማሳወቂያ ውስን ቦታ ውስጥ ሂደቱን ተመልከት።"</string>
+    <string name="bt_toast_1" msgid="972182708034353383">"ፋይሉ ይደርሳል።በማሳወቂያ ውስን ቦታ ውስጥ ሂደቱን ይመልከቱ።"</string>
     <string name="bt_toast_2" msgid="8602553334099066582">"ፋይሉን መቀበል አይቻልም::"</string>
     <string name="bt_toast_3" msgid="6707884165086862518">"ከ\"<xliff:g id="SENDER">%1$s</xliff:g>\" ፋይል መቀበል አቁሟል"</string>
     <string name="bt_toast_4" msgid="4678812947604395649">"ፋይል ወደ \"<xliff:g id="RECIPIENT">%1$s</xliff:g>\" በመላክ ላይ"</string>
@@ -91,7 +91,7 @@
     <string name="status_pending" msgid="2503691772030877944">"የፋይል ዝውውር ገና አልተጀመረም::"</string>
     <string name="status_running" msgid="6562808920311008696">"የፋይል ዝውውር በመካሄድ ላይ ነው::"</string>
     <string name="status_success" msgid="239573225847565868">"የፋይል ዝውውሩ በተሳካ ሁኔታ ተጠናቋል::"</string>
-    <string name="status_not_accept" msgid="1695082417193780738">"ይዘት አይደገፍም::"</string>
+    <string name="status_not_accept" msgid="1695082417193780738">"ይዘቱ አይደገፍም።"</string>
     <string name="status_forbidden" msgid="613956401054050725">"ይህ ዝውውር በታለመው መሣሪያ የተከለከለ ነው።"</string>
     <string name="status_canceled" msgid="6664490318773098285">"ዝውውር በተጠቃሚ ተትቷል::"</string>
     <string name="status_file_error" msgid="3671917770630165299">"የማከማቻ ጉዳይ"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index bda160d..c44c55e 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -25,7 +25,7 @@
     <string name="bt_share_picker_label" msgid="6268100924487046932">"Bluetooth"</string>
     <string name="unknown_device" msgid="9221903979877041009">"Dispositivo desconocido"</string>
     <string name="unknownNumber" msgid="4994750948072751566">"Desconocido"</string>
-    <string name="airplane_error_title" msgid="2683839635115739939">"Modo de avión"</string>
+    <string name="airplane_error_title" msgid="2683839635115739939">"Modo avión"</string>
     <string name="airplane_error_msg" msgid="8698965595254137230">"No puedes usar Bluetooth en Modo avión."</string>
     <string name="bt_enable_title" msgid="8657832550503456572"></string>
     <string name="bt_enable_line1" msgid="7203551583048149">"Para acceder a nuestros servicios de Bluetooth, primero debes activar el Bluetooth."</string>
@@ -100,12 +100,12 @@
     <string name="status_connection_error" msgid="947681831523219891">"Conexión incorrecta"</string>
     <string name="status_protocol_error" msgid="3245444473429269539">"No se puede procesar la solicitud correctamente."</string>
     <string name="status_unknown_error" msgid="8156660554237824912">"Error desconocido"</string>
-    <string name="btopp_live_folder" msgid="7967791481444474554">"Bluetooth recibido"</string>
+    <string name="btopp_live_folder" msgid="7967791481444474554">"Recibidos por Bluetooth"</string>
     <string name="download_success" msgid="7036160438766730871">"Se recibieron <xliff:g id="FILE_SIZE">%1$s</xliff:g> completos."</string>
     <string name="upload_success" msgid="4014469387779648949">"<xliff:g id="FILE_SIZE">%1$s</xliff:g> enviados por completo."</string>
     <string name="inbound_history_title" msgid="6940914942271327563">"Transferencias de entrada"</string>
     <string name="outbound_history_title" msgid="4279418703178140526">"Transferencias de salida"</string>
-    <string name="no_transfers" msgid="3482965619151865672">"El historial de transferencia está vacío."</string>
+    <string name="no_transfers" msgid="3482965619151865672">"El historial de transferencias está vacío."</string>
     <string name="transfer_clear_dlg_msg" msgid="1712376797268438075">"Se borrarán todos los elementos de la lista."</string>
     <string name="outbound_noti_title" msgid="8051906709452260849">"Compartir con Bluetooth: Archivos enviados"</string>
     <string name="inbound_noti_title" msgid="4143352641953027595">"Compartir con Bluetooth: Archivos recibidos"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index d695f89..f67d9ba 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -62,7 +62,7 @@
     <string name="download_fail_ok" msgid="1521733664438320300">"Oke"</string>
     <string name="download_succ_line5" msgid="4509944688281573595">"File diterima"</string>
     <string name="download_succ_ok" msgid="7053688246357050216">"Buka"</string>
-    <string name="upload_line1" msgid="2055952074059709052">"Ke: \"<xliff:g id="RECIPIENT">%1$s</xliff:g>\""</string>
+    <string name="upload_line1" msgid="2055952074059709052">"Kepada: \"<xliff:g id="RECIPIENT">%1$s</xliff:g>\""</string>
     <string name="upload_line3" msgid="4920689672457037437">"Jenis file: <xliff:g id="TYPE">%1$s</xliff:g> (<xliff:g id="SIZE">%2$s</xliff:g>)"</string>
     <string name="upload_line5" msgid="7759322537674229752">"Mengirim file…"</string>
     <string name="upload_succ_line5" msgid="5687317197463383601">"File terkirim"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 7a06b9e..a1593f6 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -31,7 +31,7 @@
     <string name="bt_enable_line1" msgid="7203551583048149">"Para utilizar os serviços Bluetooth, tem de activar primeiro o Bluetooth."</string>
     <string name="bt_enable_line2" msgid="4341936569415937994">"Activar o Bluetooth agora?"</string>
     <string name="bt_enable_cancel" msgid="1988832367505151727">"Cancelar"</string>
-    <string name="bt_enable_ok" msgid="3432462749994538265">"Activar"</string>
+    <string name="bt_enable_ok" msgid="3432462749994538265">"Ativar"</string>
     <string name="incoming_file_confirm_title" msgid="8139874248612182627">"Transferência do ficheiro"</string>
     <string name="incoming_file_confirm_content" msgid="6673812334377911289">"\"<xliff:g id="SENDER">%1$s</xliff:g>\" quer enviar-lhe <xliff:g id="FILE">%2$s</xliff:g> (<xliff:g id="SIZE">%3$s</xliff:g>). "\n\n" Aceita o ficheiro?"</string>
     <string name="incoming_file_confirm_cancel" msgid="2973321832477704805">"Recusar"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index b779100..41384a1 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -73,7 +73,7 @@
     <string name="upload_fail_cancel" msgid="9118496285835687125">"Funga"</string>
     <string name="bt_error_btn_ok" msgid="5965151173011534240">"Sawa"</string>
     <string name="unknown_file" msgid="6092727753965095366">"Faili isiyojulikana"</string>
-    <string name="unknown_file_desc" msgid="480434281415453287">"Hakuna prog ya kushughulikia aina hii ya faili. "\n</string>
+    <string name="unknown_file_desc" msgid="480434281415453287">"Hakuna programu ya kushughulikia aina hii ya faili. "\n</string>
     <string name="not_exist_file" msgid="3489434189599716133">"Hakuna faili."</string>
     <string name="not_exist_file_desc" msgid="4059531573790529229">"Faili haipo. "\n</string>
     <string name="enabling_progress_title" msgid="436157952334723406">"Tafadhali subiri…"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 13f9776..400d5a5 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -77,7 +77,7 @@
     <string name="not_exist_file" msgid="3489434189599716133">"沒有檔案"</string>
     <string name="not_exist_file_desc" msgid="4059531573790529229">"檔案不存在。"\n</string>
     <string name="enabling_progress_title" msgid="436157952334723406">"請稍候…"</string>
-    <string name="enabling_progress_content" msgid="4601542238119927904">"正在開啟藍牙..."</string>
+    <string name="enabling_progress_content" msgid="4601542238119927904">"正在開啟藍牙…"</string>
     <string name="bt_toast_1" msgid="972182708034353383">"即將接收檔案，請在通知面板中查看進度。"</string>
     <string name="bt_toast_2" msgid="8602553334099066582">"無法接收檔案。"</string>
     <string name="bt_toast_3" msgid="6707884165086862518">"已停止接收來自「<xliff:g id="SENDER">%1$s</xliff:g>」的檔案"</string>
diff --git a/src/com/android/bluetooth/hfp/HeadsetPhoneState.java b/src/com/android/bluetooth/hfp/HeadsetPhoneState.java
index f5fbacc..30639d8 100755
--- a/src/com/android/bluetooth/hfp/HeadsetPhoneState.java
+++ b/src/com/android/bluetooth/hfp/HeadsetPhoneState.java
@@ -239,8 +239,10 @@
             cdmaIconLevel = (levelDbm < levelEcio) ? levelDbm : levelEcio;
 
             if (mServiceState != null &&
-                  (mServiceState.getRadioTechnology() == ServiceState.RIL_RADIO_TECHNOLOGY_EVDO_0 ||
-                   mServiceState.getRadioTechnology() == ServiceState.RIL_RADIO_TECHNOLOGY_EVDO_A)) {
+                  (mServiceState.getRilVoiceRadioTechnology() ==
+                      ServiceState.RIL_RADIO_TECHNOLOGY_EVDO_0 ||
+                   mServiceState.getRilVoiceRadioTechnology() ==
+                       ServiceState.RIL_RADIO_TECHNOLOGY_EVDO_A)) {
                   int evdoEcio = signalStrength.getEvdoEcio();
                   int evdoSnr = signalStrength.getEvdoSnr();
                   int levelEvdoEcio = 0;
diff --git a/src/com/android/bluetooth/opp/BluetoothOppLauncherActivity.java b/src/com/android/bluetooth/opp/BluetoothOppLauncherActivity.java
index bbe7899..e63d67c 100644
--- a/src/com/android/bluetooth/opp/BluetoothOppLauncherActivity.java
+++ b/src/com/android/bluetooth/opp/BluetoothOppLauncherActivity.java
@@ -169,7 +169,7 @@
             Intent intent1 = new Intent();
             intent1.setAction(action);
             intent1.setClassName(Constants.THIS_PACKAGE_NAME, BluetoothOppReceiver.class.getName());
-            intent1.setData(uri);
+            intent1.setDataAndNormalize(uri);
             this.sendBroadcast(intent1);
             finish();
         } else {
diff --git a/src/com/android/bluetooth/opp/BluetoothOppLiveFolder.java b/src/com/android/bluetooth/opp/BluetoothOppLiveFolder.java
index b1266a6..0cc0a21 100644
--- a/src/com/android/bluetooth/opp/BluetoothOppLiveFolder.java
+++ b/src/com/android/bluetooth/opp/BluetoothOppLiveFolder.java
@@ -68,7 +68,7 @@
     private static Intent createLiveFolder(Context context, Uri uri, String name, int icon) {
         final Intent intent = new Intent();
 
-        intent.setData(uri);
+        intent.setDataAndNormalize(uri);
         intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_BASE_INTENT, new Intent(
                 Constants.ACTION_OPEN, BluetoothShare.CONTENT_URI));
         intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_NAME, name);
diff --git a/src/com/android/bluetooth/opp/BluetoothOppNotification.java b/src/com/android/bluetooth/opp/BluetoothOppNotification.java
index 7589850..5bc687b 100644
--- a/src/com/android/bluetooth/opp/BluetoothOppNotification.java
+++ b/src/com/android/bluetooth/opp/BluetoothOppNotification.java
@@ -330,7 +330,7 @@
 
             Intent intent = new Intent(Constants.ACTION_LIST);
             intent.setClassName(Constants.THIS_PACKAGE_NAME, BluetoothOppReceiver.class.getName());
-            intent.setData(Uri.parse(BluetoothShare.CONTENT_URI + "/" + item.id));
+            intent.setDataAndNormalize(Uri.parse(BluetoothShare.CONTENT_URI + "/" + item.id));
 
             b.setContentIntent(PendingIntent.getBroadcast(mContext, 0, intent, 0));
             mNotificationMgr.notify(item.id, b.getNotification());
@@ -491,7 +491,7 @@
 
             Intent intent = new Intent(Constants.ACTION_INCOMING_FILE_CONFIRM);
             intent.setClassName(Constants.THIS_PACKAGE_NAME, BluetoothOppReceiver.class.getName());
-            intent.setData(contentUri);
+            intent.setDataAndNormalize(contentUri);
 
             n.when = timeStamp;
             n.setLatestEventInfo(mContext, title, caption, PendingIntent.getBroadcast(mContext, 0,
@@ -499,7 +499,7 @@
 
             intent = new Intent(Constants.ACTION_HIDE);
             intent.setClassName(Constants.THIS_PACKAGE_NAME, BluetoothOppReceiver.class.getName());
-            intent.setData(contentUri);
+            intent.setDataAndNormalize(contentUri);
             n.deleteIntent = PendingIntent.getBroadcast(mContext, 0, intent, 0);
 
             mNotificationMgr.notify(id, n);
diff --git a/src/com/android/bluetooth/opp/BluetoothOppReceiver.java b/src/com/android/bluetooth/opp/BluetoothOppReceiver.java
index a061fa8..f4c8d9c 100644
--- a/src/com/android/bluetooth/opp/BluetoothOppReceiver.java
+++ b/src/com/android/bluetooth/opp/BluetoothOppReceiver.java
@@ -116,7 +116,7 @@
             Uri uri = intent.getData();
             Intent in = new Intent(context, BluetoothOppIncomingFileConfirmActivity.class);
             in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-            in.setData(uri);
+            in.setDataAndNormalize(uri);
             context.startActivity(in);
 
             NotificationManager notMgr = (NotificationManager)context
@@ -157,7 +157,7 @@
             } else {
                 Intent in = new Intent(context, BluetoothOppTransferActivity.class);
                 in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                in.setData(uri);
+                in.setDataAndNormalize(uri);
                 context.startActivity(in);
             }
 
diff --git a/src/com/android/bluetooth/opp/BluetoothOppTransferHistory.java b/src/com/android/bluetooth/opp/BluetoothOppTransferHistory.java
index 697e3cb..abe343f 100644
--- a/src/com/android/bluetooth/opp/BluetoothOppTransferHistory.java
+++ b/src/com/android/bluetooth/opp/BluetoothOppTransferHistory.java
@@ -289,7 +289,7 @@
         } else {
             Intent in = new Intent(this, BluetoothOppTransferActivity.class);
             in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-            in.setData(contentUri);
+            in.setDataAndNormalize(contentUri);
             this.startActivity(in);
         }
     }
diff --git a/src/com/android/bluetooth/opp/BluetoothOppUtility.java b/src/com/android/bluetooth/opp/BluetoothOppUtility.java
index 7e03281..a3befb9 100644
--- a/src/com/android/bluetooth/opp/BluetoothOppUtility.java
+++ b/src/com/android/bluetooth/opp/BluetoothOppUtility.java
@@ -194,7 +194,7 @@
 
         if (isRecognizedFileType(context, path, mimetype)) {
             Intent activityIntent = new Intent(Intent.ACTION_VIEW);
-            activityIntent.setDataAndType(path, mimetype);
+            activityIntent.setDataAndTypeAndNormalize(path, mimetype);
 
             activityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
             try {
@@ -222,7 +222,7 @@
         if (D) Log.d(TAG, "RecognizedFileType() fileUri: " + fileUri + " mimetype: " + mimetype);
 
         Intent mimetypeIntent = new Intent(Intent.ACTION_VIEW);
-        mimetypeIntent.setDataAndType(fileUri, mimetype);
+        mimetypeIntent.setDataAndTypeAndNormalize(fileUri, mimetype);
         List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(mimetypeIntent,
                 PackageManager.MATCH_DEFAULT_ONLY);
 
diff --git a/src/com/android/bluetooth/opp/Constants.java b/src/com/android/bluetooth/opp/Constants.java
index b17c0e4..3b452b5 100644
--- a/src/com/android/bluetooth/opp/Constants.java
+++ b/src/com/android/bluetooth/opp/Constants.java
@@ -277,7 +277,7 @@
         if (BluetoothShare.isStatusCompleted(status)) {
             Intent intent = new Intent(BluetoothShare.TRANSFER_COMPLETED_ACTION);
             intent.setClassName(THIS_PACKAGE_NAME, BluetoothOppReceiver.class.getName());
-            intent.setData(contentUri);
+            intent.setDataAndNormalize(contentUri);
             context.sendBroadcast(intent);
         }
     }
