diff options
| author | 2017-07-19 11:11:54 -0700 | |
|---|---|---|
| committer | 2018-12-07 16:10:32 -0800 | |
| commit | 79d77bb580ea775b5ac2fd9b616a4345e2412836 (patch) | |
| tree | 74c97548b5821355fec02094c86985f77636d4e3 | |
| parent | c769caafffa632937a3a66fb91c5bf821d5d3d05 (diff) | |
support vzw roaming default on
1. sms link handling by defaultcarrierapp under restricted NW
2. support launching defaultcarrierapp from carrier notification to
load captive portal page.
3. new carrier action to reset all actions
4. add a new app icon
Bug: 113114222
Test: manual test with cold SIM to trigger redirection signal
Change-Id: Ieb03244f222334068652e2fac8ee590082973670
7 files changed, 44 insertions, 20 deletions
diff --git a/packages/CarrierDefaultApp/AndroidManifest.xml b/packages/CarrierDefaultApp/AndroidManifest.xml index 4d9aaecb4092..f1165468c0ad 100644 --- a/packages/CarrierDefaultApp/AndroidManifest.xml +++ b/packages/CarrierDefaultApp/AndroidManifest.xml @@ -31,7 +31,8 @@ <application android:label="@string/app_name" android:directBootAware="true" - android:usesCleartextTraffic="true"> + android:usesCleartextTraffic="true" + android:icon="@mipmap/ic_launcher_android"> <receiver android:name="com.android.carrierdefaultapp.CarrierDefaultBroadcastReceiver"> <intent-filter> <action android:name="com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED" /> @@ -45,6 +46,7 @@ <activity android:name="com.android.carrierdefaultapp.CaptivePortalLoginActivity" android:label="@string/action_bar_label" + android:exported="true" android:theme="@style/AppTheme" android:configChanges="keyboardHidden|orientation|screenSize"> <intent-filter> diff --git a/packages/CarrierDefaultApp/res/mipmap/ic_launcher_android.png b/packages/CarrierDefaultApp/res/mipmap/ic_launcher_android.png Binary files differnew file mode 100644 index 000000000000..2e9b196c9625 --- /dev/null +++ b/packages/CarrierDefaultApp/res/mipmap/ic_launcher_android.png diff --git a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java index b1933373a8e6..ec9daa39654d 100644 --- a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java +++ b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java @@ -196,19 +196,7 @@ public class CaptivePortalLoginActivity extends Activity { if (success) { // Trigger re-evaluation upon success http response code CarrierActionUtils.applyCarrierAction( - CarrierActionUtils.CARRIER_ACTION_ENABLE_RADIO, getIntent(), - getApplicationContext()); - CarrierActionUtils.applyCarrierAction( - CarrierActionUtils.CARRIER_ACTION_ENABLE_METERED_APNS, getIntent(), - getApplicationContext()); - CarrierActionUtils.applyCarrierAction( - CarrierActionUtils.CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS, getIntent(), - getApplicationContext()); - CarrierActionUtils.applyCarrierAction( - CarrierActionUtils.CARRIER_ACTION_DISABLE_DEFAULT_URL_HANDLER, getIntent(), - getApplicationContext()); - CarrierActionUtils.applyCarrierAction( - CarrierActionUtils.CARRIER_ACTION_DEREGISTER_DEFAULT_NETWORK_AVAIL, getIntent(), + CarrierActionUtils.CARRIER_ACTION_RESET_ALL, getIntent(), getApplicationContext()); } finishAndRemoveTask(); diff --git a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CarrierActionUtils.java b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CarrierActionUtils.java index 33cb596415d5..e6e3569a9eac 100644 --- a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CarrierActionUtils.java +++ b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CarrierActionUtils.java @@ -56,6 +56,7 @@ public class CarrierActionUtils { public static final int CARRIER_ACTION_DISABLE_DEFAULT_URL_HANDLER = 8; public static final int CARRIER_ACTION_REGISTER_DEFAULT_NETWORK_AVAIL = 9; public static final int CARRIER_ACTION_DEREGISTER_DEFAULT_NETWORK_AVAIL = 10; + public static final int CARRIER_ACTION_RESET_ALL = 11; public static void applyCarrierAction(int actionIdx, Intent intent, Context context) { switch (actionIdx) { @@ -92,6 +93,9 @@ public class CarrierActionUtils { case CARRIER_ACTION_DEREGISTER_DEFAULT_NETWORK_AVAIL: onDeregisterDefaultNetworkAvail(intent, context); break; + case CARRIER_ACTION_RESET_ALL: + onResetAllCarrierActions(intent, context); + break; default: loge("unsupported carrier action index: " + actionIdx); } @@ -196,6 +200,14 @@ public class CarrierActionUtils { context.getSystemService(NotificationManager.class).cancelAll(); } + private static void onResetAllCarrierActions(Intent intent, Context context) { + int subId = intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY, + SubscriptionManager.getDefaultVoiceSubscriptionId()); + logd("onResetAllCarrierActions subId: " + subId); + final TelephonyManager telephonyMgr = context.getSystemService(TelephonyManager.class); + telephonyMgr.carrierActionResetAll(subId); + } + private static Notification getNotification(Context context, int titleId, int textId, PendingIntent pendingIntent) { final TelephonyManager telephonyMgr = context.getSystemService(TelephonyManager.class); diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index bae18840506b..806e139bba17 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -2307,12 +2307,9 @@ public class CarrierConfigManager { //6: CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS //8: CARRIER_ACTION_DISABLE_DEFAULT_URL_HANDLER }); - sDefaults.putStringArray(KEY_CARRIER_DEFAULT_ACTIONS_ON_DEFAULT_NETWORK_AVAILABLE, - new String[] { - String.valueOf(false) + ": 7", - //7: CARRIER_ACTION_ENABLE_DEFAULT_URL_HANDLER - String.valueOf(true) + ": 8" - //8: CARRIER_ACTION_DISABLE_DEFAULT_URL_HANDLER + sDefaults.putStringArray(KEY_CARRIER_DEFAULT_ACTIONS_ON_DEFAULT_NETWORK_AVAILABLE, new String[] { + String.valueOf(false) + ": 7", //7: CARRIER_ACTION_ENABLE_DEFAULT_URL_HANDLER + String.valueOf(true) + ": 8" //8: CARRIER_ACTION_DISABLE_DEFAULT_URL_HANDLER }); sDefaults.putStringArray(KEY_CARRIER_DEFAULT_REDIRECTION_URL_STRING_ARRAY, null); diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 37cdb52f7a35..c574fb4d6605 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -7677,6 +7677,23 @@ public class TelephonyManager { } /** + * Action set from carrier signalling broadcast receivers to reset all carrier actions + * Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required + * @param subId the subscription ID that this action applies to. + * @hide + */ + public void carrierActionResetAll(int subId) { + try { + ITelephony service = getITelephony(); + if (service != null) { + service.carrierActionResetAll(subId); + } + } catch (RemoteException e) { + Log.e(TAG, "Error calling ITelephony#carrierActionResetAll", e); + } + } + + /** * Get aggregated video call data usage since boot. * Permissions android.Manifest.permission.READ_NETWORK_USAGE_HISTORY is required. * diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 60422d184404..cbe268518d26 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -1415,6 +1415,14 @@ interface ITelephony { void carrierActionReportDefaultNetworkStatus(int subId, boolean report); /** + * Action set from carrier signalling broadcast receivers to reset all carrier actions. + * Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required + * @param subId the subscription ID that this action applies to. + * @hide + */ + void carrierActionResetAll(int subId); + + /** * Get aggregated video call data usage since boot. * Permissions android.Manifest.permission.READ_NETWORK_USAGE_HISTORY is required. * |