Merge "Add support for disconnecting outgoing calls for emergency calls"

This commit is contained in:
Treehugger Robot
2019-11-19 22:44:18 +00:00
committed by Gerrit Code Review
5 changed files with 29 additions and 0 deletions

View File

@@ -43520,6 +43520,7 @@ package android.telecom {
field public static final int LOCAL = 2; // 0x2
field public static final int MISSED = 5; // 0x5
field public static final int OTHER = 9; // 0x9
field public static final String REASON_EMERGENCY_CALL_PLACED = "REASON_EMERGENCY_CALL_PLACED";
field public static final int REJECTED = 6; // 0x6
field public static final int REMOTE = 3; // 0x3
field public static final int RESTRICTED = 8; // 0x8
@@ -44048,6 +44049,7 @@ package android.telephony {
field public static final String KEY_ALLOW_ADD_CALL_DURING_VIDEO_CALL_BOOL = "allow_add_call_during_video_call";
field public static final String KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL = "allow_emergency_numbers_in_call_log_bool";
field public static final String KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL = "allow_emergency_video_calls_bool";
field public static final String KEY_ALLOW_HOLD_CALL_DURING_EMERGENCY_BOOL = "allow_hold_call_during_emergency_bool";
field public static final String KEY_ALLOW_LOCAL_DTMF_TONES_BOOL = "allow_local_dtmf_tones_bool";
field public static final String KEY_ALLOW_MERGE_WIFI_CALLS_WHEN_VOWIFI_OFF_BOOL = "allow_merge_wifi_calls_when_vowifi_off_bool";
field public static final String KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL = "allow_non_emergency_calls_in_ecm_bool";

View File

@@ -7752,6 +7752,7 @@ package android.telephony {
field public static final int NUMBER_UNREACHABLE = 8; // 0x8
field public static final int OTASP_PROVISIONING_IN_PROCESS = 76; // 0x4c
field public static final int OUTGOING_CANCELED = 44; // 0x2c
field public static final int OUTGOING_EMERGENCY_CALL_PLACED = 80; // 0x50
field public static final int OUTGOING_FAILURE = 43; // 0x2b
field public static final int OUT_OF_NETWORK = 11; // 0xb
field public static final int OUT_OF_SERVICE = 18; // 0x12

View File

@@ -97,6 +97,14 @@ public final class DisconnectCause implements Parcelable {
*/
public static final String REASON_EMULATING_SINGLE_CALL = "EMULATING_SINGLE_CALL";
/**
* This reason is set when a call is ended in order to place an emergency call when a
* {@link PhoneAccount} doesn't support holding an ongoing call to place an emergency call. This
* reason string should only be associated with the {@link #LOCAL} disconnect code returned from
* {@link #getCode()}.
*/
public static final String REASON_EMERGENCY_CALL_PLACED = "REASON_EMERGENCY_CALL_PLACED";
private int mDisconnectCode;
private CharSequence mDisconnectLabel;
private CharSequence mDisconnectDescription;

View File

@@ -1744,6 +1744,15 @@ public class CarrierConfigManager {
public static final String KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL =
"allow_emergency_video_calls_bool";
/**
* Flag indicating whether or not an ongoing call will be held when an outgoing emergency call
* is placed. If true, ongoing calls will be put on hold when an emergency call is placed. If
* false, placing an emergency call will trigger the disconnect of all ongoing calls before
* the emergency call is placed.
*/
public static final String KEY_ALLOW_HOLD_CALL_DURING_EMERGENCY_BOOL =
"allow_hold_call_during_emergency_bool";
/**
* Flag indicating whether the carrier supports RCS presence indication for
* User Capability Exchange (UCE). When presence is supported, the device should use the
@@ -3501,6 +3510,7 @@ public class CarrierConfigManager {
sDefaults.putString(KEY_MMS_USER_AGENT_STRING, "");
sDefaults.putBoolean(KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL, true);
sDefaults.putInt(KEY_EMERGENCY_SMS_MODE_TIMER_MS_INT, 0);
sDefaults.putBoolean(KEY_ALLOW_HOLD_CALL_DURING_EMERGENCY_BOOL, true);
sDefaults.putBoolean(KEY_USE_RCS_PRESENCE_BOOL, false);
sDefaults.putBoolean(KEY_USE_RCS_SIP_OPTIONS_BOOL, false);
sDefaults.putBoolean(KEY_FORCE_IMEI_BOOL, false);

View File

@@ -354,6 +354,12 @@ public final class DisconnectCause {
*/
public static final int WFC_SERVICE_NOT_AVAILABLE_IN_THIS_LOCATION = 79;
/**
* Indicates that an emergency call was placed, which caused the existing connection to be
* hung up.
*/
public static final int OUTGOING_EMERGENCY_CALL_PLACED = 80;
//*********************************************************************************************
// When adding a disconnect type:
// 1) Update toString() with the newly added disconnect type.
@@ -528,6 +534,8 @@ public final class DisconnectCause {
return "EMERGENCY_CALL_OVER_WFC_NOT_AVAILABLE";
case WFC_SERVICE_NOT_AVAILABLE_IN_THIS_LOCATION:
return "WFC_SERVICE_NOT_AVAILABLE_IN_THIS_LOCATION";
case OUTGOING_EMERGENCY_CALL_PLACED:
return "OUTGOING_EMERGENCY_CALL_PLACED";
default:
return "INVALID: " + cause;
}