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");
+ }
+ }
}
/**