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

Commit b76feffe authored by SongFerngWang's avatar SongFerngWang
Browse files

Gray out the network mode UI before the carrier config is ready

Bug: 202167671
Test: atest EnabledNetworkModePreferenceControllerTest
Change-Id: Ib502ac19ea2c19dae95025302dd82aa2b1c7ff88
parent ee6d283b
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -87,7 +87,8 @@ public class EnabledNetworkModePreferenceController extends
        final PersistableBundle carrierConfig = mCarrierConfigCache.getConfigForSubId(subId);
        if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
            visible = false;
        } else if (carrierConfig == null) {
        } else if (carrierConfig == null
                || !CarrierConfigManager.isConfigForIdentifiedCarrier(carrierConfig)) {
            visible = false;
        } else if (carrierConfig.getBoolean(
                CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)
+9 −0
Original line number Diff line number Diff line
@@ -106,6 +106,7 @@ public class EnabledNetworkModePreferenceControllerTest {
        mPersistableBundle = new PersistableBundle();
        doReturn(mPersistableBundle).when(mCarrierConfigCache).getConfig();
        doReturn(mPersistableBundle).when(mCarrierConfigCache).getConfigForSubId(SUB_ID);
        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL, true);
        mPreference = new ListPreference(mContext);
        mController = new EnabledNetworkModePreferenceController(mContext, KEY);
        mockAllowedNetworkTypes(ALLOWED_ALL_NETWORK_TYPE);
@@ -145,6 +146,14 @@ public class EnabledNetworkModePreferenceControllerTest {
        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
    }

    @UiThreadTest
    @Test
    public void getAvailabilityStatus_carrierConfigNotReady_returnUnavailable() {
        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL, false);

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

    @UiThreadTest
    @Test
    public void getAvailabilityStatus_notWorldPhone_returnAvailable() {