Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 21d472ef authored by Hall Liu's avatar Hall Liu
Browse files

Check carrierconfig for whether to ignore RTT mode

When sending the RTT on/off flag to the modem, check the carrier config
setting for whether we should always keep it on regardless of the
user-provided setting

Bug: 136035164
Test: manual
Change-Id: I9018b2d4abad70a8be398a646e2ad184f17cea5a
Merged-In: I9018b2d4abad70a8be398a646e2ad184f17cea5a
parent b56ece87
Loading
Loading
Loading
Loading
+12 −5
Original line number Diff line number Diff line
@@ -2174,13 +2174,20 @@ public class ImsManager {
    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) {