Loading src/com/android/settings/wifi/NetworkRequestDialogFragment.java +11 −4 Original line number Original line Diff line number Diff line Loading @@ -34,16 +34,19 @@ import android.widget.BaseAdapter; import android.widget.Button; import android.widget.Button; import android.widget.ProgressBar; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.NonNull; import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog; import androidx.preference.internal.PreferenceImageView; import androidx.preference.internal.PreferenceImageView; import com.android.settings.R; import com.android.settings.R; import com.android.settingslib.Utils; import com.android.settingslib.Utils; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.WifiTracker; import com.android.settingslib.wifi.WifiTracker; import com.android.settingslib.wifi.WifiTrackerFactory; import com.android.settingslib.wifi.WifiTrackerFactory; import java.util.ArrayList; import java.util.ArrayList; import java.util.List; import java.util.List; Loading @@ -63,7 +66,8 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme private boolean mShowLimitedItem = true; private boolean mShowLimitedItem = true; private List<AccessPoint> mAccessPointList; private List<AccessPoint> mAccessPointList; private FilterWifiTracker mFilterWifiTracker; @VisibleForTesting FilterWifiTracker mFilterWifiTracker; private AccessPointAdapter mDialogAdapter; private AccessPointAdapter mDialogAdapter; private NetworkRequestUserSelectionCallback mUserSelectionCallback; private NetworkRequestUserSelectionCallback mUserSelectionCallback; Loading Loading @@ -115,7 +119,7 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme neutralBtn.setVisibility(View.GONE); neutralBtn.setVisibility(View.GONE); neutralBtn.setOnClickListener(v -> { neutralBtn.setOnClickListener(v -> { mShowLimitedItem = false; mShowLimitedItem = false; renewAccessPointList(null /* List<ScanResult> */); renewAccessPointList(null /* scanResults */); notifyAdapterRefresh(); notifyAdapterRefresh(); neutralBtn.setVisibility(View.GONE); neutralBtn.setVisibility(View.GONE); }); }); Loading Loading @@ -323,7 +327,8 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme // Do nothing when selection is failed, let user could try again easily. // Do nothing when selection is failed, let user could try again easily. } } private final class FilterWifiTracker { @VisibleForTesting final class FilterWifiTracker { private final List<String> mAccessPointKeys; private final List<String> mAccessPointKeys; private final WifiTracker mWifiTracker; private final WifiTracker mWifiTracker; Loading Loading @@ -381,7 +386,8 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme return result; return result; } } private WifiTracker.WifiListener mWifiListener = new WifiTracker.WifiListener() { @VisibleForTesting WifiTracker.WifiListener mWifiListener = new WifiTracker.WifiListener() { @Override @Override public void onWifiStateChanged(int state) { public void onWifiStateChanged(int state) { Loading @@ -395,6 +401,7 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme @Override @Override public void onAccessPointsChanged() { public void onAccessPointsChanged() { renewAccessPointList(null /* scanResults */); notifyAdapterRefresh(); notifyAdapterRefresh(); } } }; }; Loading tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogFragmentTest.java +55 −20 Original line number Original line Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.settings.wifi; package com.android.settings.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.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.times; Loading @@ -33,14 +34,16 @@ import android.os.Bundle; import android.view.View; import android.view.View; import android.widget.Button; import android.widget.Button; import android.widget.TextView; import android.widget.TextView; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.FragmentActivity; import com.android.settings.R; import com.android.settings.R; import com.android.settings.testutils.shadow.ShadowAlertDialogCompat; import com.android.settings.testutils.shadow.ShadowAlertDialogCompat; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.WifiTracker; import com.android.settingslib.wifi.WifiTracker; import com.android.settingslib.wifi.WifiTrackerFactory; import com.android.settingslib.wifi.WifiTrackerFactory; import java.util.ArrayList; import java.util.List; import org.junit.Before; import org.junit.Before; import org.junit.Test; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runner.RunWith; Loading @@ -49,6 +52,9 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.annotation.Config; import java.util.ArrayList; import java.util.List; @RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowAlertDialogCompat.class) @Config(shadows = ShadowAlertDialogCompat.class) public class NetworkRequestDialogFragmentTest { public class NetworkRequestDialogFragmentTest { Loading @@ -57,14 +63,14 @@ public class NetworkRequestDialogFragmentTest { private static final String KEY_SECURITY = "key_security"; private static final String KEY_SECURITY = "key_security"; private static final String TEST_APP_NAME = "TestAppName"; private static final String TEST_APP_NAME = "TestAppName"; private NetworkRequestDialogActivity mActivity; private FragmentActivity mActivity; private NetworkRequestDialogFragment networkRequestDialogFragment; private NetworkRequestDialogFragment networkRequestDialogFragment; private Context mContext; private Context mContext; private WifiTracker mWifiTracker; private WifiTracker mWifiTracker; @Before @Before public void setUp() { public void setUp() { mActivity = Robolectric.buildActivity(NetworkRequestDialogActivity.class, mActivity = Robolectric.buildActivity(FragmentActivity.class, new Intent().putExtra(NetworkRequestDialogFragment.EXTRA_APP_NAME, new Intent().putExtra(NetworkRequestDialogFragment.EXTRA_APP_NAME, TEST_APP_NAME)).setup().get(); TEST_APP_NAME)).setup().get(); networkRequestDialogFragment = spy(NetworkRequestDialogFragment.newInstance()); networkRequestDialogFragment = spy(NetworkRequestDialogFragment.newInstance()); Loading Loading @@ -108,7 +114,6 @@ public class NetworkRequestDialogFragmentTest { @Test @Test public void onUserSelectionCallbackRegistration_onClick_shouldCallSelect() { public void onUserSelectionCallbackRegistration_onClick_shouldCallSelect() { // Assert. final int indexClickItem = 3; final int indexClickItem = 3; List<AccessPoint> accessPointList = createAccessPointList(); List<AccessPoint> accessPointList = createAccessPointList(); AccessPoint clickedAccessPoint = accessPointList.get(indexClickItem); AccessPoint clickedAccessPoint = accessPointList.get(indexClickItem); Loading @@ -129,7 +134,6 @@ public class NetworkRequestDialogFragmentTest { @Test @Test public void onMatch_shouldUpdatedList() { public void onMatch_shouldUpdatedList() { // Assert. when(networkRequestDialogFragment.getContext()).thenReturn(mContext); when(networkRequestDialogFragment.getContext()).thenReturn(mContext); Context applicationContext = spy(RuntimeEnvironment.application.getApplicationContext()); Context applicationContext = spy(RuntimeEnvironment.application.getApplicationContext()); when(mContext.getApplicationContext()).thenReturn(applicationContext); when(mContext.getApplicationContext()).thenReturn(applicationContext); Loading @@ -140,15 +144,15 @@ public class NetworkRequestDialogFragmentTest { List<AccessPoint> accessPointList = createAccessPointList(); List<AccessPoint> accessPointList = createAccessPointList(); when(mWifiTracker.getAccessPoints()).thenReturn(accessPointList); when(mWifiTracker.getAccessPoints()).thenReturn(accessPointList); final String SSID_AP1 = "Test AP 1"; final String ssidAp1 = "Test AP 1"; final String SSID_AP2 = "Test AP 2"; final String ssidAp2 = "Test AP 2"; List<ScanResult> scanResults = new ArrayList<>(); List<ScanResult> scanResults = new ArrayList<>(); ScanResult scanResult = new ScanResult(); ScanResult scanResult = new ScanResult(); scanResult.SSID = SSID_AP1; scanResult.SSID = ssidAp1; scanResult.capabilities = "WEP"; scanResult.capabilities = "WEP"; scanResults.add(scanResult); scanResults.add(scanResult); scanResult = new ScanResult(); scanResult = new ScanResult(); scanResult.SSID = SSID_AP2; scanResult.SSID = ssidAp2; scanResult.capabilities = "WEP"; scanResult.capabilities = "WEP"; scanResults.add(scanResult); scanResults.add(scanResult); Loading @@ -159,8 +163,43 @@ public class NetworkRequestDialogFragmentTest { List<AccessPoint> returnList = networkRequestDialogFragment.getAccessPointList(); List<AccessPoint> returnList = networkRequestDialogFragment.getAccessPointList(); assertThat(returnList).isNotEmpty(); assertThat(returnList).isNotEmpty(); assertThat(returnList.size()).isEqualTo(2); assertThat(returnList.size()).isEqualTo(2); assertThat(returnList.get(0).getSsid()).isEqualTo(SSID_AP1); assertThat(returnList.get(0).getSsid()).isEqualTo(ssidAp1); assertThat(returnList.get(1).getSsid()).isEqualTo(SSID_AP2); assertThat(returnList.get(1).getSsid()).isEqualTo(ssidAp2); } @Test public void onAccessPointsChanged_shouldUpdatedList() { when(networkRequestDialogFragment.getContext()).thenReturn(mContext); Context applicationContext = spy(RuntimeEnvironment.application.getApplicationContext()); when(mContext.getApplicationContext()).thenReturn(applicationContext); WifiManager wifiManager = mock(WifiManager.class); when(applicationContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(wifiManager); networkRequestDialogFragment.onResume(); List<AccessPoint> accessPointList = new ArrayList<>(); when(mWifiTracker.getAccessPoints()).thenReturn(accessPointList); final String ssidAp1 = "Test AP 1"; List<ScanResult> scanResults = new ArrayList<>(); ScanResult scanResult = new ScanResult(); scanResult.SSID = ssidAp1; scanResult.capabilities = "WEP"; scanResults.add(scanResult); // Act. networkRequestDialogFragment.onMatch(scanResults); accessPointList = createAccessPointList(); when(mWifiTracker.getAccessPoints()).thenReturn(accessPointList); // Act. networkRequestDialogFragment.mFilterWifiTracker.mWifiListener.onAccessPointsChanged(); // Check. List<AccessPoint> returnList = networkRequestDialogFragment.getAccessPointList(); assertThat(returnList).isNotEmpty(); assertThat(returnList.size()).isEqualTo(1); assertThat(returnList.get(0).getSsid()).isEqualTo(ssidAp1); } } private List<AccessPoint> createAccessPointList() { private List<AccessPoint> createAccessPointList() { Loading Loading @@ -208,16 +247,14 @@ public class NetworkRequestDialogFragmentTest { public void onMatchManyResult_showNeutralButton() { public void onMatchManyResult_showNeutralButton() { networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null); networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null); final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); List<AccessPoint> accessPointList = createAccessPointList(); List<AccessPoint> accessPointList = createAccessPointList(); when(mWifiTracker.getAccessPoints()).thenReturn(accessPointList); when(mWifiTracker.getAccessPoints()).thenReturn(accessPointList); final String SSID_AP = "Test AP "; final String ssidAp = "Test AP "; final List<ScanResult> scanResults = new ArrayList<>(); final List<ScanResult> scanResults = new ArrayList<>(); for (int i = 0; i < 7 ; i ++) { for (int i = 0; i < 7 ; i ++) { ScanResult scanResult = new ScanResult(); ScanResult scanResult = new ScanResult(); scanResult.SSID = SSID_AP + i; scanResult.SSID = ssidAp + i; scanResult.capabilities = "WEP"; scanResult.capabilities = "WEP"; scanResults.add(scanResult); scanResults.add(scanResult); } } Loading @@ -230,15 +267,14 @@ public class NetworkRequestDialogFragmentTest { @Test @Test public void clickNeutralButton_hideNeutralButton() { public void clickNeutralButton_hideNeutralButton() { // Assert networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null); networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null); final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); final String SSID_AP = "Test AP "; final String ssidAp = "Test AP "; final List<ScanResult> scanResults = new ArrayList<>(); final List<ScanResult> scanResults = new ArrayList<>(); for (int i = 0; i < 6 ; i ++) { for (int i = 0; i < 6 ; i ++) { ScanResult scanResult = new ScanResult(); ScanResult scanResult = new ScanResult(); scanResult.SSID = SSID_AP + i; scanResult.SSID = ssidAp + i; scanResult.capabilities = "WEP"; scanResult.capabilities = "WEP"; scanResults.add(scanResult); scanResults.add(scanResult); } } Loading @@ -254,7 +290,6 @@ public class NetworkRequestDialogFragmentTest { @Test @Test public void cancelDialog_callsReject() { public void cancelDialog_callsReject() { // Assert networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null); networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null); final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); final NetworkRequestUserSelectionCallback selectionCallback = mock( final NetworkRequestUserSelectionCallback selectionCallback = mock( Loading Loading
src/com/android/settings/wifi/NetworkRequestDialogFragment.java +11 −4 Original line number Original line Diff line number Diff line Loading @@ -34,16 +34,19 @@ import android.widget.BaseAdapter; import android.widget.Button; import android.widget.Button; import android.widget.ProgressBar; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.NonNull; import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog; import androidx.preference.internal.PreferenceImageView; import androidx.preference.internal.PreferenceImageView; import com.android.settings.R; import com.android.settings.R; import com.android.settingslib.Utils; import com.android.settingslib.Utils; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.WifiTracker; import com.android.settingslib.wifi.WifiTracker; import com.android.settingslib.wifi.WifiTrackerFactory; import com.android.settingslib.wifi.WifiTrackerFactory; import java.util.ArrayList; import java.util.ArrayList; import java.util.List; import java.util.List; Loading @@ -63,7 +66,8 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme private boolean mShowLimitedItem = true; private boolean mShowLimitedItem = true; private List<AccessPoint> mAccessPointList; private List<AccessPoint> mAccessPointList; private FilterWifiTracker mFilterWifiTracker; @VisibleForTesting FilterWifiTracker mFilterWifiTracker; private AccessPointAdapter mDialogAdapter; private AccessPointAdapter mDialogAdapter; private NetworkRequestUserSelectionCallback mUserSelectionCallback; private NetworkRequestUserSelectionCallback mUserSelectionCallback; Loading Loading @@ -115,7 +119,7 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme neutralBtn.setVisibility(View.GONE); neutralBtn.setVisibility(View.GONE); neutralBtn.setOnClickListener(v -> { neutralBtn.setOnClickListener(v -> { mShowLimitedItem = false; mShowLimitedItem = false; renewAccessPointList(null /* List<ScanResult> */); renewAccessPointList(null /* scanResults */); notifyAdapterRefresh(); notifyAdapterRefresh(); neutralBtn.setVisibility(View.GONE); neutralBtn.setVisibility(View.GONE); }); }); Loading Loading @@ -323,7 +327,8 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme // Do nothing when selection is failed, let user could try again easily. // Do nothing when selection is failed, let user could try again easily. } } private final class FilterWifiTracker { @VisibleForTesting final class FilterWifiTracker { private final List<String> mAccessPointKeys; private final List<String> mAccessPointKeys; private final WifiTracker mWifiTracker; private final WifiTracker mWifiTracker; Loading Loading @@ -381,7 +386,8 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme return result; return result; } } private WifiTracker.WifiListener mWifiListener = new WifiTracker.WifiListener() { @VisibleForTesting WifiTracker.WifiListener mWifiListener = new WifiTracker.WifiListener() { @Override @Override public void onWifiStateChanged(int state) { public void onWifiStateChanged(int state) { Loading @@ -395,6 +401,7 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme @Override @Override public void onAccessPointsChanged() { public void onAccessPointsChanged() { renewAccessPointList(null /* scanResults */); notifyAdapterRefresh(); notifyAdapterRefresh(); } } }; }; Loading
tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogFragmentTest.java +55 −20 Original line number Original line Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.settings.wifi; package com.android.settings.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.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.times; Loading @@ -33,14 +34,16 @@ import android.os.Bundle; import android.view.View; import android.view.View; import android.widget.Button; import android.widget.Button; import android.widget.TextView; import android.widget.TextView; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.FragmentActivity; import com.android.settings.R; import com.android.settings.R; import com.android.settings.testutils.shadow.ShadowAlertDialogCompat; import com.android.settings.testutils.shadow.ShadowAlertDialogCompat; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.WifiTracker; import com.android.settingslib.wifi.WifiTracker; import com.android.settingslib.wifi.WifiTrackerFactory; import com.android.settingslib.wifi.WifiTrackerFactory; import java.util.ArrayList; import java.util.List; import org.junit.Before; import org.junit.Before; import org.junit.Test; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runner.RunWith; Loading @@ -49,6 +52,9 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.annotation.Config; import java.util.ArrayList; import java.util.List; @RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowAlertDialogCompat.class) @Config(shadows = ShadowAlertDialogCompat.class) public class NetworkRequestDialogFragmentTest { public class NetworkRequestDialogFragmentTest { Loading @@ -57,14 +63,14 @@ public class NetworkRequestDialogFragmentTest { private static final String KEY_SECURITY = "key_security"; private static final String KEY_SECURITY = "key_security"; private static final String TEST_APP_NAME = "TestAppName"; private static final String TEST_APP_NAME = "TestAppName"; private NetworkRequestDialogActivity mActivity; private FragmentActivity mActivity; private NetworkRequestDialogFragment networkRequestDialogFragment; private NetworkRequestDialogFragment networkRequestDialogFragment; private Context mContext; private Context mContext; private WifiTracker mWifiTracker; private WifiTracker mWifiTracker; @Before @Before public void setUp() { public void setUp() { mActivity = Robolectric.buildActivity(NetworkRequestDialogActivity.class, mActivity = Robolectric.buildActivity(FragmentActivity.class, new Intent().putExtra(NetworkRequestDialogFragment.EXTRA_APP_NAME, new Intent().putExtra(NetworkRequestDialogFragment.EXTRA_APP_NAME, TEST_APP_NAME)).setup().get(); TEST_APP_NAME)).setup().get(); networkRequestDialogFragment = spy(NetworkRequestDialogFragment.newInstance()); networkRequestDialogFragment = spy(NetworkRequestDialogFragment.newInstance()); Loading Loading @@ -108,7 +114,6 @@ public class NetworkRequestDialogFragmentTest { @Test @Test public void onUserSelectionCallbackRegistration_onClick_shouldCallSelect() { public void onUserSelectionCallbackRegistration_onClick_shouldCallSelect() { // Assert. final int indexClickItem = 3; final int indexClickItem = 3; List<AccessPoint> accessPointList = createAccessPointList(); List<AccessPoint> accessPointList = createAccessPointList(); AccessPoint clickedAccessPoint = accessPointList.get(indexClickItem); AccessPoint clickedAccessPoint = accessPointList.get(indexClickItem); Loading @@ -129,7 +134,6 @@ public class NetworkRequestDialogFragmentTest { @Test @Test public void onMatch_shouldUpdatedList() { public void onMatch_shouldUpdatedList() { // Assert. when(networkRequestDialogFragment.getContext()).thenReturn(mContext); when(networkRequestDialogFragment.getContext()).thenReturn(mContext); Context applicationContext = spy(RuntimeEnvironment.application.getApplicationContext()); Context applicationContext = spy(RuntimeEnvironment.application.getApplicationContext()); when(mContext.getApplicationContext()).thenReturn(applicationContext); when(mContext.getApplicationContext()).thenReturn(applicationContext); Loading @@ -140,15 +144,15 @@ public class NetworkRequestDialogFragmentTest { List<AccessPoint> accessPointList = createAccessPointList(); List<AccessPoint> accessPointList = createAccessPointList(); when(mWifiTracker.getAccessPoints()).thenReturn(accessPointList); when(mWifiTracker.getAccessPoints()).thenReturn(accessPointList); final String SSID_AP1 = "Test AP 1"; final String ssidAp1 = "Test AP 1"; final String SSID_AP2 = "Test AP 2"; final String ssidAp2 = "Test AP 2"; List<ScanResult> scanResults = new ArrayList<>(); List<ScanResult> scanResults = new ArrayList<>(); ScanResult scanResult = new ScanResult(); ScanResult scanResult = new ScanResult(); scanResult.SSID = SSID_AP1; scanResult.SSID = ssidAp1; scanResult.capabilities = "WEP"; scanResult.capabilities = "WEP"; scanResults.add(scanResult); scanResults.add(scanResult); scanResult = new ScanResult(); scanResult = new ScanResult(); scanResult.SSID = SSID_AP2; scanResult.SSID = ssidAp2; scanResult.capabilities = "WEP"; scanResult.capabilities = "WEP"; scanResults.add(scanResult); scanResults.add(scanResult); Loading @@ -159,8 +163,43 @@ public class NetworkRequestDialogFragmentTest { List<AccessPoint> returnList = networkRequestDialogFragment.getAccessPointList(); List<AccessPoint> returnList = networkRequestDialogFragment.getAccessPointList(); assertThat(returnList).isNotEmpty(); assertThat(returnList).isNotEmpty(); assertThat(returnList.size()).isEqualTo(2); assertThat(returnList.size()).isEqualTo(2); assertThat(returnList.get(0).getSsid()).isEqualTo(SSID_AP1); assertThat(returnList.get(0).getSsid()).isEqualTo(ssidAp1); assertThat(returnList.get(1).getSsid()).isEqualTo(SSID_AP2); assertThat(returnList.get(1).getSsid()).isEqualTo(ssidAp2); } @Test public void onAccessPointsChanged_shouldUpdatedList() { when(networkRequestDialogFragment.getContext()).thenReturn(mContext); Context applicationContext = spy(RuntimeEnvironment.application.getApplicationContext()); when(mContext.getApplicationContext()).thenReturn(applicationContext); WifiManager wifiManager = mock(WifiManager.class); when(applicationContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(wifiManager); networkRequestDialogFragment.onResume(); List<AccessPoint> accessPointList = new ArrayList<>(); when(mWifiTracker.getAccessPoints()).thenReturn(accessPointList); final String ssidAp1 = "Test AP 1"; List<ScanResult> scanResults = new ArrayList<>(); ScanResult scanResult = new ScanResult(); scanResult.SSID = ssidAp1; scanResult.capabilities = "WEP"; scanResults.add(scanResult); // Act. networkRequestDialogFragment.onMatch(scanResults); accessPointList = createAccessPointList(); when(mWifiTracker.getAccessPoints()).thenReturn(accessPointList); // Act. networkRequestDialogFragment.mFilterWifiTracker.mWifiListener.onAccessPointsChanged(); // Check. List<AccessPoint> returnList = networkRequestDialogFragment.getAccessPointList(); assertThat(returnList).isNotEmpty(); assertThat(returnList.size()).isEqualTo(1); assertThat(returnList.get(0).getSsid()).isEqualTo(ssidAp1); } } private List<AccessPoint> createAccessPointList() { private List<AccessPoint> createAccessPointList() { Loading Loading @@ -208,16 +247,14 @@ public class NetworkRequestDialogFragmentTest { public void onMatchManyResult_showNeutralButton() { public void onMatchManyResult_showNeutralButton() { networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null); networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null); final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); List<AccessPoint> accessPointList = createAccessPointList(); List<AccessPoint> accessPointList = createAccessPointList(); when(mWifiTracker.getAccessPoints()).thenReturn(accessPointList); when(mWifiTracker.getAccessPoints()).thenReturn(accessPointList); final String SSID_AP = "Test AP "; final String ssidAp = "Test AP "; final List<ScanResult> scanResults = new ArrayList<>(); final List<ScanResult> scanResults = new ArrayList<>(); for (int i = 0; i < 7 ; i ++) { for (int i = 0; i < 7 ; i ++) { ScanResult scanResult = new ScanResult(); ScanResult scanResult = new ScanResult(); scanResult.SSID = SSID_AP + i; scanResult.SSID = ssidAp + i; scanResult.capabilities = "WEP"; scanResult.capabilities = "WEP"; scanResults.add(scanResult); scanResults.add(scanResult); } } Loading @@ -230,15 +267,14 @@ public class NetworkRequestDialogFragmentTest { @Test @Test public void clickNeutralButton_hideNeutralButton() { public void clickNeutralButton_hideNeutralButton() { // Assert networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null); networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null); final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); final String SSID_AP = "Test AP "; final String ssidAp = "Test AP "; final List<ScanResult> scanResults = new ArrayList<>(); final List<ScanResult> scanResults = new ArrayList<>(); for (int i = 0; i < 6 ; i ++) { for (int i = 0; i < 6 ; i ++) { ScanResult scanResult = new ScanResult(); ScanResult scanResult = new ScanResult(); scanResult.SSID = SSID_AP + i; scanResult.SSID = ssidAp + i; scanResult.capabilities = "WEP"; scanResult.capabilities = "WEP"; scanResults.add(scanResult); scanResults.add(scanResult); } } Loading @@ -254,7 +290,6 @@ public class NetworkRequestDialogFragmentTest { @Test @Test public void cancelDialog_callsReject() { public void cancelDialog_callsReject() { // Assert networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null); networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null); final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); final NetworkRequestUserSelectionCallback selectionCallback = mock( final NetworkRequestUserSelectionCallback selectionCallback = mock( Loading