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

Commit 2937ee38 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "[Provider Model] Update Wi-Fi SSID in APM networks type" into sc-dev am: f2d710cf

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9df9ffa3ec954a4cbdc638a2a0196a0fd2611422
parents d8b2eaa9 f2d710cf
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -103,6 +103,7 @@ public class InternetPreferenceController extends AbstractPreferenceController i
        if (mPreference == null) {
            return;
        }

        final @IdRes int icon = sIconMap.get(mInternetType);
        if (icon != 0) {
            final Drawable drawable = mContext.getDrawable(icon);
@@ -112,10 +113,17 @@ public class InternetPreferenceController extends AbstractPreferenceController i
                mPreference.setIcon(drawable);
            }
        }

        if (mustUseWiFiHelperSummary(mSummaryHelper.isWifiConnected(),
                mSummaryHelper.getSummary())) {
            return;
        }

        if (mInternetType == INTERNET_CELLULAR) {
            updateCellularSummary();
            return;
        }

        final @IdRes int summary = sSummaryMap.get(mInternetType);
        if (summary != 0) {
            mPreference.setSummary(summary);
@@ -161,9 +169,17 @@ public class InternetPreferenceController extends AbstractPreferenceController i

    @Override
    public void onSummaryChanged(String summary) {
        if (mPreference != null && mInternetType == INTERNET_WIFI) {
        mustUseWiFiHelperSummary(mSummaryHelper.isWifiConnected(), summary);
    }

    @VisibleForTesting
    boolean mustUseWiFiHelperSummary(boolean isWifiConnected, String summary) {
        final boolean needUpdate = (mInternetType == INTERNET_WIFI)
                || (mInternetType == INTERNET_APM_NETWORKS && isWifiConnected);
        if (needUpdate && mPreference != null) {
            mPreference.setSummary(summary);
        }
        return needUpdate;
    }

    @VisibleForTesting
+7 −0
Original line number Diff line number Diff line
@@ -98,4 +98,11 @@ public final class WifiSummaryUpdater extends SummaryUpdater {
                com.android.settingslib.R.string.preference_summary_default_combination,
                ssid, mWifiTracker.statusLabel);
    }

    /**
     * return true if Wi-Fi connected.
     */
    public boolean isWifiConnected() {
        return mWifiTracker.connected;
    }
}
+28 −2
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.settings.network;

import static com.android.settings.network.InternetUpdater.INTERNET_APM_NETWORKS;
import static com.android.settings.network.InternetUpdater.INTERNET_WIFI;

import static com.google.common.truth.Truth.assertThat;
@@ -57,6 +58,7 @@ import org.mockito.junit.MockitoRule;
public class InternetPreferenceControllerTest {

    private static final String TEST_SUMMARY = "test summary";
    private static final String NOT_CONNECTED = "Not connected";

    @Rule
    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
@@ -117,13 +119,37 @@ public class InternetPreferenceControllerTest {
    }

    @Test
    public void onSummaryChanged_shouldUpdatePreferenceSummary() {
    public void mustUseWiFiHelperSummary_internetWifi_updateSummary() {
        mController.onInternetTypeChanged(INTERNET_WIFI);
        mController.displayPreference(mScreen);

        mController.onSummaryChanged(TEST_SUMMARY);
        mController.mustUseWiFiHelperSummary(true /* isWifiConnected */, TEST_SUMMARY);

        assertThat(mPreference.getSummary()).isEqualTo(TEST_SUMMARY);

        mController.mustUseWiFiHelperSummary(false /* isWifiConnected */, NOT_CONNECTED);

        assertThat(mPreference.getSummary()).isEqualTo(NOT_CONNECTED);
    }

    @Test
    public void mustUseWiFiHelperSummary_internetApmNetworksWifiConnected_updateSummary() {
        mController.onInternetTypeChanged(INTERNET_APM_NETWORKS);
        mController.displayPreference(mScreen);

        mController.mustUseWiFiHelperSummary(true /* isWifiConnected */, TEST_SUMMARY);

        assertThat(mPreference.getSummary()).isEqualTo(TEST_SUMMARY);
    }

    @Test
    public void mustUseWiFiHelperSummary_internetApmNetworksWifiDisconnected_notUpdateSummary() {
        mController.onInternetTypeChanged(INTERNET_APM_NETWORKS);
        mController.displayPreference(mScreen);

        mController.mustUseWiFiHelperSummary(false /* isWifiConnected */, NOT_CONNECTED);

        assertThat(mPreference.getSummary()).isNotEqualTo(NOT_CONNECTED);
    }

    @Test