diff --git a/AndroidManifest.xml b/AndroidManifest.xml
old mode 100644
new mode 100755
index 668a99e..a273554
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -81,12 +81,12 @@
         </activity>
         <activity android:name="StkDialogActivity"
             android:configChanges="orientation|locale|screenSize|keyboardHidden"
-            android:theme="@android:style/Theme.Dialog"
+            android:theme="@android:style/Theme.DeviceDefault.Dialog"
             android:taskAffinity="android.task.stk.StkLauncherActivity">
         </activity>
 
         <activity android:name="ToneDialog"
-            android:theme="@android:style/Theme.Dialog">
+            android:theme="@android:style/Theme.DeviceDefault.Dialog">
         </activity>
 
         <!-- SIM Toolkit settings activity -->
diff --git a/res/layout/stk_msg_dialog.xml b/res/layout/stk_msg_dialog.xml
old mode 100644
new mode 100755
index 1838337..731d74c
--- a/res/layout/stk_msg_dialog.xml
+++ b/res/layout/stk_msg_dialog.xml
@@ -46,15 +46,14 @@
         android:layout_height="wrap_content"
         android:minHeight="54dip"
         android:orientation="vertical" >
-        <LinearLayout
+        <LinearLayout style="?android:attr/buttonBarStyle"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="horizontal"
-            android:background="@color/ltgrey"
             android:paddingTop="4dip"
             android:paddingLeft="2dip"
             android:paddingRight="2dip" >
-            <Button
+            <Button style="?android:attr/buttonBarButtonStyle"
                 android:id="@+id/button_cancel"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
@@ -62,7 +61,7 @@
                 android:layout_weight="1"
                 android:maxLines="2"
                 android:text="@string/button_cancel" />
-            <Button
+            <Button style="?android:attr/buttonBarButtonStyle"
                 android:id="@+id/button_ok"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
index 7796b37..a691961 100644
--- a/res/values-az-rAZ/strings.xml
+++ b/res/values-az-rAZ/strings.xml
@@ -29,6 +29,7 @@
     <string name="alphabet" msgid="1583185545938805861">"Əlifbalar"</string>
     <string name="digits" msgid="1746796679021682388">"Rəqəmlər (0-9, *, #, +)"</string>
     <string name="default_call_setup_msg" msgid="7960194995759849940">"Zəng davam edir..."</string>
+    <string name="default_setup_call_msg" msgid="6126904475461162162">"Zəng quraşdırılır"</string>
     <string name="stk_app_state" msgid="18582277302584082">"Tətbiq vəziyyəti"</string>
     <string name="enable_app" msgid="3701224550936728203">"Aktivləşdirilib"</string>
     <string name="disable_app" msgid="6725081975611415214">"Deaktiv"</string>
@@ -39,4 +40,5 @@
     <string name="default_close_channel_msg" msgid="765364262263839824">"Kanal Bağlıdır"</string>
     <string name="stk_dialog_accept" msgid="8498901537508923727">"BƏLİ"</string>
     <string name="stk_dialog_reject" msgid="921848059485746796">"XEYR"</string>
+    <string name="no_sim_card_inserted" msgid="5316620398365235988">"SİM Alət-panelini başlatmaq üçün SİM taxın."</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index da2dc40..e8a0939 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -40,5 +40,5 @@
     <string name="default_close_channel_msg" msgid="765364262263839824">"Kanal geschlossen"</string>
     <string name="stk_dialog_accept" msgid="8498901537508923727">"Ja"</string>
     <string name="stk_dialog_reject" msgid="921848059485746796">"Nein"</string>
-    <string name="no_sim_card_inserted" msgid="5316620398365235988">"Bitte legen Sie die SIM-Karte ein, um das SIM-Toolkit zu starten."</string>
+    <string name="no_sim_card_inserted" msgid="5316620398365235988">"Bitte lege die SIM-Karte ein, um das SIM-Toolkit zu starten."</string>
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 9eaa00e..5f1f98a 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_name" msgid="8396461461738434341">"کیت ابزار سیم کارت"</string>
+    <string name="app_name" msgid="8396461461738434341">"‏ابزار کار SIM"</string>
     <string name="menu_end_session" msgid="7368541737750982217">"پایان جلسه"</string>
     <string name="help" msgid="9209980881219397319">"راهنمایی"</string>
     <string name="menu_back" msgid="301227740977453364">"برگشت"</string>
@@ -33,12 +33,12 @@
     <string name="stk_app_state" msgid="18582277302584082">"حالت برنامه"</string>
     <string name="enable_app" msgid="3701224550936728203">"فعال شد"</string>
     <string name="disable_app" msgid="6725081975611415214">"غیرفعال شد"</string>
-    <string name="stk_dialog_title" msgid="6954825385456886726">"کیت ابزار سیم کارت"</string>
+    <string name="stk_dialog_title" msgid="6954825385456886726">"‏ابزار کار SIM"</string>
     <string name="default_open_channel_msg" msgid="2216070254100295924">"کانال باز شود؟"</string>
     <string name="default_send_data_msg" msgid="6011219698689931272">"ارسال داده"</string>
     <string name="default_receive_data_msg" msgid="618096941772010682">"دریافت داده"</string>
     <string name="default_close_channel_msg" msgid="765364262263839824">"کانال بسته شد"</string>
     <string name="stk_dialog_accept" msgid="8498901537508923727">"بله"</string>
     <string name="stk_dialog_reject" msgid="921848059485746796">"نه"</string>
-    <string name="no_sim_card_inserted" msgid="5316620398365235988">"‏برای راه‌اندازی SIM Toolkit، لطفاً سیم‌کارت را وارد کنید."</string>
+    <string name="no_sim_card_inserted" msgid="5316620398365235988">"‏برای راه‌اندازی ابزار کار SIM، لطفاً سیم‌کارت را وارد کنید."</string>
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 1e56049..e8ef4bb 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -17,7 +17,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="8396461461738434341">"SIM Toolkit"</string>
-    <string name="menu_end_session" msgid="7368541737750982217">"Sfârşitul sesiunii"</string>
+    <string name="menu_end_session" msgid="7368541737750982217">"Sfârșitul sesiunii"</string>
     <string name="help" msgid="9209980881219397319">"Ajutor"</string>
     <string name="menu_back" msgid="301227740977453364">"Înapoi"</string>
     <string name="service_name" msgid="6860303747999592491">"Nume serviciu"</string>
@@ -34,7 +34,7 @@
     <string name="enable_app" msgid="3701224550936728203">"Activat"</string>
     <string name="disable_app" msgid="6725081975611415214">"Dezactivat"</string>
     <string name="stk_dialog_title" msgid="6954825385456886726">"SIM Toolkit"</string>
-    <string name="default_open_channel_msg" msgid="2216070254100295924">"Deschideţi canalul?"</string>
+    <string name="default_open_channel_msg" msgid="2216070254100295924">"Deschideți canalul?"</string>
     <string name="default_send_data_msg" msgid="6011219698689931272">"Se trimit date"</string>
     <string name="default_receive_data_msg" msgid="618096941772010682">"Se primesc date"</string>
     <string name="default_close_channel_msg" msgid="765364262263839824">"Canal închis"</string>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
index 71846a2..c7f3843 100644
--- a/res/values-sq-rAL/strings.xml
+++ b/res/values-sq-rAL/strings.xml
@@ -22,7 +22,7 @@
     <string name="menu_back" msgid="301227740977453364">"Prapa"</string>
     <string name="service_name" msgid="6860303747999592491">"Emri i shërbimit"</string>
     <string name="stk_no_service" msgid="5427773116839809131">"Nuk ofrohet asnjë shërbim"</string>
-    <string name="button_ok" msgid="5760722312558549555">"Në rregull!"</string>
+    <string name="button_ok" msgid="5760722312558549555">"Në rregull"</string>
     <string name="button_cancel" msgid="1997847915560800261">"Anulo"</string>
     <string name="button_yes" msgid="624420260648337203">"Po"</string>
     <string name="button_no" msgid="1824959157582605627">"Jo"</string>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index e00596b..b1a0967 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="app_name" msgid="8396461461738434341">"SIM vositalar majmuasi"</string>
+    <string name="app_name" msgid="8396461461738434341">"SIM karta menyusi"</string>
     <string name="menu_end_session" msgid="7368541737750982217">"Sessiyani yakunlash"</string>
     <string name="help" msgid="9209980881219397319">"Yordam"</string>
     <string name="menu_back" msgid="301227740977453364">"Orqaga"</string>
@@ -33,12 +33,12 @@
     <string name="stk_app_state" msgid="18582277302584082">"Ilova holati"</string>
     <string name="enable_app" msgid="3701224550936728203">"Yoniq"</string>
     <string name="disable_app" msgid="6725081975611415214">"O‘chiq"</string>
-    <string name="stk_dialog_title" msgid="6954825385456886726">"SIM vositalar majmuasi"</string>
+    <string name="stk_dialog_title" msgid="6954825385456886726">"SIM karta menyusi"</string>
     <string name="default_open_channel_msg" msgid="2216070254100295924">"Kanal ochilsinmi?"</string>
     <string name="default_send_data_msg" msgid="6011219698689931272">"Ma’lumot yuborilmoqda"</string>
     <string name="default_receive_data_msg" msgid="618096941772010682">"Ma’lumot qabul qilinmoqda"</string>
     <string name="default_close_channel_msg" msgid="765364262263839824">"Kanal yopilgan"</string>
     <string name="stk_dialog_accept" msgid="8498901537508923727">"Ha"</string>
     <string name="stk_dialog_reject" msgid="921848059485746796">"Yo‘q"</string>
-    <string name="no_sim_card_inserted" msgid="5316620398365235988">"SIM-karta menyusini ochish uchun SIM-kartani soling."</string>
+    <string name="no_sim_card_inserted" msgid="5316620398365235988">"SIM karta menyusini ochish uchun SIM kartani soling."</string>
 </resources>
diff --git a/src/com/android/stk/StkAppService.java b/src/com/android/stk/StkAppService.java
index 5db648a..bfcf203 100644
--- a/src/com/android/stk/StkAppService.java
+++ b/src/com/android/stk/StkAppService.java
@@ -916,6 +916,13 @@
             launchEventMessage(slotId);
             break;
         case LAUNCH_BROWSER:
+            // The device setup process should not be interrupted by launching browser.
+            if (Settings.Global.getInt(mContext.getContentResolver(),
+                    Settings.Global.DEVICE_PROVISIONED, 0) == 0) {
+                CatLog.d(this, "The command is not performed if the setup has not been completed.");
+                sendScreenBusyResponse(slotId);
+                break;
+            }
             TextMessage alphaId = mStkContext[slotId].mCurrentCmd.geTextMessage();
             if ((mStkContext[slotId].mCurrentCmd.getBrowserSettings().mode
                     == LaunchBrowserMode.LAUNCH_IF_NOT_ALREADY_LAUNCHED) &&
@@ -1518,7 +1525,7 @@
         // this is good for scenarios where a related DISPLAY TEXT command is
         // followed immediately.
         try {
-            Thread.sleep(10000);
+            Thread.sleep(3000);
         } catch (InterruptedException e) {}
     }
 
diff --git a/src/com/android/stk/StkDialogActivity.java b/src/com/android/stk/StkDialogActivity.java
index 24e1068..1d4fde3 100644
--- a/src/com/android/stk/StkDialogActivity.java
+++ b/src/com/android/stk/StkDialogActivity.java
@@ -210,6 +210,9 @@
         super.onStop();
         CatLog.d(LOG_TAG, "onStop - before Send CONFIRM false mIsResponseSent[" +
                 mIsResponseSent + "], sim id: " + mSlotId);
+        if (!mTextMsg.responseNeeded) {
+            return;
+        }
         if (!mIsResponseSent) {
             appService.getStkContext(mSlotId).setPendingDialogInstance(this);
         } else {
diff --git a/src/com/android/stk/StkInputActivity.java b/src/com/android/stk/StkInputActivity.java
index 53bea93..4dbad00 100644
--- a/src/com/android/stk/StkInputActivity.java
+++ b/src/com/android/stk/StkInputActivity.java
@@ -357,7 +357,11 @@
         int inTypeId = R.string.alphabet;
 
         // set the prompt.
-        mPromptView.setText(mStkInput.text);
+        if (mStkInput.iconSelfExplanatory && mStkInput.icon != null) {
+            mPromptView.setVisibility(View.GONE);
+        } else {
+            mPromptView.setText(mStkInput.text);
+        }
 
         // Set input type (alphabet/digit) info close to the InText form.
         if (mStkInput.digitOnly) {
diff --git a/src/com/android/stk/StkLauncherActivity.java b/src/com/android/stk/StkLauncherActivity.java
index 73529e9..6c5b88c 100644
--- a/src/com/android/stk/StkLauncherActivity.java
+++ b/src/com/android/stk/StkLauncherActivity.java
@@ -161,6 +161,8 @@
 
     private int addStkMenuListItems() {
         String appName = mContext.getResources().getString(R.string.app_name);
+        StkAppService appService = StkAppService.getInstance();
+        String stkMenuTitle = null;
         String stkItemName = null;
         int simCount = TelephonyManager.from(mContext).getSimCount();
         mStkMenuList = new ArrayList<Item>();
@@ -171,8 +173,9 @@
             if (mTm.hasIccCard(i)) {
                 CatLog.d(LOG_TAG, "SIM " + i + " add to menu.");
                 mSingleSimId = i;
-                stkItemName = new StringBuilder(appName).append(" ")
-                        .append(Integer.toString(i + 1)).toString();
+                stkMenuTitle = appService.getMainMenu(i).title;
+                stkItemName = new StringBuilder(stkMenuTitle == null ? appName : stkMenuTitle)
+                    .append(" ").append(Integer.toString(i + 1)).toString();
                 Item item = new Item(i + 1, stkItemName, mBitMap);
                 item.id = i;
                 mStkMenuList.add(item);
diff --git a/src/com/android/stk/StkMenuActivity.java b/src/com/android/stk/StkMenuActivity.java
index 2005971..f82b36b 100644
--- a/src/com/android/stk/StkMenuActivity.java
+++ b/src/com/android/stk/StkMenuActivity.java
@@ -274,7 +274,7 @@
         CatLog.d(LOG_TAG, "onDestroy" + "," + mState);
         //isMenuPending: if input act is finish by stkappservice when OP_LAUNCH_APP again,
         //we can not send TR here, since the input cmd is waiting user to process.
-        if (!mIsResponseSent && !appService.isMenuPending(mSlotId)) {
+        if (mState == STATE_SECONDARY && !mIsResponseSent && !appService.isMenuPending(mSlotId)) {
             CatLog.d(LOG_TAG, "handleDestroy - Send End Session");
             sendResponse(StkAppService.RES_ID_END_SESSION);
         }
diff --git a/src/com/android/stk/ToneDialog.java b/src/com/android/stk/ToneDialog.java
old mode 100644
new mode 100755
index 57a977d..834d575
--- a/src/com/android/stk/ToneDialog.java
+++ b/src/com/android/stk/ToneDialog.java
@@ -95,6 +95,10 @@
             iv.setImageBitmap(toneMsg.icon);
         }
 
+        if (toneMsg.iconSelfExplanatory && toneMsg.icon != null) {
+            tv.setVisibility(View.GONE);
+        }
+
         // Start playing tone and vibration
         if (null == settings) {
             CatLog.d(LOG_TAG, "onCreate - null settings - finish");
