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

Commit a2da145f authored by Quang Luong's avatar Quang Luong Committed by Android (Google) Code Review
Browse files

Merge "Use WifiEntry#shouldShowXLevelIcon() to show X in level icon" into rvc-qpr-dev

parents 76cf5841 c3633c0d
Loading
Loading
Loading
Loading
+1 −6
Original line number Original line Diff line number Diff line
@@ -35,7 +35,6 @@ import androidx.preference.PreferenceViewHolder;
import com.android.settingslib.R;
import com.android.settingslib.R;
import com.android.settingslib.Utils;
import com.android.settingslib.Utils;
import com.android.wifitrackerlib.WifiEntry;
import com.android.wifitrackerlib.WifiEntry;
import com.android.wifitrackerlib.WifiEntry.ConnectedInfo;


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


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


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


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


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


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


    @Test
    @Test
    public void levelChanged_notDefaultWifiRefresh_shouldUpdateLevelIcon() {
    public void levelChanged_showXWifiRefresh_shouldUpdateLevelIcon() {
        final List<Drawable> iconList = new ArrayList<>();
        final List<Drawable> iconList = new ArrayList<>();
        final ConnectedInfo mockConnectedInfo = mock(ConnectedInfo.class);
        when(mMockWifiEntry.shouldShowXLevelIcon()).thenReturn(true);
        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);
        final WifiEntryPreference pref =
        final WifiEntryPreference pref =
                new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector);
                new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector);