diff options
| -rw-r--r-- | telephony/java/android/telephony/CarrierConfigManager.java | 14 | ||||
| -rw-r--r-- | telephony/java/android/telephony/DisconnectCause.java | 13 |
2 files changed, 25 insertions, 2 deletions
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 585d5c158dc5..dc91bdd6a748 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -1056,6 +1056,19 @@ public class CarrierConfigManager { public static final String KEY_SUPPORT_3GPP_CALL_FORWARDING_WHILE_ROAMING_BOOL = "support_3gpp_call_forwarding_while_roaming_bool"; + /** + * An array containing custom call forwarding number prefixes that will be blocked while the + * device is reporting that it is roaming. By default, there are no custom call + * forwarding prefixes and none of these numbers will be filtered. If one or more entries are + * present, the system will not complete the call and display an error message. + * + * To display a message to the user when call forwarding fails for 3gpp MMI codes while roaming, + * use the {@link #KEY_SUPPORT_3GPP_CALL_FORWARDING_WHILE_ROAMING_BOOL} option instead. + * @hide + */ + public static final String KEY_CALL_FORWARDING_BLOCKS_WHILE_ROAMING_STRING_ARRAY = + "call_forwarding_blocks_while_roaming_string_array"; + /** The default value for every variable. */ private final static PersistableBundle sDefaults; @@ -1239,6 +1252,7 @@ public class CarrierConfigManager { sDefaults.putInt(KEY_PREF_NETWORK_NOTIFICATION_DELAY_INT, -1); sDefaults.putBoolean(KEY_EDITABLE_TETHER_APN_BOOL, false); sDefaults.putBoolean(KEY_SUPPORT_3GPP_CALL_FORWARDING_WHILE_ROAMING_BOOL, true); + sDefaults.putStringArray(KEY_CALL_FORWARDING_BLOCKS_WHILE_ROAMING_STRING_ARRAY, null); } /** diff --git a/telephony/java/android/telephony/DisconnectCause.java b/telephony/java/android/telephony/DisconnectCause.java index 03342548e7df..88fd84815965 100644 --- a/telephony/java/android/telephony/DisconnectCause.java +++ b/telephony/java/android/telephony/DisconnectCause.java @@ -233,6 +233,13 @@ public class DisconnectCause { */ public static final int DIALED_ON_WRONG_SLOT = 56; + /** + * The call being placed was detected as a call forwarding number and was being dialed while + * roaming on a carrier that does not allow this. + * @hide + */ + public static final int DIALED_CALL_FORWARDING_WHILE_ROAMING = 57; + //********************************************************************************************* // When adding a disconnect type: // 1) Please assign the new type the next id value below. @@ -241,14 +248,14 @@ public class DisconnectCause { // 4) Update toString() with the newly added disconnect type. // 5) Update android.telecom.DisconnectCauseUtil with any mappings to a telecom.DisconnectCause. // - // NextId: 57 + // NextId: 58 //********************************************************************************************* /** Smallest valid value for call disconnect codes. */ public static final int MINIMUM_VALID_VALUE = NOT_DISCONNECTED; /** Largest valid value for call disconnect codes. */ - public static final int MAXIMUM_VALID_VALUE = DIALED_ON_WRONG_SLOT; + public static final int MAXIMUM_VALID_VALUE = DIALED_CALL_FORWARDING_WHILE_ROAMING; /** Private constructor to avoid class instantiation. */ private DisconnectCause() { @@ -370,6 +377,8 @@ public class DisconnectCause { return "DATA_LIMIT_REACHED"; case DIALED_ON_WRONG_SLOT: return "DIALED_ON_WRONG_SLOT"; + case DIALED_CALL_FORWARDING_WHILE_ROAMING: + return "DIALED_CALL_FORWARDING_WHILE_ROAMING"; default: return "INVALID: " + cause; } |