diff --git a/telecomm/java/android/telecom/PhoneAccount.java b/telecomm/java/android/telecom/PhoneAccount.java index b5d9d3935c535..4390fae226e56 100644 --- a/telecomm/java/android/telecom/PhoneAccount.java +++ b/telecomm/java/android/telecom/PhoneAccount.java @@ -90,6 +90,18 @@ public final class PhoneAccount implements Parcelable { public static final String EXTRA_SUPPORTS_HANDOVER_TO = "android.telecom.extra.SUPPORTS_HANDOVER_TO"; + /** + * Boolean {@link PhoneAccount} extras key (see {@link PhoneAccount#getExtras()}) which + * indicates whether this {@link PhoneAccount} supports using a fallback if video calling is + * not available. This extra is for device level support, {@link + * android.telephony.CarrierConfigManager#KEY_ALLOW_VIDEO_CALLING_FALLBACK_BOOL} should also + * be checked to ensure it is not disabled by individual carrier. + * + * @hide + */ + public static final String EXTRA_SUPPORTS_VIDEO_CALLING_FALLBACK = + "android.telecom.extra.SUPPORTS_VIDEO_CALLING_FALLBACK"; + /** * Boolean {@link PhoneAccount} extras key (see {@link PhoneAccount#getExtras()}) which * indicates whether this {@link PhoneAccount} is capable of supporting a request to handover a diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index f2d2253a8f38d..414780869a4df 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -1219,6 +1219,15 @@ public class CarrierConfigManager { */ public static final String KEY_VIDEO_CALLS_CAN_BE_HD_AUDIO = "video_calls_can_be_hd_audio"; + /** + * Whether system apps are allowed to use fallback if carrier video call is not available. + * Defaults to {@code true}. + * + * @hide + */ + public static final String KEY_ALLOW_VIDEO_CALLING_FALLBACK_BOOL = + "allow_video_calling_fallback_bool"; + /** * Defines operator-specific {@link com.android.ims.ImsReasonInfo} mappings. * @@ -1665,6 +1674,7 @@ public class CarrierConfigManager { sDefaults.putBoolean(KEY_ALLOW_ADD_CALL_DURING_VIDEO_CALL_BOOL, true); sDefaults.putBoolean(KEY_WIFI_CALLS_CAN_BE_HD_AUDIO, true); sDefaults.putBoolean(KEY_VIDEO_CALLS_CAN_BE_HD_AUDIO, true); + sDefaults.putBoolean(KEY_ALLOW_VIDEO_CALLING_FALLBACK_BOOL, true); sDefaults.putStringArray(KEY_IMS_REASONINFO_MAPPING_STRING_ARRAY, null); sDefaults.putBoolean(KEY_ENHANCED_4G_LTE_TITLE_VARIANT_BOOL, false);