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

Commit 1ce0d111 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[Provider Model] Hide W+ network if it's inactive" into sc-dev

parents 153c3a1d c4eb3b13
Loading
Loading
Loading
Loading
+12 −10
Original line number Diff line number Diff line
@@ -78,7 +78,6 @@ public class CarrierWifiTogglePreferenceController extends TogglePreferenceContr
            return false;
        }
        mWifiPickerTrackerHelper.setCarrierNetworkEnabled(isChecked);
        updateCarrierNetworkPreference(isChecked);
        return true;
    }

@@ -86,21 +85,17 @@ public class CarrierWifiTogglePreferenceController extends TogglePreferenceContr
    public void displayPreference(PreferenceScreen screen) {
        super.displayPreference(screen);
        mCarrierNetworkPreference = screen.findPreference(CARRIER_WIFI_NETWORK_PREF_KEY);
        updateCarrierNetworkPreference(isChecked());
        updateCarrierNetworkPreference();
    }

    @Override
    public void onWifiStateChanged() {
        if (mCarrierNetworkPreference != null && mCarrierNetworkPreference.isVisible()) {
            mCarrierNetworkPreference.setSummary(getCarrierNetworkSsid());
        }
        updateCarrierNetworkPreference();
    }

    @Override
    public void onWifiEntriesChanged() {
        if (mCarrierNetworkPreference != null && mCarrierNetworkPreference.isVisible()) {
            mCarrierNetworkPreference.setSummary(getCarrierNetworkSsid());
        }
        updateCarrierNetworkPreference();
    }

    @Override
@@ -113,11 +108,11 @@ public class CarrierWifiTogglePreferenceController extends TogglePreferenceContr
        // Do nothing
    }

    protected void updateCarrierNetworkPreference(boolean isCarrierNetworkEnabled) {
    protected void updateCarrierNetworkPreference() {
        if (mCarrierNetworkPreference == null) {
            return;
        }
        if (!isCarrierNetworkEnabled || getAvailabilityStatus() != AVAILABLE) {
        if (getAvailabilityStatus() != AVAILABLE || !isCarrierNetworkActive()) {
            mCarrierNetworkPreference.setVisible(false);
            return;
        }
@@ -125,6 +120,13 @@ public class CarrierWifiTogglePreferenceController extends TogglePreferenceContr
        mCarrierNetworkPreference.setSummary(getCarrierNetworkSsid());
    }

    protected boolean isCarrierNetworkActive() {
        if (mWifiPickerTrackerHelper == null) {
            return false;
        }
        return mWifiPickerTrackerHelper.isCarrierNetworkActive();
    }

    protected String getCarrierNetworkSsid() {
        if (mWifiPickerTrackerHelper == null) {
            return null;
+5 −5
Original line number Diff line number Diff line
@@ -277,12 +277,12 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl

        final boolean isDataInService = tmForSubId.getDataState()
                == TelephonyManager.DATA_CONNECTED;
        final boolean isActiveCarrierNetwork =
        final boolean isCarrierNetworkActive =
                (mWifiPickerTrackerHelper != null)
                        && mWifiPickerTrackerHelper.isActiveCarrierNetwork();
                        && mWifiPickerTrackerHelper.isCarrierNetworkActive();
        String result = mSubsPrefCtrlInjector.getNetworkType(
                mContext, mConfig, mTelephonyDisplayInfo, subId, isActiveCarrierNetwork);
        if (mSubsPrefCtrlInjector.isActiveCellularNetwork(mContext) || isActiveCarrierNetwork) {
                mContext, mConfig, mTelephonyDisplayInfo, subId, isCarrierNetworkActive);
        if (mSubsPrefCtrlInjector.isActiveCellularNetwork(mContext) || isCarrierNetworkActive) {
            Log.i(TAG, "Active cellular network or active carrier network.");
            result = mContext.getString(R.string.preference_summary_default_combination,
                    mContext.getString(R.string.mobile_data_connection_active), result);
@@ -306,7 +306,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
        final boolean isActiveCellularNetwork =
                mSubsPrefCtrlInjector.isActiveCellularNetwork(mContext);
        if (isActiveCellularNetwork || (mWifiPickerTrackerHelper != null)
                        && mWifiPickerTrackerHelper.isActiveCarrierNetwork()) {
                        && mWifiPickerTrackerHelper.isCarrierNetworkActive()) {
            icon.setTint(Utils.getColorAccentDefaultColor(mContext));
            return icon;
        }
+1 −1
Original line number Diff line number Diff line
@@ -261,7 +261,7 @@ public class NetworkProviderWorker extends WifiScanWorker implements
        String iconKey = getIconKey(telephonyDisplayInfo);
        int resId = mapIconSets(config).get(iconKey).dataContentDescription;
        if (mWifiPickerTrackerHelper != null
                && mWifiPickerTrackerHelper.isActiveCarrierNetwork()) {
                && mWifiPickerTrackerHelper.isCarrierNetworkActive()) {
            MobileIconGroup carrierMergedWifiIconGroup = TelephonyIcons.CARRIER_MERGED_WIFI;
            resId = carrierMergedWifiIconGroup.dataContentDescription;
            return resId != 0
+3 −3
Original line number Diff line number Diff line
@@ -139,8 +139,8 @@ public class WifiPickerTrackerHelper implements LifecycleObserver {
        return true;
    }

    /** Confirms connection of the carrier network */
    public boolean isActiveCarrierNetwork() {
    /** Confirms connection of the carrier network connected with the internet access */
    public boolean isCarrierNetworkActive() {
        final MergedCarrierEntry mergedCarrierEntry = mWifiPickerTracker.getMergedCarrierEntry();
        if (mergedCarrierEntry != null) {
            return mergedCarrierEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED
+37 −9
Original line number Diff line number Diff line
@@ -72,8 +72,10 @@ public class CarrierWifiTogglePreferenceControllerTest {
        mController.init(mock(Lifecycle.class), SUB_ID);
        mController.mIsProviderModelEnabled = true;
        mController.mIsCarrierProvisionWifiEnabled = true;
        doReturn(true).when(mWifiPickerTrackerHelper).isCarrierNetworkActive();
        doReturn(SSID).when(mWifiPickerTrackerHelper).getCarrierNetworkSsid();
        mController.mWifiPickerTrackerHelper = mWifiPickerTrackerHelper;

        if (Looper.myLooper() == null) {
            Looper.prepare();
        }
@@ -87,6 +89,7 @@ public class CarrierWifiTogglePreferenceControllerTest {
        mNetworkPreference.setKey(
                CarrierWifiTogglePreferenceController.CARRIER_WIFI_NETWORK_PREF_KEY);
        mScreen.addPreference(mNetworkPreference);
        mController.mCarrierNetworkPreference = mNetworkPreference;
    }

    @Test
@@ -139,8 +142,9 @@ public class CarrierWifiTogglePreferenceControllerTest {
    }

    @Test
    public void displayPreference_carrierNetworkEnabled_showCarrierNetwork() {
        doReturn(true).when(mWifiPickerTrackerHelper).isCarrierNetworkEnabled(SUB_ID);
    public void displayPreference_carrierNetworkActive_showCarrierNetwork() {
        doReturn(true).when(mWifiPickerTrackerHelper).isCarrierNetworkActive();
        doReturn(SSID).when(mWifiPickerTrackerHelper).getCarrierNetworkSsid();

        mController.displayPreference(mScreen);

@@ -150,8 +154,8 @@ public class CarrierWifiTogglePreferenceControllerTest {
    }

    @Test
    public void displayPreference_carrierNetworkDisabled_hideCarrierNetwork() {
        doReturn(false).when(mWifiPickerTrackerHelper).isCarrierNetworkEnabled(SUB_ID);
    public void displayPreference_carrierNetworkInactive_hideCarrierNetwork() {
        doReturn(false).when(mWifiPickerTrackerHelper).isCarrierNetworkActive();

        mController.displayPreference(mScreen);

@@ -160,24 +164,48 @@ public class CarrierWifiTogglePreferenceControllerTest {
    }

    @Test
    public void onWifiStateChanged_carrierNetworkVisible_shouldSetSummary() {
        mController.mCarrierNetworkPreference = mNetworkPreference;
        mNetworkPreference.setVisible(true);
    public void onWifiStateChanged_carrierNetworkActive_shouldSetSummary() {
        doReturn(true).when(mWifiPickerTrackerHelper).isCarrierNetworkActive();
        doReturn(SSID).when(mWifiPickerTrackerHelper).getCarrierNetworkSsid();
        mNetworkPreference.setVisible(false);
        mNetworkPreference.setSummary(null);

        mController.onWifiEntriesChanged();

        assertThat(mNetworkPreference.isVisible()).isEqualTo(true);
        assertThat(mNetworkPreference.getSummary()).isEqualTo(SSID);
    }

    @Test
    public void onWifiEntriesChanged_carrierNetworkVisible_shouldSetSummary() {
        mController.mCarrierNetworkPreference = mNetworkPreference;
    public void onWifiStateChanged_carrierNetworkInactive_shouldHideNetwork() {
        doReturn(false).when(mWifiPickerTrackerHelper).isCarrierNetworkActive();
        mNetworkPreference.setVisible(true);

        mController.onWifiEntriesChanged();

        assertThat(mNetworkPreference.isVisible()).isEqualTo(false);
    }

    @Test
    public void onWifiEntriesChanged_carrierNetworkActive_shouldSetSummary() {
        doReturn(true).when(mWifiPickerTrackerHelper).isCarrierNetworkActive();
        doReturn(SSID).when(mWifiPickerTrackerHelper).getCarrierNetworkSsid();
        mNetworkPreference.setVisible(false);
        mNetworkPreference.setSummary(null);

        mController.onWifiEntriesChanged();

        assertThat(mNetworkPreference.isVisible()).isEqualTo(true);
        assertThat(mNetworkPreference.getSummary()).isEqualTo(SSID);
    }

    @Test
    public void onWifiEntriesChanged_carrierNetworkInactive_shouldHideNetwork() {
        doReturn(false).when(mWifiPickerTrackerHelper).isCarrierNetworkActive();
        mNetworkPreference.setVisible(true);

        mController.onWifiEntriesChanged();

        assertThat(mNetworkPreference.isVisible()).isEqualTo(false);
    }
}
Loading