diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2016-12-15 02:59:34 -0700 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2016-12-15 02:59:34 -0700 |
commit | 194991902bcc4bd379b3196c1cfd935e028a38cc (patch) | |
tree | 1801848c861d01ef05bf42cdae1b8d7fd1c05f55 | |
parent | f12b31b6fe38e5e70477e8b1aa90d4f507c14732 (diff) | |
parent | 53d60abaebe297e1b31973530a7b6a645e735eb3 (diff) | |
download | android_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.xml | 5 | ||||
-rw-r--r-- | res/drawable-hdpi/ic_launcher_sim_toolkit.png | bin | 5124 -> 2805 bytes | |||
-rwxr-xr-x | res/drawable-mdpi/ic_launcher_sim_toolkit.png | bin | 3131 -> 1794 bytes | |||
-rw-r--r-- | res/values-my-rMM/strings.xml | 8 | ||||
-rw-r--r-- | src/com/android/stk/StkAppService.java | 45 |
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 Binary files differindex ce4ac43..51d6688 100644 --- a/res/drawable-hdpi/ic_launcher_sim_toolkit.png +++ b/res/drawable-hdpi/ic_launcher_sim_toolkit.png diff --git a/res/drawable-mdpi/ic_launcher_sim_toolkit.png b/res/drawable-mdpi/ic_launcher_sim_toolkit.png Binary files differindex 0dfec74..913ab12 100755 --- a/res/drawable-mdpi/ic_launcher_sim_toolkit.png +++ b/res/drawable-mdpi/ic_launcher_sim_toolkit.png 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; |