diff options
4 files changed, 39 insertions, 4 deletions
diff --git a/packages/CarrierDefaultApp/AndroidManifest.xml b/packages/CarrierDefaultApp/AndroidManifest.xml index e450283312c3..2ef1cf59ffc5 100644 --- a/packages/CarrierDefaultApp/AndroidManifest.xml +++ b/packages/CarrierDefaultApp/AndroidManifest.xml @@ -33,6 +33,7 @@ <receiver android:name="com.android.carrierdefaultapp.CarrierDefaultBroadcastReceiver"> <intent-filter> <action android:name="com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED" /> + <action android:name="com.android.internal.telephony.CARRIER_SIGNAL_RESET" /> </intent-filter> </receiver> <service android:name="com.android.carrierdefaultapp.ProvisionObserver" diff --git a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CustomConfigLoader.java b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CustomConfigLoader.java index e1125d9d503a..d5d0b7926c83 100644 --- a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CustomConfigLoader.java +++ b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CustomConfigLoader.java @@ -91,6 +91,10 @@ public class CustomConfigLoader { arg1 = intent.getStringExtra(TelephonyIntents.EXTRA_APN_TYPE_KEY); arg2 = intent.getStringExtra(TelephonyIntents.EXTRA_ERROR_CODE_KEY); break; + case TelephonyIntents.ACTION_CARRIER_SIGNAL_RESET: + configs = b.getStringArray(CarrierConfigManager + .KEY_CARRIER_DEFAULT_ACTIONS_ON_RESET); + break; default: Rlog.e(TAG, "load carrier config failure with un-configured key: " + intent.getAction()); diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 1fd6bb6e43b4..61ffd74c74ac 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -978,6 +978,20 @@ public class CarrierConfigManager { "carrier_default_actions_on_dcfailure_string_array"; /** + * Defines carrier-specific actions which act upon + * com.android.internal.telephony.CARRIER_SIGNAL_RESET, used for customization of the + * default carrier app + * Format: "CARRIER_ACTION_IDX, ..." + * Where {@code CARRIER_ACTION_IDX} is an integer defined in + * {@link com.android.carrierdefaultapp.CarrierActionUtils CarrierActionUtils} + * Example: + * {@link com.android.carrierdefaultapp.CarrierActionUtils + * #CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS clear all notifications on reset} + * @hide + */ + public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_RESET = + "carrier_default_actions_on_reset_string_array"; + /** * Defines a list of acceptable redirection url for default carrier app * @hides */ @@ -1498,7 +1512,8 @@ public class CarrierConfigManager { sDefaults.putStringArray(KEY_CARRIER_APP_WAKE_SIGNAL_CONFIG_STRING_ARRAY, new String[]{ "com.android.carrierdefaultapp/.CarrierDefaultBroadcastReceiver:" + - "com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED" + "com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED," + + "com.android.internal.telephony.CARRIER_SIGNAL_RESET" }); sDefaults.putStringArray(KEY_CARRIER_APP_NO_WAKE_SIGNAL_CONFIG_STRING_ARRAY, null); @@ -1509,6 +1524,9 @@ public class CarrierConfigManager { //4: CARRIER_ACTION_DISABLE_METERED_APNS //1: CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION }); + sDefaults.putStringArray(KEY_CARRIER_DEFAULT_ACTIONS_ON_RESET, new String[]{ + "6" //6: CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS + }); sDefaults.putStringArray(KEY_CARRIER_DEFAULT_REDIRECTION_URL_STRING_ARRAY, null); // Rat families: {GPRS, EDGE}, {EVDO, EVDO_A, EVDO_B}, {UMTS, HSPA, HSDPA, HSUPA, HSPAP}, diff --git a/telephony/java/com/android/internal/telephony/TelephonyIntents.java b/telephony/java/com/android/internal/telephony/TelephonyIntents.java index ce4e7e215da2..55a8b0bbc001 100644 --- a/telephony/java/com/android/internal/telephony/TelephonyIntents.java +++ b/telephony/java/com/android/internal/telephony/TelephonyIntents.java @@ -402,7 +402,7 @@ public class TelephonyIntents { * <ul> * <li>apnType</li><dd>A string with the apn type.</dd> * <li>redirectionUrl</li><dd>redirection url string</dd> - * <li>subId</dt><li>Sub Id which associated the data connection failure.</dd> + * <li>subId</li><dd>Sub Id which associated the data connection failure.</dd> * </ul> * <p class="note">This is a protected intent that can only be sent by the system.</p> */ @@ -415,7 +415,7 @@ public class TelephonyIntents { * <ul> * <li>apnType</li><dd>A string with the apn type.</dd> * <li>errorCode</li><dd>A integer with dataFailCause.</dd> - * <li>subId</dt><li>Sub Id which associated the data connection failure.</dd> + * <li>subId</li><dd>Sub Id which associated the data connection failure.</dd> * </ul> * <p class="note">This is a protected intent that can only be sent by the system. </p> */ @@ -432,13 +432,25 @@ public class TelephonyIntents { * IPV4V6)</dd> * <li>pcoId</li><dd>An integer indicating the pco id for the data.</dd> * <li>pcoValue</li><dd>A byte array of pco data read from modem.</dd> - * <li>subId</dt><li>Sub Id which associated the data connection.</dd> + * <li>subId</li><dd>Sub Id which associated the data connection.</dd> * </ul> * <p class="note">This is a protected intent that can only be sent by the system. </p> */ public static final String ACTION_CARRIER_SIGNAL_PCO_VALUE = "com.android.internal.telephony.CARRIER_SIGNAL_PCO_VALUE"; + /** + * <p>Broadcast Action: when framework reset all carrier actions on sim load or absent. + * intended for carrier apps clean up (clear UI e.g.) and only sent to the specified carrier app + * The intent will have the following extra values:</p> + * <ul> + * <li>subId</li><dd>Sub Id which associated the data connection failure.</dd> + * </ul> + * <p class="note">This is a protected intent that can only be sent by the system.</p> + */ + public static final String ACTION_CARRIER_SIGNAL_RESET = + "com.android.internal.telephony.CARRIER_SIGNAL_RESET"; + // CARRIER_SIGNAL_ACTION extra keys public static final String EXTRA_REDIRECTION_URL_KEY = "redirectionUrl"; public static final String EXTRA_ERROR_CODE_KEY = "errorCode"; |