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

Commit 240e84ae authored by Revathy Sivalingam's avatar Revathy Sivalingam Committed by Torbjorn Eklund
Browse files

Consider ims provisioning status during IMS Configuration status update

Considers ims provisioning status during IMS Configuration status
update. This prevents ims services (VoLTE, Wi-Fi Calling and VT)
from being enabled in the modem in violation of current provisioning
status.

Bug: 145337384
Test: atest FrameworksTelephonyTests
Change-Id: I5e66ee2d6174fcd6672275d846891ac8498bd139
parent f0c70c6d
Loading
Loading
Loading
Loading
+15 −7
Original line number Diff line number Diff line
@@ -1358,11 +1358,14 @@ public class ImsManager implements IFeatureConnector {
        boolean available = isVolteEnabledByPlatform();
        boolean enabled = isEnhanced4gLteModeSettingEnabledByUser();
        boolean isNonTty = isNonTtyOrTtyOnVolteEnabled();
        boolean isFeatureOn = available && enabled && isNonTty;
        boolean isProvisioned = isVolteProvisionedOnDevice();
        boolean isFeatureOn = available && enabled && isNonTty && isProvisioned;

        log("updateVolteFeatureValue: available = " + available
                + ", enabled = " + enabled
                + ", nonTTY = " + isNonTty);
                + ", nonTTY = " + isNonTty
                + ", provisioned = " + isProvisioned
                + ", isFeatureOn = " + isFeatureOn);

        if (isFeatureOn) {
            request.addCapabilitiesToEnableForTech(
@@ -1385,14 +1388,16 @@ public class ImsManager implements IFeatureConnector {
        boolean isDataEnabled = isDataEnabled();
        boolean ignoreDataEnabledChanged = getBooleanCarrierConfig(
                CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS);

        boolean isFeatureOn = available && enabled && isNonTty
        boolean isProvisioned = isVtProvisionedOnDevice();
        boolean isFeatureOn = available && enabled && isNonTty && isProvisioned
                && (ignoreDataEnabledChanged || isDataEnabled);

        log("updateVideoCallFeatureValue: available = " + available
                + ", enabled = " + enabled
                + ", nonTTY = " + isNonTty
                + ", data enabled = " + isDataEnabled);
                + ", data enabled = " + isDataEnabled
                + ", provisioned = " + isProvisioned
                + ", isFeatureOn = " + isFeatureOn);

        if (isFeatureOn) {
            request.addCapabilitiesToEnableForTech(
@@ -1413,14 +1418,17 @@ public class ImsManager implements IFeatureConnector {
        boolean isNetworkRoaming = tm.isNetworkRoaming();
        boolean available = isWfcEnabledByPlatform();
        boolean enabled = isWfcEnabledByUser();
        boolean isProvisioned = isWfcProvisionedOnDevice();
        int mode = getWfcMode(isNetworkRoaming);
        boolean roaming = isWfcRoamingEnabledByUser();
        boolean isFeatureOn = available && enabled;
        boolean isFeatureOn = available && enabled && isProvisioned;

        log("updateWfcFeatureAndProvisionedValues: available = " + available
                + ", enabled = " + enabled
                + ", mode = " + mode
                + ", roaming = " + roaming);
                + ", provisioned = " + isProvisioned
                + ", roaming = " + roaming
                + ", isFeatureOn = " + isFeatureOn);

        if (isFeatureOn) {
            request.addCapabilitiesToEnableForTech(