Snap for 5820048 from 4aff980d7409acc9751685654f96da212d025911 to qt-c2f2-release
Change-Id: Ic3cc309b12814d0f6820319dd83dccd04d4663a2
diff --git a/src/java/com/android/ims/ImsManager.java b/src/java/com/android/ims/ImsManager.java
index ab56d29..7c24c7d 100644
--- a/src/java/com/android/ims/ImsManager.java
+++ b/src/java/com/android/ims/ImsManager.java
@@ -2149,13 +2149,20 @@
public boolean updateRttConfigValue() {
boolean isCarrierSupported =
getBooleanCarrierConfig(CarrierConfigManager.KEY_RTT_SUPPORTED_BOOL);
- boolean isRttEnabled = Settings.Secure.getInt(mContext.getContentResolver(),
+ boolean isRttUiSettingEnabled = Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.RTT_CALLING_MODE, 0) != 0;
- Log.i(ImsManager.class.getSimpleName(), "update RTT value " + isRttEnabled);
- if (isCarrierSupported == true) {
- setRttConfig(isRttEnabled);
+ boolean isRttAlwaysOnCarrierConfig = getBooleanCarrierConfig(
+ CarrierConfigManager.KEY_IGNORE_RTT_MODE_SETTING_BOOL);
+
+ boolean shouldImsRttBeOn = isRttUiSettingEnabled || isRttAlwaysOnCarrierConfig;
+ Log.i(ImsManager.class.getSimpleName(), "update RTT: settings value: "
+ + isRttUiSettingEnabled + " always-on carrierconfig: "
+ + isRttAlwaysOnCarrierConfig);
+
+ if (isCarrierSupported) {
+ setRttConfig(shouldImsRttBeOn);
}
- return isCarrierSupported && isRttEnabled;
+ return isCarrierSupported && shouldImsRttBeOn;
}
private void setRttConfig(boolean enabled) {