Use carrier config API entrypoint

Change-Id: I6b4efcbfe6496887b05beb244422844ff23d66f5
diff --git a/res/values-mcc310-mnc410/config.xml b/res/values-mcc310-mnc410/config.xml
index bf89c34..7dd16b1 100644
--- a/res/values-mcc310-mnc410/config.xml
+++ b/res/values-mcc310-mnc410/config.xml
@@ -16,5 +16,4 @@
   -->
 
 <resources>
-    <bool name="support_pause_ims_video_calls" translatable="false">false</bool>
-</resources>
\ No newline at end of file
+</resources>
diff --git a/res/values-mcc311-mnc480/config.xml b/res/values-mcc311-mnc480/config.xml
index b7d0d6e..5cae0bc 100755
--- a/res/values-mcc311-mnc480/config.xml
+++ b/res/values-mcc311-mnc480/config.xml
@@ -23,5 +23,4 @@
     <!-- Determine whether the voicemail notification is persistent in the notification bar.
          If true, the voicemail notifications cannot be dismissed from the notification bar. -->
     <bool name="voicemail_notification_persistent">true</bool>
-    <bool name="support_pause_ims_video_calls" translatable="false">true</bool>
 </resources>
diff --git a/res/values/config.xml b/res/values/config.xml
index 61af525..3df92f8 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -157,9 +157,6 @@
          If true, the voicemail notifications cannot be dismissed from the notification bar. -->
     <bool name="voicemail_notification_persistent">false</bool>
 
-    <!-- For IMS video over LTE calls, determines whether video pause signalling is supported. -->
-    <bool name="support_pause_ims_video_calls" translatable="false">true</bool>
-
     <!-- Disables dialing "*228" (OTASP provisioning) on CDMA carriers where it is not supported or
          is potentially harmful by locking the SIM to 3G. -->
     <string name="config_disable_cdma_activation_code" translatable="false">false</string>
diff --git a/src/com/android/services/telephony/TelecomAccountRegistry.java b/src/com/android/services/telephony/TelecomAccountRegistry.java
index 135ad31..91eaca3 100644
--- a/src/com/android/services/telephony/TelecomAccountRegistry.java
+++ b/src/com/android/services/telephony/TelecomAccountRegistry.java
@@ -27,9 +27,12 @@
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.Icon;
 import android.net.Uri;
+import android.os.PersistableBundle;
+import android.os.RemoteException;
 import android.telecom.PhoneAccount;
 import android.telecom.PhoneAccountHandle;
 import android.telecom.TelecomManager;
+import android.telephony.CarrierConfigManager;
 import android.telephony.PhoneStateListener;
 import android.telephony.ServiceState;
 import android.telephony.SubscriptionInfo;
@@ -38,6 +41,7 @@
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 
+import com.android.internal.telephony.ICarrierConfigLoader;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneFactory;
 import com.android.internal.telephony.PhoneProxy;
@@ -231,10 +235,20 @@
                 configuration.mnc = subscriptionInfo.getMnc();
             }
 
-            // Load the MNC/MCC specific configuration.
-            Context subContext = mContext.createConfigurationContext(configuration);
-            mIsVideoPauseSupported = subContext.getResources().getBoolean(
-                    R.bool.support_pause_ims_video_calls);
+            // Check if IMS video pause is supported.
+            mIsVideoPauseSupported = false;
+
+            ICarrierConfigLoader configLoader =
+                (ICarrierConfigLoader) mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE);
+            if (configLoader != null) {
+                try {
+                    PersistableBundle b = configLoader.getConfigForSubId(mPhone.getSubId());
+                    mIsVideoPauseSupported
+                        = b.getBoolean(CarrierConfigManager.KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL);
+                } catch (RemoteException e) {
+                    Log.i(this, "updateVideoPauseSupport: unable to access carrier config service");
+                }
+            }
         }
 
         /**