summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-12-15 02:59:34 -0700
committerLinux Build Service Account <lnxbuild@localhost>2016-12-15 02:59:34 -0700
commit194991902bcc4bd379b3196c1cfd935e028a38cc (patch)
tree1801848c861d01ef05bf42cdae1b8d7fd1c05f55
parentf12b31b6fe38e5e70477e8b1aa90d4f507c14732 (diff)
parent53d60abaebe297e1b31973530a7b6a645e735eb3 (diff)
downloadandroid_packages_apps_Stk-194991902bcc4bd379b3196c1cfd935e028a38cc.tar.gz
android_packages_apps_Stk-194991902bcc4bd379b3196c1cfd935e028a38cc.tar.bz2
android_packages_apps_Stk-194991902bcc4bd379b3196c1cfd935e028a38cc.zip
Merge 53d60abaebe297e1b31973530a7b6a645e735eb3 on remote branch
Change-Id: Ie5e22acb16de0b73c5deb646492a3be98cbcf027
-rw-r--r--AndroidManifest.xml5
-rw-r--r--res/drawable-hdpi/ic_launcher_sim_toolkit.pngbin5124 -> 2805 bytes
-rwxr-xr-xres/drawable-mdpi/ic_launcher_sim_toolkit.pngbin3131 -> 1794 bytes
-rw-r--r--res/values-my-rMM/strings.xml8
-rw-r--r--src/com/android/stk/StkAppService.java45
5 files changed, 53 insertions, 5 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 045f376..ff83d59 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -26,6 +26,7 @@
android:label="@string/stk_intent_permission"
android:protectionLevel="signature">
</permission>
+ <protected-broadcast android:name="com.android.stk.DIALOG_ALARM_TIMEOUT" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.GET_TASKS"/>
@@ -36,7 +37,9 @@
android:label="@string/app_name"
android:clearTaskOnLaunch="true"
android:process="com.android.phone"
- android:taskAffinity="android.task.stk">
+ android:taskAffinity="android.task.stk"
+ android:defaultToDeviceProtectedStorage="true"
+ android:directBootAware="true">
<activity android:name="StkMain"
android:theme="@android:style/Theme.NoDisplay"
diff --git a/res/drawable-hdpi/ic_launcher_sim_toolkit.png b/res/drawable-hdpi/ic_launcher_sim_toolkit.png
index ce4ac43..51d6688 100644
--- a/res/drawable-hdpi/ic_launcher_sim_toolkit.png
+++ b/res/drawable-hdpi/ic_launcher_sim_toolkit.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_launcher_sim_toolkit.png b/res/drawable-mdpi/ic_launcher_sim_toolkit.png
index 0dfec74..913ab12 100755
--- a/res/drawable-mdpi/ic_launcher_sim_toolkit.png
+++ b/res/drawable-mdpi/ic_launcher_sim_toolkit.png
Binary files differ
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index 6314419..8853d46 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -19,18 +19,18 @@
<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>
+ <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_yes" msgid="624420260648337203">"မှန်ပါသည်"</string>
+ <string name="button_cancel" msgid="1997847915560800261">"မလုပ်တော့"</string>
+ <string name="button_yes" msgid="624420260648337203">"Yes"</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>
<string name="default_setup_call_msg" msgid="6126904475461162162">"ခေါ်ဆိုရန် သတ်မှတ်ပြင်ဆင်ပြီး"</string>
- <string name="stk_app_state" msgid="18582277302584082">"အပ်ပလီကေးရှင်းအနေအထား"</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="stk_dialog_title" msgid="6954825385456886726">"SIM တူးလ်ကစ်"</string>
diff --git a/src/com/android/stk/StkAppService.java b/src/com/android/stk/StkAppService.java
index ff8227a..2982f2c 100644
--- a/src/com/android/stk/StkAppService.java
+++ b/src/com/android/stk/StkAppService.java
@@ -44,10 +44,12 @@ import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
+import android.os.PersistableBundle;
import android.os.PowerManager;
import android.os.SystemProperties;
import android.os.Vibrator;
import android.provider.Settings;
+import android.telephony.CarrierConfigManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.view.Gravity;
@@ -125,6 +127,7 @@ public class StkAppService extends Service implements Runnable {
protected int mMenuState = StkMenuActivity.STATE_INIT;
protected int mOpCode = -1;
private Activity mActivityInstance = null;
+ private Activity mPrevActivityInstance = null;
private Activity mDialogInstance = null;
private Activity mMainActivityInstance = null;
private int mSlotId = 0;
@@ -142,6 +145,11 @@ public class StkAppService extends Service implements Runnable {
mActivityInstance);
return mActivityInstance;
}
+ final synchronized Activity getPendingPrevActivityInstance() {
+ CatLog.d(this, "getPendingPrevActivityInstance act : " + mSlotId + ", " +
+ mPrevActivityInstance);
+ return mPrevActivityInstance;
+ }
final synchronized void setPendingDialogInstance(Activity act) {
CatLog.d(this, "setPendingDialogInstance act : " + mSlotId + ", " + act);
callSetActivityInstMsg(OP_SET_DAL_INST, mSlotId, act);
@@ -602,6 +610,7 @@ public class StkAppService extends Service implements Runnable {
Activity act = new Activity();
act = (Activity) msg.obj;
CatLog.d(LOG_TAG, "Set activity instance. " + act);
+ mStkContext[slotId].mPrevActivityInstance = mStkContext[slotId].mActivityInstance;
mStkContext[slotId].mActivityInstance = act;
break;
case OP_SET_DAL_INST:
@@ -882,6 +891,28 @@ public class StkAppService extends Service implements Runnable {
return false;
}
+ /**
+ * Get the boolean config from carrier config manager.
+ *
+ * @param context the context to get carrier service
+ * @param key config key defined in CarrierConfigManager
+ * @return boolean value of corresponding key.
+ */
+ private static boolean getBooleanCarrierConfig(Context context, String key) {
+ CarrierConfigManager configManager = (CarrierConfigManager) context.getSystemService(
+ Context.CARRIER_CONFIG_SERVICE);
+ PersistableBundle b = null;
+ if (configManager != null) {
+ b = configManager.getConfig();
+ }
+ if (b != null) {
+ return b.getBoolean(key);
+ } else {
+ // Return static default defined in CarrierConfigManager.
+ return CarrierConfigManager.getDefaultConfig().getBoolean(key);
+ }
+ }
+
private void handleCmd(CatCmdMessage cmdMsg, int slotId) {
if (cmdMsg == null) {
@@ -1010,6 +1041,14 @@ public class StkAppService extends Service implements Runnable {
}
break;
case LAUNCH_BROWSER:
+ /* Check if Carrier would not want to launch browser */
+ if (getBooleanCarrierConfig(mContext,
+ CarrierConfigManager.KEY_STK_DISABLE_LAUNCH_BROWSER_BOOL)) {
+ CatLog.d(this, "Browser is not launched as per carrier.");
+ sendResponse(RES_ID_DONE, slotId, true);
+ break;
+ }
+
mStkContext[slotId].mBrowserSettings =
mStkContext[slotId].mCurrentCmd.getBrowserSettings();
if (!validateBrowserRequest(mStkContext[slotId].mBrowserSettings)) {
@@ -1275,6 +1314,7 @@ public class StkAppService extends Service implements Runnable {
*/
private void cleanUpInstanceStackBySlot(int slotId) {
Activity activity = mStkContext[slotId].getPendingActivityInstance();
+ Activity prevActivity = mStkContext[slotId].getPendingPrevActivityInstance();
Activity dialog = mStkContext[slotId].getPendingDialogInstance();
CatLog.d(LOG_TAG, "cleanUpInstanceStackBySlot slotId: " + slotId);
if (mStkContext[slotId].mCurrentCmd == null) {
@@ -1296,6 +1336,11 @@ public class StkAppService extends Service implements Runnable {
mStkContext[slotId].mIsMenuPending = true;
} else {
}
+ if (prevActivity != null) {
+ CatLog.d(LOG_TAG, "finish pending prev activity at first.");
+ prevActivity.finish();
+ mStkContext[slotId].mPrevActivityInstance = null;
+ }
CatLog.d(LOG_TAG, "finish pending activity.");
activity.finish();
mStkContext[slotId].mActivityInstance = null;