Merge "Invalidate launchMenuActivity at the time of call"
am: 7ea9a57532

Change-Id: I5c33445f09095ce3c0ae4fc7e54eaeaa77acbf7e
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index a273554..ff487ab 100755
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -36,6 +36,7 @@
             android:theme="@android:style/Theme.NoDisplay"
             android:label="@string/app_name"
             android:enabled="false"
+            android:exported="true"
             android:taskAffinity="android.task.stk.StkLauncherActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
@@ -46,6 +47,7 @@
         <activity android:name="StkLauncherActivity"
             android:theme="@android:style/Theme.NoTitleBar"
             android:label="@string/app_name"
+            android:exported="false"
             android:taskAffinity="android.task.stk.StkLauncherActivity">
             <intent-filter>
                  <action android:name="android.intent.action.VIEW" />
@@ -59,6 +61,7 @@
             android:icon="@drawable/ic_launcher_sim_toolkit"
             android:label="@string/app_name"
             android:configChanges="orientation|locale|screenSize|keyboardHidden|mnc|mcc"
+            android:exported="false"
             android:taskAffinity="android.task.stk.StkLauncherActivity">
             <intent-filter>
                 <action android:name="android.intent.action.VIEW" />
@@ -72,6 +75,7 @@
             android:icon="@drawable/ic_launcher_sim_toolkit"
             android:theme="@android:style/Theme.Holo"
             android:configChanges="orientation|locale|screenSize|keyboardHidden"
+            android:exported="false"
             android:taskAffinity="android.task.stk.StkLauncherActivity">
                 <intent-filter>
                         <action android:name="android.intent.action.VIEW" />
@@ -82,24 +86,15 @@
         <activity android:name="StkDialogActivity"
             android:configChanges="orientation|locale|screenSize|keyboardHidden"
             android:theme="@android:style/Theme.DeviceDefault.Dialog"
+            android:exported="false"
             android:taskAffinity="android.task.stk.StkLauncherActivity">
         </activity>
 
         <activity android:name="ToneDialog"
+            android:exported="false"
             android:theme="@android:style/Theme.DeviceDefault.Dialog">
         </activity>
 
-        <!-- SIM Toolkit settings activity -->
-        <activity android:name="StkSettings"
-            android:label="@string/app_name">
-            <intent-filter>
-                <action android:name="android.intent.action.VIEW" />
-                <action android:name="android.intent.action.MAIN" />
-                <category
-                    android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
-            </intent-filter>
-        </activity>
-
         <receiver android:name="com.android.stk.StkCmdReceiver">
             <intent-filter>
                 <action android:name= "android.intent.action.stk.command" />
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
new file mode 100644
index 0000000..00b8ba7
--- /dev/null
+++ b/res/values-b+sr+Latn/strings.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2007 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+ -->
+
+<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 paket alatki"</string>
+    <string name="menu_end_session" msgid="7368541737750982217">"Završi sesiju"</string>
+    <string name="help" msgid="9209980881219397319">"Pomoć"</string>
+    <string name="menu_back" msgid="301227740977453364">"Nazad"</string>
+    <string name="service_name" msgid="6860303747999592491">"Naziv usluge"</string>
+    <string name="stk_no_service" msgid="5427773116839809131">"Nijedna usluga nije dostupna"</string>
+    <string name="button_ok" msgid="5760722312558549555">"Potvrdi"</string>
+    <string name="button_cancel" msgid="1997847915560800261">"Otkaži"</string>
+    <string name="button_yes" msgid="624420260648337203">"Da"</string>
+    <string name="button_no" msgid="1824959157582605627">"Ne"</string>
+    <string name="alphabet" msgid="1583185545938805861">"Abeceda"</string>
+    <string name="digits" msgid="1746796679021682388">"Cifre (0-9, *, #, +)"</string>
+    <string name="default_call_setup_msg" msgid="7960194995759849940">"Pozivanje je u toku..."</string>
+    <string name="default_setup_call_msg" msgid="6126904475461162162">"Poziv se podešava"</string>
+    <string name="stk_app_state" msgid="18582277302584082">"Stanje aplikacije"</string>
+    <string name="enable_app" msgid="3701224550936728203">"Omogućeno"</string>
+    <string name="disable_app" msgid="6725081975611415214">"Onemogućeno"</string>
+    <string name="stk_dialog_title" msgid="6954825385456886726">"SIM paket alatki"</string>
+    <string name="default_open_channel_msg" msgid="2216070254100295924">"Želite li da otvorite kanal?"</string>
+    <string name="default_send_data_msg" msgid="6011219698689931272">"Slanje podataka"</string>
+    <string name="default_receive_data_msg" msgid="618096941772010682">"Primanje podataka"</string>
+    <string name="default_close_channel_msg" msgid="765364262263839824">"Kanal je zatvoren"</string>
+    <string name="stk_dialog_accept" msgid="8498901537508923727">"DA"</string>
+    <string name="stk_dialog_reject" msgid="921848059485746796">"NE"</string>
+    <string name="no_sim_card_inserted" msgid="5316620398365235988">"Umetnite SIM karticu da biste pokrenuli SIM alatke."</string>
+</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 5f1f98a..723eab4 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -29,7 +29,7 @@
     <string name="alphabet" msgid="1583185545938805861">"الفبا"</string>
     <string name="digits" msgid="1746796679021682388">"ارقام (0-9، *، #، +)"</string>
     <string name="default_call_setup_msg" msgid="7960194995759849940">"تماس در حال انجام..."</string>
-    <string name="default_setup_call_msg" msgid="6126904475461162162">"تماس در حال تنظیم"</string>
+    <string name="default_setup_call_msg" msgid="6126904475461162162">"تماس درحال راه‌اندازی"</string>
     <string name="stk_app_state" msgid="18582277302584082">"حالت برنامه"</string>
     <string name="enable_app" msgid="3701224550936728203">"فعال شد"</string>
     <string name="disable_app" msgid="6725081975611415214">"غیرفعال شد"</string>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
index bb1750c..77052fe 100644
--- a/res/values-gu-rIN/strings.xml
+++ b/res/values-gu-rIN/strings.xml
@@ -22,7 +22,7 @@
     <string name="menu_back" msgid="301227740977453364">"પાછળ"</string>
     <string name="service_name" msgid="6860303747999592491">"સેવાનું નામ"</string>
     <string name="stk_no_service" msgid="5427773116839809131">"કોઈ સેવા ઉપલબ્ધ નથી"</string>
-    <string name="button_ok" msgid="5760722312558549555">"ઑકે"</string>
+    <string name="button_ok" msgid="5760722312558549555">"ઓકે"</string>
     <string name="button_cancel" msgid="1997847915560800261">"રદ કરો"</string>
     <string name="button_yes" msgid="624420260648337203">"હા"</string>
     <string name="button_no" msgid="1824959157582605627">"નહીં"</string>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index fa58f0e..e2b7a86 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -22,7 +22,7 @@
     <string name="menu_back" msgid="301227740977453364">"Буцах"</string>
     <string name="service_name" msgid="6860303747999592491">"Үйлчилгээний нэр"</string>
     <string name="stk_no_service" msgid="5427773116839809131">"Ашиглах боломжтой үйлчилгээ байхгүй"</string>
-    <string name="button_ok" msgid="5760722312558549555">"Тийм"</string>
+    <string name="button_ok" msgid="5760722312558549555">"OK"</string>
     <string name="button_cancel" msgid="1997847915560800261">"Цуцлах"</string>
     <string name="button_yes" msgid="624420260648337203">"Тийм"</string>
     <string name="button_no" msgid="1824959157582605627">"Үгүй"</string>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index e66a882..6314419 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -22,10 +22,10 @@
     <string name="menu_back" msgid="301227740977453364">"နောက်ပြန်"</string>
     <string name="service_name" msgid="6860303747999592491">"ဝန်ဆောင်မှုအမည်"</string>
     <string name="stk_no_service" msgid="5427773116839809131">"ဆက်သွယ်ချိတ်ဆက်ရန် ဝန်ဆောင်မှု တစ်ခုမှမရှိပါ"</string>
-    <string name="button_ok" msgid="5760722312558549555">"ကောင်းပြီ"</string>
-    <string name="button_cancel" msgid="1997847915560800261">"ထားတော့"</string>
+    <string name="button_ok" msgid="5760722312558549555">"အိုကေ"</string>
+    <string name="button_cancel" msgid="1997847915560800261">"မလုပ်တော့ပါ"</string>
     <string name="button_yes" msgid="624420260648337203">"မှန်ပါသည်"</string>
-    <string name="button_no" msgid="1824959157582605627">"မဟုတ်ပါ"</string>
+    <string name="button_no" msgid="1824959157582605627">"No"</string>
     <string name="alphabet" msgid="1583185545938805861">"အက္ခရာများ"</string>
     <string name="digits" msgid="1746796679021682388">"ဂဏန်းများ (0-9, *, #, +)"</string>
     <string name="default_call_setup_msg" msgid="7960194995759849940">"ခေါ်ဆိုနေပါသည်"</string>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
index 240e175..14e2c14 100644
--- a/res/values-pa-rIN/strings.xml
+++ b/res/values-pa-rIN/strings.xml
@@ -18,7 +18,7 @@
     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">"ਸੈਸ਼ਨ ਖ਼ਤਮ ਕਰੋ"</string>
-    <string name="help" msgid="9209980881219397319">"ਸਹਾਇਤਾ"</string>
+    <string name="help" msgid="9209980881219397319">"ਮਦਦ"</string>
     <string name="menu_back" msgid="301227740977453364">"ਪਿੱਛੇ"</string>
     <string name="service_name" msgid="6860303747999592491">"ਸੇਵਾ ਦਾ ਨਾਮ"</string>
     <string name="stk_no_service" msgid="5427773116839809131">"ਕੋਈ ਸੇਵਾ ਉਪਲਬਧ ਨਹੀਂ"</string>
@@ -32,11 +32,11 @@
     <string name="default_setup_call_msg" msgid="6126904475461162162">"ਕਾਲ ਸੈਟਅਪ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"</string>
     <string name="stk_app_state" msgid="18582277302584082">"ਐਪਲੀਕੇਸ਼ਨ ਸਥਿਤੀ"</string>
     <string name="enable_app" msgid="3701224550936728203">"ਸਮਰੱਥ ਬਣਾਇਆ"</string>
-    <string name="disable_app" msgid="6725081975611415214">"ਅਸਮਰੱਥ ਬਣਾਇਆ"</string>
+    <string name="disable_app" msgid="6725081975611415214">"ਅਯੋਗ ਬਣਾਇਆ"</string>
     <string name="stk_dialog_title" msgid="6954825385456886726">"SIM ToolKit"</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_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>
diff --git a/src/com/android/stk/BootCompletedReceiver.java b/src/com/android/stk/BootCompletedReceiver.java
index ff46a50..3f06f25 100644
--- a/src/com/android/stk/BootCompletedReceiver.java
+++ b/src/com/android/stk/BootCompletedReceiver.java
@@ -44,7 +44,8 @@
                     .putExtras(args));
             CatLog.d(LOG_TAG, "[ACTION_BOOT_COMPLETED]");
         } else if(action.equals(Intent.ACTION_USER_INITIALIZE)) {
-            if (!android.os.Process.myUserHandle().isOwner()) {
+            // TODO: http://b/25155491
+            if (!android.os.Process.myUserHandle().isSystem()) {
                 //Disable package for all secondary users. Package is only required for device
                 //owner.
                 context.getPackageManager().setApplicationEnabledSetting(context.getPackageName(),
diff --git a/src/com/android/stk/StkAppService.java b/src/com/android/stk/StkAppService.java
old mode 100644
new mode 100755
index bfcf203..c2c8874
--- a/src/com/android/stk/StkAppService.java
+++ b/src/com/android/stk/StkAppService.java
@@ -581,7 +581,9 @@
                 break;
             case OP_LOCALE_CHANGED:
                 CatLog.d(this, "Locale Changed");
-                checkForSetupEvent(LANGUAGE_SELECTION_EVENT,(Bundle) msg.obj, slotId);
+                for (int slot = PhoneConstants.SIM_ID_1; slot < mSimCount; slot++) {
+                    checkForSetupEvent(LANGUAGE_SELECTION_EVENT, (Bundle) msg.obj, slot);
+                }
                 break;
             case OP_ALPHA_NOTIFY:
                 handleAlphaNotify((Bundle) msg.obj);
@@ -689,9 +691,9 @@
     private void sendResponse(int resId, int slotId, boolean confirm) {
         Message msg = mServiceHandler.obtainMessage();
         msg.arg1 = OP_RESPONSE;
+        msg.arg2 = slotId;
         Bundle args = new Bundle();
         args.putInt(StkAppService.RES_ID, resId);
-        args.putInt(SLOT_ID, slotId);
         args.putBoolean(StkAppService.CONFIRMATION, confirm);
         msg.obj = args;
         mServiceHandler.sendMessage(msg);
@@ -1594,7 +1596,7 @@
         startActivity(newIntent);
     }
 
-    private void launchOpenChannelDialog(int slotId) {
+    private void launchOpenChannelDialog(final int slotId) {
         TextMessage msg = mStkContext[slotId].mCurrentCmd.geTextMessage();
         if (msg == null) {
             CatLog.d(LOG_TAG, "msg is null, return here");
@@ -1619,6 +1621,7 @@
                             args.putInt(CHOICE, YES);
                             Message message = mServiceHandler.obtainMessage();
                             message.arg1 = OP_RESPONSE;
+                            message.arg2 = slotId;
                             message.obj = args;
                             mServiceHandler.sendMessage(message);
                         }
@@ -1631,6 +1634,7 @@
                             args.putInt(CHOICE, NO);
                             Message message = mServiceHandler.obtainMessage();
                             message.arg1 = OP_RESPONSE;
+                            message.arg2 = slotId;
                             message.obj = args;
                             mServiceHandler.sendMessage(message);
                         }