Add support for dropping fg video call on answer of audio call.
am: 4b6614e576
Change-Id: Id51de6ca0d6f885a22374e2a2c0a38477a5e2df7
This commit is contained in:
@@ -36316,6 +36316,7 @@ package android.telecom {
|
||||
field public static final int CAPABILITY_SWAP_CONFERENCE = 8; // 0x8
|
||||
field public static final java.lang.String EVENT_CALL_MERGE_FAILED = "android.telecom.event.CALL_MERGE_FAILED";
|
||||
field public static final java.lang.String EVENT_CALL_PULL_FAILED = "android.telecom.event.CALL_PULL_FAILED";
|
||||
field public static final java.lang.String EXTRA_ANSWERING_DROPS_FG_CALL = "android.telecom.extra.ANSWERING_DROPS_FG_CALL";
|
||||
field public static final java.lang.String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT";
|
||||
field public static final java.lang.String EXTRA_CHILD_ADDRESS = "android.telecom.extra.CHILD_ADDRESS";
|
||||
field public static final java.lang.String EXTRA_LAST_FORWARDED_NUMBER = "android.telecom.extra.LAST_FORWARDED_NUMBER";
|
||||
@@ -36801,6 +36802,7 @@ package android.telephony {
|
||||
field public static final java.lang.String KEY_CSP_ENABLED_BOOL = "csp_enabled_bool";
|
||||
field public static final java.lang.String KEY_DEFAULT_SIM_CALL_MANAGER_STRING = "default_sim_call_manager_string";
|
||||
field public static final java.lang.String KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL = "disable_cdma_activation_code_bool";
|
||||
field public static final java.lang.String KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL = "drop_video_call_when_answering_audio_call_bool";
|
||||
field public static final java.lang.String KEY_DTMF_TYPE_ENABLED_BOOL = "dtmf_type_enabled_bool";
|
||||
field public static final java.lang.String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT = "duration_blocking_disabled_after_emergency_int";
|
||||
field public static final java.lang.String KEY_EDITABLE_ENHANCED_4G_LTE_BOOL = "editable_enhanced_4g_lte_bool";
|
||||
@@ -36858,6 +36860,7 @@ package android.telephony {
|
||||
field public static final java.lang.String KEY_SUPPORT_CONFERENCE_CALL_BOOL = "support_conference_call_bool";
|
||||
field public static final java.lang.String KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL = "support_pause_ims_video_calls_bool";
|
||||
field public static final java.lang.String KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL = "support_swap_after_merge_bool";
|
||||
field public static final java.lang.String KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL = "treat_downgraded_video_calls_as_video_calls_bool";
|
||||
field public static final java.lang.String KEY_USE_HFA_FOR_PROVISIONING_BOOL = "use_hfa_for_provisioning_bool";
|
||||
field public static final java.lang.String KEY_USE_OTASP_FOR_PROVISIONING_BOOL = "use_otasp_for_provisioning_bool";
|
||||
field public static final java.lang.String KEY_USE_RCS_PRESENCE_BOOL = "use_rcs_presence_bool";
|
||||
|
||||
@@ -39165,6 +39165,7 @@ package android.telecom {
|
||||
field public static final int CAPABILITY_SWAP_CONFERENCE = 8; // 0x8
|
||||
field public static final java.lang.String EVENT_CALL_MERGE_FAILED = "android.telecom.event.CALL_MERGE_FAILED";
|
||||
field public static final java.lang.String EVENT_CALL_PULL_FAILED = "android.telecom.event.CALL_PULL_FAILED";
|
||||
field public static final java.lang.String EXTRA_ANSWERING_DROPS_FG_CALL = "android.telecom.extra.ANSWERING_DROPS_FG_CALL";
|
||||
field public static final java.lang.String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT";
|
||||
field public static final java.lang.String EXTRA_CHILD_ADDRESS = "android.telecom.extra.CHILD_ADDRESS";
|
||||
field public static final java.lang.String EXTRA_LAST_FORWARDED_NUMBER = "android.telecom.extra.LAST_FORWARDED_NUMBER";
|
||||
@@ -39840,6 +39841,7 @@ package android.telephony {
|
||||
field public static final java.lang.String KEY_CSP_ENABLED_BOOL = "csp_enabled_bool";
|
||||
field public static final java.lang.String KEY_DEFAULT_SIM_CALL_MANAGER_STRING = "default_sim_call_manager_string";
|
||||
field public static final java.lang.String KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL = "disable_cdma_activation_code_bool";
|
||||
field public static final java.lang.String KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL = "drop_video_call_when_answering_audio_call_bool";
|
||||
field public static final java.lang.String KEY_DTMF_TYPE_ENABLED_BOOL = "dtmf_type_enabled_bool";
|
||||
field public static final java.lang.String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT = "duration_blocking_disabled_after_emergency_int";
|
||||
field public static final java.lang.String KEY_EDITABLE_ENHANCED_4G_LTE_BOOL = "editable_enhanced_4g_lte_bool";
|
||||
@@ -39897,6 +39899,7 @@ package android.telephony {
|
||||
field public static final java.lang.String KEY_SUPPORT_CONFERENCE_CALL_BOOL = "support_conference_call_bool";
|
||||
field public static final java.lang.String KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL = "support_pause_ims_video_calls_bool";
|
||||
field public static final java.lang.String KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL = "support_swap_after_merge_bool";
|
||||
field public static final java.lang.String KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL = "treat_downgraded_video_calls_as_video_calls_bool";
|
||||
field public static final java.lang.String KEY_USE_HFA_FOR_PROVISIONING_BOOL = "use_hfa_for_provisioning_bool";
|
||||
field public static final java.lang.String KEY_USE_OTASP_FOR_PROVISIONING_BOOL = "use_otasp_for_provisioning_bool";
|
||||
field public static final java.lang.String KEY_USE_RCS_PRESENCE_BOOL = "use_rcs_presence_bool";
|
||||
|
||||
@@ -36394,6 +36394,7 @@ package android.telecom {
|
||||
field public static final int CAPABILITY_SWAP_CONFERENCE = 8; // 0x8
|
||||
field public static final java.lang.String EVENT_CALL_MERGE_FAILED = "android.telecom.event.CALL_MERGE_FAILED";
|
||||
field public static final java.lang.String EVENT_CALL_PULL_FAILED = "android.telecom.event.CALL_PULL_FAILED";
|
||||
field public static final java.lang.String EXTRA_ANSWERING_DROPS_FG_CALL = "android.telecom.extra.ANSWERING_DROPS_FG_CALL";
|
||||
field public static final java.lang.String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT";
|
||||
field public static final java.lang.String EXTRA_CHILD_ADDRESS = "android.telecom.extra.CHILD_ADDRESS";
|
||||
field public static final java.lang.String EXTRA_LAST_FORWARDED_NUMBER = "android.telecom.extra.LAST_FORWARDED_NUMBER";
|
||||
@@ -36879,6 +36880,7 @@ package android.telephony {
|
||||
field public static final java.lang.String KEY_CSP_ENABLED_BOOL = "csp_enabled_bool";
|
||||
field public static final java.lang.String KEY_DEFAULT_SIM_CALL_MANAGER_STRING = "default_sim_call_manager_string";
|
||||
field public static final java.lang.String KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL = "disable_cdma_activation_code_bool";
|
||||
field public static final java.lang.String KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL = "drop_video_call_when_answering_audio_call_bool";
|
||||
field public static final java.lang.String KEY_DTMF_TYPE_ENABLED_BOOL = "dtmf_type_enabled_bool";
|
||||
field public static final java.lang.String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT = "duration_blocking_disabled_after_emergency_int";
|
||||
field public static final java.lang.String KEY_EDITABLE_ENHANCED_4G_LTE_BOOL = "editable_enhanced_4g_lte_bool";
|
||||
@@ -36936,6 +36938,7 @@ package android.telephony {
|
||||
field public static final java.lang.String KEY_SUPPORT_CONFERENCE_CALL_BOOL = "support_conference_call_bool";
|
||||
field public static final java.lang.String KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL = "support_pause_ims_video_calls_bool";
|
||||
field public static final java.lang.String KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL = "support_swap_after_merge_bool";
|
||||
field public static final java.lang.String KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL = "treat_downgraded_video_calls_as_video_calls_bool";
|
||||
field public static final java.lang.String KEY_USE_HFA_FOR_PROVISIONING_BOOL = "use_hfa_for_provisioning_bool";
|
||||
field public static final java.lang.String KEY_USE_OTASP_FOR_PROVISIONING_BOOL = "use_otasp_for_provisioning_bool";
|
||||
field public static final java.lang.String KEY_USE_RCS_PRESENCE_BOOL = "use_rcs_presence_bool";
|
||||
|
||||
@@ -366,6 +366,14 @@ public abstract class Connection extends Conferenceable {
|
||||
*/
|
||||
public static final String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT";
|
||||
|
||||
/**
|
||||
* Boolean connection extra key set on a {@link Connection} in
|
||||
* {@link Connection#STATE_RINGING} state to indicate that answering the call will cause the
|
||||
* current active foreground call to be dropped.
|
||||
*/
|
||||
public static final String EXTRA_ANSWERING_DROPS_FG_CALL =
|
||||
"android.telecom.extra.ANSWERING_DROPS_FG_CALL";
|
||||
|
||||
/**
|
||||
* Connection event used to inform Telecom that it should play the on hold tone. This is used
|
||||
* to play a tone when the peer puts the current call on hold. Sent to Telecom via
|
||||
|
||||
@@ -787,6 +787,27 @@ public class CarrierConfigManager {
|
||||
public static final String KEY_RATCHET_RAT_FAMILIES =
|
||||
"ratchet_rat_families";
|
||||
|
||||
/**
|
||||
* Flag indicating whether some telephony logic will treat a call which was formerly a video
|
||||
* call as if it is still a video call. When {@code true}:
|
||||
* <p>
|
||||
* Logic which will automatically drop a video call which takes place over WIFI when a
|
||||
* voice call is answered (see {@link #KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL}.
|
||||
* <p>
|
||||
* Logic which determines whether the user can use TTY calling.
|
||||
*/
|
||||
public static final String KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL =
|
||||
"treat_downgraded_video_calls_as_video_calls_bool";
|
||||
|
||||
/**
|
||||
* When {@code true}, if the user is in an ongoing video call over WIFI and answers an incoming
|
||||
* audio call, the video call will be disconnected before the audio call is answered. This is
|
||||
* in contrast to the usual expected behavior where a foreground video call would be put into
|
||||
* the background and held when an incoming audio call is answered.
|
||||
*/
|
||||
public static final String KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL =
|
||||
"drop_video_call_when_answering_audio_call_bool";
|
||||
|
||||
/** The default value for every variable. */
|
||||
private final static PersistableBundle sDefaults;
|
||||
|
||||
@@ -938,6 +959,8 @@ public class CarrierConfigManager {
|
||||
// Order is important - lowest precidence first
|
||||
sDefaults.putStringArray(KEY_RATCHET_RAT_FAMILIES,
|
||||
new String[]{"1,2","7,8,12","3,11,9,10,15","14,19"});
|
||||
sDefaults.putBoolean(KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL, true);
|
||||
sDefaults.putBoolean(KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL, true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -447,6 +447,15 @@ public class ImsCallProfile implements Parcelable {
|
||||
return mMediaProfile.mVideoDirection == ImsStreamMediaProfile.DIRECTION_INACTIVE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the {@link ImsCallProfile} represents a video call.
|
||||
*
|
||||
* @return {@code true} if the profile is for a video call, {@code false} otherwise.
|
||||
*/
|
||||
public boolean isVideoCall() {
|
||||
return VideoProfile.isVideo(getVideoStateFromCallType(mCallType));
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if a video state is set in a video state bit-mask.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user