Add CarrierConfig to remove hold during Ims Calls

Adds a Carrier Config key to specify whether an IMS call supports
holding. If not, the CAPABILITY_HOLD and CAPABILITY_SUPPORT_HOLD are
not added to the Connection.

Bug: 30195356
Change-Id: I9b16b385a2b90118453d484be5af4f173b199ab1
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
index 3052cdb..4a2da27 100644
--- a/telephony/java/android/telephony/CarrierConfigManager.java
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
@@ -837,6 +837,12 @@
             "allow_merge_wifi_calls_when_vowifi_off_bool";
 
     /**
+     * Flag indicating whether the carrier supports the Hold command while in an IMS call.
+     * @hide
+     */
+    public static final String KEY_ALLOW_HOLD_IN_IMS_CALL_BOOL = "allow_hold_in_ims_call";
+
+    /**
      * When true, indicates that adding a call is disabled when there is an ongoing video call
      * or when there is an ongoing call on wifi which was downgraded from video and VoWifi is
      * turned off.
@@ -868,6 +874,7 @@
 
     static {
         sDefaults = new PersistableBundle();
+        sDefaults.putBoolean(KEY_ALLOW_HOLD_IN_IMS_CALL_BOOL, true);
         sDefaults.putBoolean(KEY_ADDITIONAL_CALL_SETTING_BOOL, true);
         sDefaults.putBoolean(KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL, false);
         sDefaults.putBoolean(KEY_ALLOW_LOCAL_DTMF_TONES_BOOL, true);