Loading packages/SystemUI/res/layout/internet_list_item.xml +2 −2 Original line number Diff line number Diff line Loading @@ -70,7 +70,7 @@ android:id="@+id/wifi_summary" android:textDirection="locale" android:layout_width="wrap_content" android:layout_height="20dp" android:layout_height="wrap_content" android:gravity="start|center_vertical" android:ellipsize="end" android:textColor="?android:attr/textColorSecondary" Loading @@ -85,7 +85,7 @@ android:clickable="false" android:layout_gravity="end|center_vertical"> <ImageView android:id="@+id/wifi_locked_icon" android:id="@+id/wifi_end_icon" android:layout_gravity="end|center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"/> Loading packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetAdapter.java +33 −31 Original line number Diff line number Diff line Loading @@ -16,15 +16,11 @@ package com.android.systemui.qs.tiles.dialog; import static com.android.wifitrackerlib.WifiEntry.SECURITY_NONE; import static com.android.wifitrackerlib.WifiEntry.SECURITY_OWE; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Drawable; import android.text.Html; import android.text.TextUtils; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; Loading @@ -36,6 +32,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.android.internal.annotations.VisibleForTesting; import com.android.settingslib.Utils; import com.android.settingslib.wifi.WifiUtils; import com.android.systemui.R; Loading Loading @@ -114,10 +111,11 @@ public class InternetAdapter extends RecyclerView.Adapter<InternetAdapter.Intern final ImageView mWifiIcon; final TextView mWifiTitleText; final TextView mWifiSummaryText; final ImageView mWifiLockedIcon; final ImageView mWifiEndIcon; final Context mContext; final InternetDialogController mInternetDialogController; @VisibleForTesting protected WifiUtils.InternetIconInjector mWifiIconInjector; InternetViewHolder(View view, InternetDialogController internetDialogController) { Loading @@ -130,28 +128,25 @@ public class InternetAdapter extends RecyclerView.Adapter<InternetAdapter.Intern mWifiIcon = view.requireViewById(R.id.wifi_icon); mWifiTitleText = view.requireViewById(R.id.wifi_title); mWifiSummaryText = view.requireViewById(R.id.wifi_summary); mWifiLockedIcon = view.requireViewById(R.id.wifi_locked_icon); mWifiEndIcon = view.requireViewById(R.id.wifi_end_icon); mWifiIconInjector = mInternetDialogController.getWifiIconInjector(); } void onBind(WifiEntry wifiEntry) { int security = wifiEntry.getSecurity(); try { void onBind(@NonNull WifiEntry wifiEntry) { mWifiIcon.setImageDrawable(getWifiDrawable(wifiEntry)); if (isOpenNetwork(security)) { mWifiLockedIcon.setVisibility(View.GONE); } else { mWifiLockedIcon.setVisibility(View.VISIBLE); mWifiLockedIcon.setImageDrawable( mContext.getDrawable(R.drawable.ic_friction_lock_closed)); } } catch (Throwable throwable) { throwable.printStackTrace(); } setWifiNetworkLayout(wifiEntry.getTitle(), Html.fromHtml(wifiEntry.getSummary(false), Html.FROM_HTML_MODE_LEGACY)); final int connectedState = wifiEntry.getConnectedState(); final int security = wifiEntry.getSecurity(); updateEndIcon(connectedState, security); if (connectedState != WifiEntry.CONNECTED_STATE_DISCONNECTED) { mWifiListLayout.setOnClickListener( v -> mInternetDialogController.launchWifiNetworkDetailsSetting( wifiEntry.getKey())); return; } mWifiListLayout.setOnClickListener(v -> { if (wifiEntry.shouldEditBeforeConnect()) { final Intent intent = new Intent(ACTION_WIFI_DIALOG); Loading @@ -165,25 +160,17 @@ public class InternetAdapter extends RecyclerView.Adapter<InternetAdapter.Intern }); } /** Return true if this is an open network AccessPoint. */ boolean isOpenNetwork(int security) { return security == SECURITY_NONE || security == SECURITY_OWE; } void setWifiNetworkLayout(CharSequence title, CharSequence summary) { mWifiNetworkLayout.setVisibility(View.VISIBLE); mWifiTitleText.setText(title); if (TextUtils.isEmpty(summary)) { mWifiSummaryText.setVisibility(View.GONE); return; } else { mWifiSummaryText.setVisibility(View.VISIBLE); } mWifiSummaryText.setVisibility(View.VISIBLE); mWifiSummaryText.setText(summary); } Drawable getWifiDrawable(@NonNull WifiEntry wifiEntry) throws Throwable { Drawable getWifiDrawable(@NonNull WifiEntry wifiEntry) { if (wifiEntry.getLevel() == WifiEntry.WIFI_LEVEL_UNREACHABLE) { return null; } Loading @@ -198,5 +185,20 @@ public class InternetAdapter extends RecyclerView.Adapter<InternetAdapter.Intern shared.set(drawable); return shared.get(); } void updateEndIcon(int connectedState, int security) { Drawable drawable = null; if (connectedState != WifiEntry.CONNECTED_STATE_DISCONNECTED) { drawable = mContext.getDrawable(R.drawable.ic_settings_24dp); } else if (security != WifiEntry.SECURITY_NONE && security != WifiEntry.SECURITY_OWE) { drawable = mContext.getDrawable(R.drawable.ic_friction_lock_closed); } if (drawable == null) { mWifiEndIcon.setVisibility(View.GONE); return; } mWifiEndIcon.setVisibility(View.VISIBLE); mWifiEndIcon.setImageDrawable(drawable); } } } packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java +4 −1 Original line number Diff line number Diff line Loading @@ -423,7 +423,10 @@ public class InternetDialog extends SystemUIDialog implements } void onClickConnectedWifi() { mInternetDialogController.launchWifiNetworkDetailsSetting(); if (mConnectedWifiEntry == null) { return; } mInternetDialogController.launchWifiNetworkDetailsSetting(mConnectedWifiEntry.getKey()); } void onClickSeeMoreButton() { Loading packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java +3 −4 Original line number Diff line number Diff line Loading @@ -248,8 +248,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, return new Intent(ACTION_NETWORK_PROVIDER_SETTINGS).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } protected Intent getWifiDetailsSettingsIntent() { String key = mConnectedEntry == null ? null : mConnectedEntry.getKey(); protected Intent getWifiDetailsSettingsIntent(String key) { if (TextUtils.isEmpty(key)) { if (DEBUG) { Log.d(TAG, "connected entry's key is empty"); Loading Loading @@ -558,8 +557,8 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, mActivityStarter.postStartActivityDismissingKeyguard(getSettingsIntent(), 0); } void launchWifiNetworkDetailsSetting() { Intent intent = getWifiDetailsSettingsIntent(); void launchWifiNetworkDetailsSetting(String key) { Intent intent = getWifiDetailsSettingsIntent(key); if (intent != null) { mCallback.dismissDialog(); mActivityStarter.postStartActivityDismissingKeyguard(intent, 0); Loading packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetAdapterTest.java +44 −4 Original line number Diff line number Diff line Loading @@ -10,21 +10,26 @@ import static org.mockito.Mockito.reset; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.graphics.drawable.Drawable; import android.testing.AndroidTestingRunner; import android.testing.TestableResources; import android.view.View; import android.widget.LinearLayout; import androidx.test.filters.SmallTest; import com.android.settingslib.wifi.WifiUtils; import com.android.systemui.R; import com.android.systemui.SysuiTestCase; import com.android.wifitrackerlib.WifiEntry; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; import java.util.Arrays; import java.util.List; Loading @@ -35,6 +40,11 @@ public class InternetAdapterTest extends SysuiTestCase { private static final String WIFI_TITLE = "Wi-Fi Title"; private static final String WIFI_SUMMARY = "Wi-Fi Summary"; private static final int GEAR_ICON_RES_ID = R.drawable.ic_settings_24dp; private static final int LOCK_ICON_RES_ID = R.drawable.ic_friction_lock_closed; @Rule public MockitoRule mRule = MockitoJUnit.rule(); @Mock private WifiEntry mInternetWifiEntry; Loading @@ -46,13 +56,18 @@ public class InternetAdapterTest extends SysuiTestCase { private InternetDialogController mInternetDialogController; @Mock private WifiUtils.InternetIconInjector mWifiIconInjector; @Mock private Drawable mGearIcon; @Mock private Drawable mLockIcon; private TestableResources mTestableResources; private InternetAdapter mInternetAdapter; private InternetAdapter.InternetViewHolder mViewHolder; @Before public void setUp() { MockitoAnnotations.initMocks(this); mTestableResources = mContext.getOrCreateTestableResources(); when(mInternetWifiEntry.getTitle()).thenReturn(WIFI_TITLE); when(mInternetWifiEntry.getSummary(false)).thenReturn(WIFI_SUMMARY); when(mInternetWifiEntry.isDefaultNetwork()).thenReturn(true); Loading Loading @@ -83,7 +98,7 @@ public class InternetAdapterTest extends SysuiTestCase { assertThat(mViewHolder.mWifiTitleText.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mWifiSummaryText.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mWifiIcon.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mWifiLockedIcon.getVisibility()).isEqualTo(View.GONE); assertThat(mViewHolder.mWifiEndIcon.getVisibility()).isEqualTo(View.GONE); } @Test Loading @@ -94,7 +109,7 @@ public class InternetAdapterTest extends SysuiTestCase { assertThat(mViewHolder.mWifiTitleText.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mWifiSummaryText.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mWifiIcon.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mWifiLockedIcon.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mWifiEndIcon.getVisibility()).isEqualTo(View.VISIBLE); } @Test Loading Loading @@ -124,4 +139,29 @@ public class InternetAdapterTest extends SysuiTestCase { verify(mWifiIconInjector).getIcon(eq(true) /* noInternet */, anyInt()); } @Test public void viewHolderUpdateEndIcon_wifiConnected_updateGearIcon() { mTestableResources.addOverride(GEAR_ICON_RES_ID, mGearIcon); mViewHolder.updateEndIcon(WifiEntry.CONNECTED_STATE_CONNECTED, WifiEntry.SECURITY_PSK); assertThat(mViewHolder.mWifiEndIcon.getDrawable()).isEqualTo(mGearIcon); } @Test public void viewHolderUpdateEndIcon_wifiDisconnectedAndSecurityPsk_updateLockIcon() { mTestableResources.addOverride(LOCK_ICON_RES_ID, mLockIcon); mViewHolder.updateEndIcon(WifiEntry.CONNECTED_STATE_DISCONNECTED, WifiEntry.SECURITY_PSK); assertThat(mViewHolder.mWifiEndIcon.getDrawable()).isEqualTo(mLockIcon); } @Test public void viewHolderUpdateEndIcon_wifiDisconnectedAndSecurityNone_hideIcon() { mViewHolder.updateEndIcon(WifiEntry.CONNECTED_STATE_DISCONNECTED, WifiEntry.SECURITY_NONE); assertThat(mViewHolder.mWifiEndIcon.getVisibility()).isEqualTo(View.GONE); } } Loading
packages/SystemUI/res/layout/internet_list_item.xml +2 −2 Original line number Diff line number Diff line Loading @@ -70,7 +70,7 @@ android:id="@+id/wifi_summary" android:textDirection="locale" android:layout_width="wrap_content" android:layout_height="20dp" android:layout_height="wrap_content" android:gravity="start|center_vertical" android:ellipsize="end" android:textColor="?android:attr/textColorSecondary" Loading @@ -85,7 +85,7 @@ android:clickable="false" android:layout_gravity="end|center_vertical"> <ImageView android:id="@+id/wifi_locked_icon" android:id="@+id/wifi_end_icon" android:layout_gravity="end|center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"/> Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetAdapter.java +33 −31 Original line number Diff line number Diff line Loading @@ -16,15 +16,11 @@ package com.android.systemui.qs.tiles.dialog; import static com.android.wifitrackerlib.WifiEntry.SECURITY_NONE; import static com.android.wifitrackerlib.WifiEntry.SECURITY_OWE; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Drawable; import android.text.Html; import android.text.TextUtils; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; Loading @@ -36,6 +32,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.android.internal.annotations.VisibleForTesting; import com.android.settingslib.Utils; import com.android.settingslib.wifi.WifiUtils; import com.android.systemui.R; Loading Loading @@ -114,10 +111,11 @@ public class InternetAdapter extends RecyclerView.Adapter<InternetAdapter.Intern final ImageView mWifiIcon; final TextView mWifiTitleText; final TextView mWifiSummaryText; final ImageView mWifiLockedIcon; final ImageView mWifiEndIcon; final Context mContext; final InternetDialogController mInternetDialogController; @VisibleForTesting protected WifiUtils.InternetIconInjector mWifiIconInjector; InternetViewHolder(View view, InternetDialogController internetDialogController) { Loading @@ -130,28 +128,25 @@ public class InternetAdapter extends RecyclerView.Adapter<InternetAdapter.Intern mWifiIcon = view.requireViewById(R.id.wifi_icon); mWifiTitleText = view.requireViewById(R.id.wifi_title); mWifiSummaryText = view.requireViewById(R.id.wifi_summary); mWifiLockedIcon = view.requireViewById(R.id.wifi_locked_icon); mWifiEndIcon = view.requireViewById(R.id.wifi_end_icon); mWifiIconInjector = mInternetDialogController.getWifiIconInjector(); } void onBind(WifiEntry wifiEntry) { int security = wifiEntry.getSecurity(); try { void onBind(@NonNull WifiEntry wifiEntry) { mWifiIcon.setImageDrawable(getWifiDrawable(wifiEntry)); if (isOpenNetwork(security)) { mWifiLockedIcon.setVisibility(View.GONE); } else { mWifiLockedIcon.setVisibility(View.VISIBLE); mWifiLockedIcon.setImageDrawable( mContext.getDrawable(R.drawable.ic_friction_lock_closed)); } } catch (Throwable throwable) { throwable.printStackTrace(); } setWifiNetworkLayout(wifiEntry.getTitle(), Html.fromHtml(wifiEntry.getSummary(false), Html.FROM_HTML_MODE_LEGACY)); final int connectedState = wifiEntry.getConnectedState(); final int security = wifiEntry.getSecurity(); updateEndIcon(connectedState, security); if (connectedState != WifiEntry.CONNECTED_STATE_DISCONNECTED) { mWifiListLayout.setOnClickListener( v -> mInternetDialogController.launchWifiNetworkDetailsSetting( wifiEntry.getKey())); return; } mWifiListLayout.setOnClickListener(v -> { if (wifiEntry.shouldEditBeforeConnect()) { final Intent intent = new Intent(ACTION_WIFI_DIALOG); Loading @@ -165,25 +160,17 @@ public class InternetAdapter extends RecyclerView.Adapter<InternetAdapter.Intern }); } /** Return true if this is an open network AccessPoint. */ boolean isOpenNetwork(int security) { return security == SECURITY_NONE || security == SECURITY_OWE; } void setWifiNetworkLayout(CharSequence title, CharSequence summary) { mWifiNetworkLayout.setVisibility(View.VISIBLE); mWifiTitleText.setText(title); if (TextUtils.isEmpty(summary)) { mWifiSummaryText.setVisibility(View.GONE); return; } else { mWifiSummaryText.setVisibility(View.VISIBLE); } mWifiSummaryText.setVisibility(View.VISIBLE); mWifiSummaryText.setText(summary); } Drawable getWifiDrawable(@NonNull WifiEntry wifiEntry) throws Throwable { Drawable getWifiDrawable(@NonNull WifiEntry wifiEntry) { if (wifiEntry.getLevel() == WifiEntry.WIFI_LEVEL_UNREACHABLE) { return null; } Loading @@ -198,5 +185,20 @@ public class InternetAdapter extends RecyclerView.Adapter<InternetAdapter.Intern shared.set(drawable); return shared.get(); } void updateEndIcon(int connectedState, int security) { Drawable drawable = null; if (connectedState != WifiEntry.CONNECTED_STATE_DISCONNECTED) { drawable = mContext.getDrawable(R.drawable.ic_settings_24dp); } else if (security != WifiEntry.SECURITY_NONE && security != WifiEntry.SECURITY_OWE) { drawable = mContext.getDrawable(R.drawable.ic_friction_lock_closed); } if (drawable == null) { mWifiEndIcon.setVisibility(View.GONE); return; } mWifiEndIcon.setVisibility(View.VISIBLE); mWifiEndIcon.setImageDrawable(drawable); } } }
packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java +4 −1 Original line number Diff line number Diff line Loading @@ -423,7 +423,10 @@ public class InternetDialog extends SystemUIDialog implements } void onClickConnectedWifi() { mInternetDialogController.launchWifiNetworkDetailsSetting(); if (mConnectedWifiEntry == null) { return; } mInternetDialogController.launchWifiNetworkDetailsSetting(mConnectedWifiEntry.getKey()); } void onClickSeeMoreButton() { Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java +3 −4 Original line number Diff line number Diff line Loading @@ -248,8 +248,7 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, return new Intent(ACTION_NETWORK_PROVIDER_SETTINGS).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } protected Intent getWifiDetailsSettingsIntent() { String key = mConnectedEntry == null ? null : mConnectedEntry.getKey(); protected Intent getWifiDetailsSettingsIntent(String key) { if (TextUtils.isEmpty(key)) { if (DEBUG) { Log.d(TAG, "connected entry's key is empty"); Loading Loading @@ -558,8 +557,8 @@ public class InternetDialogController implements WifiEntry.DisconnectCallback, mActivityStarter.postStartActivityDismissingKeyguard(getSettingsIntent(), 0); } void launchWifiNetworkDetailsSetting() { Intent intent = getWifiDetailsSettingsIntent(); void launchWifiNetworkDetailsSetting(String key) { Intent intent = getWifiDetailsSettingsIntent(key); if (intent != null) { mCallback.dismissDialog(); mActivityStarter.postStartActivityDismissingKeyguard(intent, 0); Loading
packages/SystemUI/tests/src/com/android/systemui/qs/tiles/dialog/InternetAdapterTest.java +44 −4 Original line number Diff line number Diff line Loading @@ -10,21 +10,26 @@ import static org.mockito.Mockito.reset; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.graphics.drawable.Drawable; import android.testing.AndroidTestingRunner; import android.testing.TestableResources; import android.view.View; import android.widget.LinearLayout; import androidx.test.filters.SmallTest; import com.android.settingslib.wifi.WifiUtils; import com.android.systemui.R; import com.android.systemui.SysuiTestCase; import com.android.wifitrackerlib.WifiEntry; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; import java.util.Arrays; import java.util.List; Loading @@ -35,6 +40,11 @@ public class InternetAdapterTest extends SysuiTestCase { private static final String WIFI_TITLE = "Wi-Fi Title"; private static final String WIFI_SUMMARY = "Wi-Fi Summary"; private static final int GEAR_ICON_RES_ID = R.drawable.ic_settings_24dp; private static final int LOCK_ICON_RES_ID = R.drawable.ic_friction_lock_closed; @Rule public MockitoRule mRule = MockitoJUnit.rule(); @Mock private WifiEntry mInternetWifiEntry; Loading @@ -46,13 +56,18 @@ public class InternetAdapterTest extends SysuiTestCase { private InternetDialogController mInternetDialogController; @Mock private WifiUtils.InternetIconInjector mWifiIconInjector; @Mock private Drawable mGearIcon; @Mock private Drawable mLockIcon; private TestableResources mTestableResources; private InternetAdapter mInternetAdapter; private InternetAdapter.InternetViewHolder mViewHolder; @Before public void setUp() { MockitoAnnotations.initMocks(this); mTestableResources = mContext.getOrCreateTestableResources(); when(mInternetWifiEntry.getTitle()).thenReturn(WIFI_TITLE); when(mInternetWifiEntry.getSummary(false)).thenReturn(WIFI_SUMMARY); when(mInternetWifiEntry.isDefaultNetwork()).thenReturn(true); Loading Loading @@ -83,7 +98,7 @@ public class InternetAdapterTest extends SysuiTestCase { assertThat(mViewHolder.mWifiTitleText.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mWifiSummaryText.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mWifiIcon.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mWifiLockedIcon.getVisibility()).isEqualTo(View.GONE); assertThat(mViewHolder.mWifiEndIcon.getVisibility()).isEqualTo(View.GONE); } @Test Loading @@ -94,7 +109,7 @@ public class InternetAdapterTest extends SysuiTestCase { assertThat(mViewHolder.mWifiTitleText.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mWifiSummaryText.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mWifiIcon.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mWifiLockedIcon.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mViewHolder.mWifiEndIcon.getVisibility()).isEqualTo(View.VISIBLE); } @Test Loading Loading @@ -124,4 +139,29 @@ public class InternetAdapterTest extends SysuiTestCase { verify(mWifiIconInjector).getIcon(eq(true) /* noInternet */, anyInt()); } @Test public void viewHolderUpdateEndIcon_wifiConnected_updateGearIcon() { mTestableResources.addOverride(GEAR_ICON_RES_ID, mGearIcon); mViewHolder.updateEndIcon(WifiEntry.CONNECTED_STATE_CONNECTED, WifiEntry.SECURITY_PSK); assertThat(mViewHolder.mWifiEndIcon.getDrawable()).isEqualTo(mGearIcon); } @Test public void viewHolderUpdateEndIcon_wifiDisconnectedAndSecurityPsk_updateLockIcon() { mTestableResources.addOverride(LOCK_ICON_RES_ID, mLockIcon); mViewHolder.updateEndIcon(WifiEntry.CONNECTED_STATE_DISCONNECTED, WifiEntry.SECURITY_PSK); assertThat(mViewHolder.mWifiEndIcon.getDrawable()).isEqualTo(mLockIcon); } @Test public void viewHolderUpdateEndIcon_wifiDisconnectedAndSecurityNone_hideIcon() { mViewHolder.updateEndIcon(WifiEntry.CONNECTED_STATE_DISCONNECTED, WifiEntry.SECURITY_NONE); assertThat(mViewHolder.mWifiEndIcon.getVisibility()).isEqualTo(View.GONE); } }