diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 81d7167..7550b62 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -28,7 +28,7 @@
     <string name="mmiStarted" msgid="6347869857061147003">"የMMI ኮድ ጀምሯል"</string>
     <string name="ussdRunning" msgid="485588686340541690">"የUSSD ኮድ አሂድ ላይ ነው..."</string>
     <string name="mmiCancelled" msgid="2771923949751842276">"የMMI ኮድ ቀርቷል"</string>
-    <string name="cancel" msgid="5044513931633602634">"ሰርዝ"</string>
+    <string name="cancel" msgid="5044513931633602634">"ይቅር"</string>
     <string name="enter_input" msgid="1810529547726803893">"የUSSD መልዕክት በ<xliff:g id="MIN_LEN">%d</xliff:g> እና <xliff:g id="MAX_LEN">%d</xliff:g> ቁምፊዎች መካከል መሆን አለበት። እባክዎ እንደገና ይሞክሩ።"</string>
     <string name="manageConferenceLabel" msgid="4691922394301969053">"የስብሰባስልክ ጥሪ አደራጅ"</string>
     <string name="ok" msgid="3811371167865772377">"እሺ"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 7bdea5f..3cad187 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -511,7 +511,7 @@
     <string name="sip_call_options_title" msgid="27433718808839672">"ใช้การโทรทางอินเทอร์เน็ต"</string>
     <string name="sip_call_options_wifi_only_title" msgid="145572394529090811">"ใช้การโทรทางอินเทอร์เน็ต (WiFi เท่านั้น)"</string>
     <string name="sip_call_options_entry_1" msgid="6556668894178520760">"สำหรับทุกสายเมื่อเครือข่ายข้อมูลใช้งานได้"</string>
-    <string name="sip_call_options_entry_2" msgid="6789764029719494361">"สำหรับการโทรทางอินเทอร์เน็ตเท่านั้น"</string>
+    <string name="sip_call_options_entry_2" msgid="6789764029719494361">"สำหรับโทรทางอินเทอร์เน็ตเท่านั้น"</string>
     <string name="sip_call_options_entry_3" msgid="7474809001402649185">"ถามทุกครั้งที่โทรออก"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="7423523864471650069">"สำหรับการโทรออกทั้งหมด"</string>
     <string name="pick_outgoing_call_phone_type" msgid="5622916534828338675">"โทรออก"</string>
diff --git a/src/com/android/phone/CallNotifier.java b/src/com/android/phone/CallNotifier.java
index 80807a2..56691d4 100644
--- a/src/com/android/phone/CallNotifier.java
+++ b/src/com/android/phone/CallNotifier.java
@@ -1769,7 +1769,7 @@
             } else if (mIsEmergencyToneOn == EMERGENCY_TONE_VIBRATE) {
                 log("EmergencyTonePlayerVibrator.start(): emergency vibrate...");
                 if (mEmgVibrator != null) {
-                    mEmgVibrator.vibrate(mVibratePattern, 0);
+                    mEmgVibrator.vibrate(mVibratePattern, 0, AudioManager.STREAM_VOICE_CALL);
                     mCurrentEmergencyToneState = EMERGENCY_TONE_VIBRATE;
                 }
             }
diff --git a/src/com/android/phone/OutgoingCallBroadcaster.java b/src/com/android/phone/OutgoingCallBroadcaster.java
index 0f6b1e0..1267286 100644
--- a/src/com/android/phone/OutgoingCallBroadcaster.java
+++ b/src/com/android/phone/OutgoingCallBroadcaster.java
@@ -464,7 +464,7 @@
             launchedFromUid = -1;
             launchedFromPackage = null;
         }
-        if (appOps.noteOp(AppOpsManager.OP_CALL_PHONE, launchedFromUid, launchedFromPackage)
+        if (appOps.noteOpNoThrow(AppOpsManager.OP_CALL_PHONE, launchedFromUid, launchedFromPackage)
                 != AppOpsManager.MODE_ALLOWED) {
             Log.w(TAG, "Rejecting call from uid " + launchedFromUid + " package "
                     + launchedFromPackage);
diff --git a/src/com/android/phone/Ringer.java b/src/com/android/phone/Ringer.java
index a0096ea..4688ba3 100644
--- a/src/com/android/phone/Ringer.java
+++ b/src/com/android/phone/Ringer.java
@@ -253,7 +253,7 @@
     private class VibratorThread extends Thread {
         public void run() {
             while (mContinueVibrating) {
-                mVibrator.vibrate(VIBRATE_LENGTH);
+                mVibrator.vibrate(VIBRATE_LENGTH, AudioManager.STREAM_RING);
                 SystemClock.sleep(VIBRATE_LENGTH + PAUSE_LENGTH);
             }
         }
