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

Commit a00f910b authored by Ling Ma's avatar Ling Ma
Browse files

Fix isDataEnabledOverriddenForApn

Overriden is true if it's been overriden by ANY mobile data policies.

Test: voice call + internet browsing
Change-Id: I09ea65a7c3616448720afc176a08bb5397d4212d
parent 9a543f17
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -757,7 +757,7 @@ public class DataSettingsManager extends Handler {
        // mobile data policy : data during call
        if (isMobileDataPolicyEnabled(TelephonyManager
                .MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL)) {
            overridden = isNonDds && mPhone.getState() != PhoneConstants.State.IDLE;
            overridden = overridden || isNonDds && mPhone.getState() != PhoneConstants.State.IDLE;
        }

        // mobile data policy : auto data switch
@@ -776,7 +776,7 @@ public class DataSettingsManager extends Handler {
            if (defaultDataPhone == null) {
                loge("isDataEnabledOverriddenForApn: unexpected defaultDataPhone is null");
            } else {
                overridden = isNonDds && defaultDataPhone.isUserDataEnabled();
                overridden = overridden || isNonDds && defaultDataPhone.isUserDataEnabled();
            }
        }
        return overridden;
+12 −1
Original line number Diff line number Diff line
@@ -1746,9 +1746,20 @@ public class DataNetworkControllerTest extends TelephonyTest {
        // Verify internet connection
        verifyConnectedNetworkHasCapabilities(NetworkCapabilities.NET_CAPABILITY_INTERNET);

        // Disable auto data switch mobile policy
        // Disable auto data switch mobile policy, but enabled data during call
        mDataNetworkControllerUT.getDataSettingsManager().setMobileDataPolicy(TelephonyManager
                .MOBILE_DATA_POLICY_AUTO_DATA_SWITCH, false);
        mDataNetworkControllerUT.getDataSettingsManager().setMobileDataPolicy(TelephonyManager
                .MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL, true);
        doReturn(PhoneConstants.State.RINGING).when(phone2).getState();
        processAllMessages();

        // Verify internet connection
        verifyConnectedNetworkHasCapabilities(NetworkCapabilities.NET_CAPABILITY_INTERNET);

        // Disable data during call
        mDataNetworkControllerUT.getDataSettingsManager().setMobileDataPolicy(TelephonyManager
                .MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL, false);
        processAllMessages();

        // Verify no internet connection