diff options
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 4f67350b5adc..f36b4aa87636 100644 --- a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java +++ b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java @@ -195,19 +195,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 4518d79ff611..3258d57ba8e0 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 388b5fb43096..fd14916ecac9 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -2658,12 +2658,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 11b667427aaf..e2d03a048af5 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -8956,6 +8956,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 46366d66a6eb..399e2553804b 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -1408,6 +1408,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. * |