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

Commit 782506f6 authored by Gary Jian's avatar Gary Jian Committed by Automerger Merge Worker
Browse files

Merge "Added KEY_VONR_ENABLED_BOOL to obtain VoNR availability status" into...

Merge "Added KEY_VONR_ENABLED_BOOL to obtain VoNR availability status" into sc-v2-dev am: 7f809bda

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16259269

Change-Id: I1de09d91f66438c4ac521ac7624eae41e9b54b34
parents a6cd1fee 7f809bda
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ public class NrAdvancedCallingPreferenceController extends TelephonyTogglePrefer
    Preference mPreference;
    private TelephonyManager mTelephonyManager;
    private PhoneCallStateTelephonyCallback mTelephonyCallback;
    private boolean mIsVonrEnabledFromCarrierConfig = false;
    private boolean mIsVonrVisibleFromCarrierConfig = false;
    private boolean mIsNrEnableFromCarrierConfig = false;
    private boolean mHas5gCapability = false;
@@ -83,6 +84,9 @@ public class NrAdvancedCallingPreferenceController extends TelephonyTogglePrefer
        if (carrierConfig == null) {
            return this;
        }
        mIsVonrEnabledFromCarrierConfig = carrierConfig.getBoolean(
            CarrierConfigManager.KEY_VONR_ENABLED_BOOL);

        mIsVonrVisibleFromCarrierConfig = carrierConfig.getBoolean(
                CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL);

@@ -92,6 +96,7 @@ public class NrAdvancedCallingPreferenceController extends TelephonyTogglePrefer

        Log.d(TAG, "mHas5gCapability: " + mHas5gCapability
                + ",mIsNrEnabledFromCarrierConfig: " + mIsNrEnableFromCarrierConfig
                + ",mIsVonrEnabledFromCarrierConfig: " + mIsVonrEnabledFromCarrierConfig
                + ",mIsVonrVisibleFromCarrierConfig: " + mIsVonrVisibleFromCarrierConfig);
        return this;
    }
@@ -100,7 +105,10 @@ public class NrAdvancedCallingPreferenceController extends TelephonyTogglePrefer
    public int getAvailabilityStatus(int subId) {
        init(subId);

        if (mHas5gCapability && mIsNrEnableFromCarrierConfig && mIsVonrVisibleFromCarrierConfig) {
        if (mHas5gCapability
                && mIsNrEnableFromCarrierConfig
                && mIsVonrEnabledFromCarrierConfig
                && mIsVonrVisibleFromCarrierConfig) {
            return AVAILABLE;
        }
        return CONDITIONALLY_UNAVAILABLE;
+28 −3
Original line number Diff line number Diff line
@@ -80,7 +80,8 @@ public class NrAdvancedCallingPreferenceControllerTest {
                mTelephonyManager).setVoNrEnabled(anyBoolean());
        mCarrierConfig = new PersistableBundle();
        doReturn(mCarrierConfig).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL, false);
        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_ENABLED_BOOL, false);
        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL, true);
        mCarrierConfig.putIntArray(CarrierConfigManager.KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY,
                new int[]{1, 2});

@@ -92,7 +93,19 @@ public class NrAdvancedCallingPreferenceControllerTest {
    }

    @Test
    public void getAvailabilityStatus_vonrDisabled_returnUnavailable() {
    public void getAvailabilityStatus_vonrEnabledAndVisibleDisable_returnUnavailable() {
        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_ENABLED_BOOL, true);
        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL, false);

        mController.init(SUB_ID);

        assertThat(mController.getAvailabilityStatus()).isEqualTo(
                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
    }

    @Test
    public void getAvailabilityStatus_vonrDisabledAndVisibleDisable_returnUnavailable() {
        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_ENABLED_BOOL, false);
        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL, false);

        mController.init(SUB_ID);
@@ -102,7 +115,19 @@ public class NrAdvancedCallingPreferenceControllerTest {
    }

    @Test
    public void getAvailabilityStatus_vonrEnabled_returnAvailable() {
    public void getAvailabilityStatus_vonrDisabledAndVisibleEnable_returnUnavailable() {
        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_ENABLED_BOOL, false);
        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL, true);

        mController.init(SUB_ID);

        assertThat(mController.getAvailabilityStatus()).isEqualTo(
                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
    }

    @Test
    public void getAvailabilityStatus_vonrEnabledAndVisibleEnable_returnAvailable() {
        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_ENABLED_BOOL, true);
        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_VONR_SETTING_VISIBILITY_BOOL, true);

        mController.init(SUB_ID);