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

Commit c3633c0d authored by Quang Luong's avatar Quang Luong
Browse files

Use WifiEntry#shouldShowXLevelIcon() to show X in level icon

Bug: 163627176
Test: make RunSettingsLibRoboTests ROBOTEST_FILTER=WifiEntryPreferenceTest
Change-Id: Icc62c6e1b8a3e13bf8e37eeb358fb8532907a65c
parent 128ad1be
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@ import androidx.preference.PreferenceViewHolder;
import com.android.settingslib.R;
import com.android.settingslib.Utils;
import com.android.wifitrackerlib.WifiEntry;
import com.android.wifitrackerlib.WifiEntry.ConnectedInfo;

/**
 * Preference to display a WifiEntry in a wifi picker.
@@ -138,11 +137,7 @@ public class WifiEntryPreference extends Preference implements WifiEntry.WifiEnt
    public void refresh() {
        setTitle(mWifiEntry.getTitle());
        final int level = mWifiEntry.getLevel();
        final ConnectedInfo connectedInfo = mWifiEntry.getConnectedInfo();
        boolean showX = false;
        if (connectedInfo != null) {
            showX = !connectedInfo.isDefaultNetwork || !connectedInfo.isValidated;
        }
        final boolean showX = mWifiEntry.shouldShowXLevelIcon();
        if (level != mLevel || showX != mShowX) {
            mLevel = level;
            mShowX = showX;
+2 −38
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@ package com.android.settingslib.wifi;

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

import android.content.Context;
@@ -30,7 +29,6 @@ import androidx.preference.PreferenceViewHolder;

import com.android.settingslib.R;
import com.android.wifitrackerlib.WifiEntry;
import com.android.wifitrackerlib.WifiEntry.ConnectedInfo;

import org.junit.Before;
import org.junit.Test;
@@ -179,43 +177,9 @@ public class WifiEntryPreferenceTest {
    }

    @Test
    public void levelChanged_notDefaultWifiRefresh_shouldUpdateLevelIcon() {
    public void levelChanged_showXWifiRefresh_shouldUpdateLevelIcon() {
        final List<Drawable> iconList = new ArrayList<>();
        final ConnectedInfo mockConnectedInfo = mock(ConnectedInfo.class);
        mockConnectedInfo.isDefaultNetwork = false;
        when(mMockWifiEntry.getConnectedInfo()).thenReturn(mockConnectedInfo);
        final WifiEntryPreference pref =
                new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector);

        when(mMockWifiEntry.getLevel()).thenReturn(0);
        pref.refresh();
        iconList.add(pref.getIcon());
        when(mMockWifiEntry.getLevel()).thenReturn(1);
        pref.refresh();
        iconList.add(pref.getIcon());
        when(mMockWifiEntry.getLevel()).thenReturn(2);
        pref.refresh();
        iconList.add(pref.getIcon());
        when(mMockWifiEntry.getLevel()).thenReturn(3);
        pref.refresh();
        iconList.add(pref.getIcon());
        when(mMockWifiEntry.getLevel()).thenReturn(4);
        pref.refresh();
        iconList.add(pref.getIcon());
        when(mMockWifiEntry.getLevel()).thenReturn(-1);
        pref.refresh();
        iconList.add(pref.getIcon());

        assertThat(iconList).containsExactly(mMockShowXDrawable0, mMockShowXDrawable1,
                mMockShowXDrawable2, mMockShowXDrawable3, mMockShowXDrawable4, null);
    }

    @Test
    public void levelChanged_notValidatedWifiRefresh_shouldUpdateLevelIcon() {
        final List<Drawable> iconList = new ArrayList<>();
        final ConnectedInfo mockConnectedInfo = mock(ConnectedInfo.class);
        mockConnectedInfo.isValidated = false;
        when(mMockWifiEntry.getConnectedInfo()).thenReturn(mockConnectedInfo);
        when(mMockWifiEntry.shouldShowXLevelIcon()).thenReturn(true);
        final WifiEntryPreference pref =
                new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector);