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

Commit 8704114f authored by Quang Luong's avatar Quang Luong Committed by Automerger Merge Worker
Browse files

Merge "[Wi-Fi] Show Pie+x Wi-Fi icon when a connected Wi-Fi is not default...

Merge "[Wi-Fi] Show Pie+x Wi-Fi icon when a connected Wi-Fi is not default route" into rvc-qpr-dev am: db667a89

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

Change-Id: I655406b69ef689a1b604ed6fc6c9e4d2bbf8bf82
parents d7b3015b db667a89
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -166,6 +166,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
    private NetworkInfo mNetworkInfo;
    private NetworkCapabilities mNetworkCapabilities;
    private int mRssiSignalLevel = -1;
    @VisibleForTesting boolean mShowX; // Shows the Wi-Fi signal icon of Pie+x when it's true.
    private String[] mSignalStr;
    private WifiInfo mWifiInfo;
    private final WifiManager mWifiManager;
@@ -555,7 +556,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
    }

    private void refreshRssiViews() {
        int signalLevel = mWifiEntry.getLevel();
        final int signalLevel = mWifiEntry.getLevel();

        // Disappears signal view if not in range. e.g. for saved networks.
        if (signalLevel == WifiEntry.WIFI_LEVEL_UNREACHABLE) {
@@ -564,11 +565,14 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
            return;
        }

        if (mRssiSignalLevel == signalLevel) {
        final boolean showX = mWifiEntry.shouldShowXLevelIcon();

        if (mRssiSignalLevel == signalLevel && mShowX == showX) {
            return;
        }
        mRssiSignalLevel = signalLevel;
        Drawable wifiIcon = mIconInjector.getIcon(mRssiSignalLevel);
        mShowX = showX;
        Drawable wifiIcon = mIconInjector.getIcon(mShowX, mRssiSignalLevel);

        if (mEntityHeaderController != null) {
            mEntityHeaderController
@@ -1006,8 +1010,8 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
            mContext = context;
        }

        public Drawable getIcon(int level) {
            return mContext.getDrawable(Utils.getWifiIconResource(level)).mutate();
        public Drawable getIcon(boolean showX, int level) {
            return mContext.getDrawable(Utils.getWifiIconResource(showX, level)).mutate();
        }
    }

+25 −5
Original line number Diff line number Diff line
@@ -299,7 +299,7 @@ public class WifiDetailPreferenceController2Test {
                .thenReturn(mMockHeaderController);
        when(mMockHeaderController.setSecondSummary(nullable(String.class)))
                .thenReturn(mMockHeaderController);
        when(mMockIconInjector.getIcon(anyInt())).thenReturn(new ColorDrawable());
        when(mMockIconInjector.getIcon(anyBoolean(), anyInt())).thenReturn(new ColorDrawable());

        setupMockedPreferenceScreen();
    }
@@ -500,7 +500,7 @@ public class WifiDetailPreferenceController2Test {
    public void entityHeader_shouldHaveIconSetForConnectedNetwork() {
        setUpForConnectedNetwork();
        setUpSpyController();
        Drawable expectedIcon = mMockIconInjector.getIcon(LEVEL);
        Drawable expectedIcon = mMockIconInjector.getIcon(false /* showX */, LEVEL);

        displayAndResume();

@@ -510,7 +510,7 @@ public class WifiDetailPreferenceController2Test {
    @Test
    public void entityHeader_shouldHaveIconSetForDisconnectedNetwork() {
        setUpForDisconnectedNetwork();
        Drawable expectedIcon = mMockIconInjector.getIcon(LEVEL);
        Drawable expectedIcon = mMockIconInjector.getIcon(false /* showX */, LEVEL);

        displayAndResume();

@@ -615,6 +615,7 @@ public class WifiDetailPreferenceController2Test {

        displayAndResume();

        assertThat(mController.mShowX).isFalse();
        verify(mMockSignalStrengthPref).setIcon(any(Drawable.class));
    }

@@ -624,6 +625,7 @@ public class WifiDetailPreferenceController2Test {

        displayAndResume();

        assertThat(mController.mShowX).isFalse();
        verify(mMockSignalStrengthPref).setIcon(any(Drawable.class));
    }

@@ -633,6 +635,7 @@ public class WifiDetailPreferenceController2Test {

        displayAndResume();

        assertThat(mController.mShowX).isFalse();
        verify(mMockSignalStrengthPref, never()).setIcon(any(Drawable.class));
    }

@@ -645,6 +648,7 @@ public class WifiDetailPreferenceController2Test {

        displayAndResume();

        assertThat(mController.mShowX).isFalse();
        verify(mMockSignalStrengthPref).setSummary(expectedStrength);
    }

@@ -656,6 +660,7 @@ public class WifiDetailPreferenceController2Test {

        displayAndResume();

        assertThat(mController.mShowX).isFalse();
        verify(mMockSignalStrengthPref).setSummary(expectedStrength);
    }

@@ -665,9 +670,24 @@ public class WifiDetailPreferenceController2Test {

        displayAndResume();

        assertThat(mController.mShowX).isFalse();
        verify(mMockSignalStrengthPref, never()).setSummary(any(String.class));
    }

    @Test
    public void signalStrengthPref_shouldShowXLevelIcon_showXTrue() {
        setUpForConnectedNetwork();
        setUpSpyController();
        final String expectedStrength =
                mContext.getResources().getStringArray(R.array.wifi_signal)[LEVEL];
        when(mMockWifiEntry.shouldShowXLevelIcon()).thenReturn(true);

        displayAndResume();

        assertThat(mController.mShowX).isTrue();
        verify(mMockSignalStrengthPref).setSummary(expectedStrength);
    }

    @Test
    public void linkSpeedPref_shouldNotShowIfNotSet() {
        setUpForConnectedNetwork();
@@ -1529,7 +1549,7 @@ public class WifiDetailPreferenceController2Test {
        ArgumentCaptor<BitmapDrawable> drawableCaptor =
                ArgumentCaptor.forClass(BitmapDrawable.class);
        Drawable original = mContext.getDrawable(Utils.getWifiIconResource(LEVEL)).mutate();
        when(mMockIconInjector.getIcon(anyInt())).thenReturn(original);
        when(mMockIconInjector.getIcon(anyBoolean(), anyInt())).thenReturn(original);

        displayAndResume();

@@ -1548,7 +1568,7 @@ public class WifiDetailPreferenceController2Test {
        ArgumentCaptor<BitmapDrawable> drawableCaptor =
                ArgumentCaptor.forClass(BitmapDrawable.class);
        Drawable original = mContext.getDrawable(Utils.getWifiIconResource(LEVEL)).mutate();
        when(mMockIconInjector.getIcon(anyInt())).thenReturn(original);
        when(mMockIconInjector.getIcon(anyBoolean(), anyInt())).thenReturn(original);

        displayAndResume();