Loading src/com/android/settings/wifi/NetworkRequestDialogActivity.java +17 −7 Original line number Original line Diff line number Diff line Loading @@ -58,12 +58,17 @@ public class NetworkRequestDialogActivity extends FragmentActivity implements final static String EXTRA_IS_SPECIFIED_SSID = final static String EXTRA_IS_SPECIFIED_SSID = "com.android.settings.wifi.extra.REQUEST_IS_FOR_SINGLE_NETWORK"; "com.android.settings.wifi.extra.REQUEST_IS_FOR_SINGLE_NETWORK"; @VisibleForTesting NetworkRequestDialogBaseFragment mDialogFragment; @VisibleForTesting NetworkRequestDialogBaseFragment mDialogFragment; @VisibleForTesting boolean mIsSpecifiedSsid; @VisibleForTesting boolean mShowingErrorDialog; @VisibleForTesting ProgressDialog mProgressDialog; private NetworkRequestUserSelectionCallback mUserSelectionCallback; private NetworkRequestUserSelectionCallback mUserSelectionCallback; private boolean mIsSpecifiedSsid; private boolean mShowingErrorDialog; private WifiConfiguration mMatchedConfig; private WifiConfiguration mMatchedConfig; @VisibleForTesting ProgressDialog mProgressDialog; @Override @Override protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) { Loading Loading @@ -103,7 +108,8 @@ public class NetworkRequestDialogActivity extends FragmentActivity implements mDialogFragment.show(getSupportFragmentManager(), TAG); mDialogFragment.show(getSupportFragmentManager(), TAG); } } private void dismissDialogs() { @VisibleForTesting void dismissDialogs() { if (mDialogFragment != null) { if (mDialogFragment != null) { mDialogFragment.dismiss(); mDialogFragment.dismiss(); mDialogFragment = null; mDialogFragment = null; Loading Loading @@ -174,8 +180,10 @@ public class NetworkRequestDialogActivity extends FragmentActivity implements return; return; } } if (mDialogFragment != null) { mDialogFragment.onUserSelectionCallbackRegistration(userSelectionCallback); mDialogFragment.onUserSelectionCallbackRegistration(userSelectionCallback); } } } @Override @Override public void onAbort() { public void onAbort() { Loading @@ -201,8 +209,10 @@ public class NetworkRequestDialogActivity extends FragmentActivity implements return; return; } } if (mDialogFragment != null) { mDialogFragment.onMatch(scanResults); mDialogFragment.onMatch(scanResults); } } } @Override @Override public void onUserSelectionConnectSuccess(WifiConfiguration wificonfiguration) { public void onUserSelectionConnectSuccess(WifiConfiguration wificonfiguration) { Loading tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java +36 −28 Original line number Original line Diff line number Diff line Loading @@ -25,7 +25,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.mockito.Mockito.when; import android.content.Context; import android.content.Intent; import android.content.Intent; import android.net.wifi.ScanResult; import android.net.wifi.ScanResult; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiConfiguration; Loading @@ -42,9 +41,12 @@ import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_ import com.android.wifitrackerlib.WifiPickerTracker; import com.android.wifitrackerlib.WifiPickerTracker; import org.junit.Before; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runner.RunWith; import org.mockito.MockitoAnnotations; import org.mockito.Mock; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; import org.robolectric.Robolectric; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment; Loading @@ -61,25 +63,26 @@ public class NetworkRequestDialogActivityTest { private static final String TEST_SSID = "testssid"; private static final String TEST_SSID = "testssid"; private static final String TEST_CAPABILITY = "wep"; private static final String TEST_CAPABILITY = "wep"; NetworkRequestDialogActivity mActivity; @Rule public MockitoRule mRule = MockitoJUnit.rule(); @Mock WifiManager mWifiManager; WifiManager mWifiManager; Context mContext; @Mock NetworkRequestUserSelectionCallback mNetworkRequestUserSelectionCallback; NetworkRequestDialogActivity mActivity; List<ScanResult> mScanResults = new ArrayList<>(); @Before @Before public void setUp() { public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); FakeFeatureFactory fakeFeatureFactory = FakeFeatureFactory.setupForTest(); FakeFeatureFactory fakeFeatureFactory = FakeFeatureFactory.setupForTest(); when(fakeFeatureFactory.wifiTrackerLibProvider.createWifiPickerTracker( when(fakeFeatureFactory.wifiTrackerLibProvider.createWifiPickerTracker( any(), any(), any(), any(), any(), anyLong(), anyLong(), any())) any(), any(), any(), any(), any(), anyLong(), anyLong(), any())) .thenReturn(mock(WifiPickerTracker.class)); .thenReturn(mock(WifiPickerTracker.class)); mScanResults.add(getScanResult(TEST_SSID, TEST_CAPABILITY)); NetworkRequestDialogActivity activity = mActivity = spy(Robolectric.setupActivity(NetworkRequestDialogActivity.class)); Robolectric.setupActivity(NetworkRequestDialogActivity.class); when(mActivity.getSystemService(WifiManager.class)).thenReturn(mWifiManager); mActivity = spy(activity); mWifiManager = mock(WifiManager.class); when(mActivity.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager); } } @Test @Test Loading Loading @@ -169,10 +172,7 @@ public class NetworkRequestDialogActivityTest { public void specifiedSsid_onMatch_shouldShowDialogFragment() { public void specifiedSsid_onMatch_shouldShowDialogFragment() { startSpecifiedActivity(); startSpecifiedActivity(); final List<ScanResult> scanResults = new ArrayList<>(); mActivity.onMatch(mScanResults); scanResults.add(getScanResult(TEST_SSID, TEST_CAPABILITY)); mActivity.onMatch(scanResults); assertThat(mActivity.mProgressDialog).isNull(); assertThat(mActivity.mProgressDialog).isNull(); assertThat(mActivity.mDialogFragment).isNotNull(); assertThat(mActivity.mDialogFragment).isNotNull(); Loading @@ -193,9 +193,7 @@ public class NetworkRequestDialogActivityTest { public void onUserSelectionConnectFailure_shouldShowDialogFragment() { public void onUserSelectionConnectFailure_shouldShowDialogFragment() { WifiConfiguration wifiConfiguration = mock(WifiConfiguration.class); WifiConfiguration wifiConfiguration = mock(WifiConfiguration.class); startSpecifiedActivity(); startSpecifiedActivity(); final List<ScanResult> scanResults = new ArrayList<>(); mActivity.onMatch(mScanResults); scanResults.add(getScanResult(TEST_SSID, TEST_CAPABILITY)); mActivity.onMatch(scanResults); mActivity.onUserSelectionConnectFailure(wifiConfiguration); mActivity.onUserSelectionConnectFailure(wifiConfiguration); Loading @@ -205,13 +203,9 @@ public class NetworkRequestDialogActivityTest { @Test @Test public void onClickConnectButton_shouldShowProgressDialog() { public void onClickConnectButton_shouldShowProgressDialog() { NetworkRequestUserSelectionCallback networkRequestUserSelectionCallback = mock( NetworkRequestUserSelectionCallback.class); startSpecifiedActivity(); startSpecifiedActivity(); final List<ScanResult> scanResults = new ArrayList<>(); mActivity.onMatch(mScanResults); scanResults.add(getScanResult(TEST_SSID, TEST_CAPABILITY)); mActivity.onUserSelectionCallbackRegistration(mNetworkRequestUserSelectionCallback); mActivity.onMatch(scanResults); mActivity.onUserSelectionCallbackRegistration(networkRequestUserSelectionCallback); mActivity.onClickConnectButton(); mActivity.onClickConnectButton(); Loading @@ -222,9 +216,7 @@ public class NetworkRequestDialogActivityTest { @Test @Test public void onCancel_shouldCloseAllUI() { public void onCancel_shouldCloseAllUI() { startSpecifiedActivity(); startSpecifiedActivity(); final List<ScanResult> scanResults = new ArrayList<>(); mActivity.onMatch(mScanResults); scanResults.add(getScanResult(TEST_SSID, TEST_CAPABILITY)); mActivity.onMatch(scanResults); mActivity.onCancel(); mActivity.onCancel(); Loading @@ -240,4 +232,20 @@ public class NetworkRequestDialogActivityTest { verify(mActivity).finish(); verify(mActivity).finish(); } } @Test public void onUserSelectionCallbackRegistration_dismissDialogsAndDialogIsNull_shouldNotCrash() { mActivity.dismissDialogs(); mActivity.onUserSelectionCallbackRegistration(mNetworkRequestUserSelectionCallback); } @Test public void onMatch_dismissDialogsAndDialogIsNull_shouldNotCrash() { mActivity.mIsSpecifiedSsid = false; mActivity.mShowingErrorDialog = false; mActivity.dismissDialogs(); mActivity.onMatch(mScanResults); } } } Loading
src/com/android/settings/wifi/NetworkRequestDialogActivity.java +17 −7 Original line number Original line Diff line number Diff line Loading @@ -58,12 +58,17 @@ public class NetworkRequestDialogActivity extends FragmentActivity implements final static String EXTRA_IS_SPECIFIED_SSID = final static String EXTRA_IS_SPECIFIED_SSID = "com.android.settings.wifi.extra.REQUEST_IS_FOR_SINGLE_NETWORK"; "com.android.settings.wifi.extra.REQUEST_IS_FOR_SINGLE_NETWORK"; @VisibleForTesting NetworkRequestDialogBaseFragment mDialogFragment; @VisibleForTesting NetworkRequestDialogBaseFragment mDialogFragment; @VisibleForTesting boolean mIsSpecifiedSsid; @VisibleForTesting boolean mShowingErrorDialog; @VisibleForTesting ProgressDialog mProgressDialog; private NetworkRequestUserSelectionCallback mUserSelectionCallback; private NetworkRequestUserSelectionCallback mUserSelectionCallback; private boolean mIsSpecifiedSsid; private boolean mShowingErrorDialog; private WifiConfiguration mMatchedConfig; private WifiConfiguration mMatchedConfig; @VisibleForTesting ProgressDialog mProgressDialog; @Override @Override protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) { Loading Loading @@ -103,7 +108,8 @@ public class NetworkRequestDialogActivity extends FragmentActivity implements mDialogFragment.show(getSupportFragmentManager(), TAG); mDialogFragment.show(getSupportFragmentManager(), TAG); } } private void dismissDialogs() { @VisibleForTesting void dismissDialogs() { if (mDialogFragment != null) { if (mDialogFragment != null) { mDialogFragment.dismiss(); mDialogFragment.dismiss(); mDialogFragment = null; mDialogFragment = null; Loading Loading @@ -174,8 +180,10 @@ public class NetworkRequestDialogActivity extends FragmentActivity implements return; return; } } if (mDialogFragment != null) { mDialogFragment.onUserSelectionCallbackRegistration(userSelectionCallback); mDialogFragment.onUserSelectionCallbackRegistration(userSelectionCallback); } } } @Override @Override public void onAbort() { public void onAbort() { Loading @@ -201,8 +209,10 @@ public class NetworkRequestDialogActivity extends FragmentActivity implements return; return; } } if (mDialogFragment != null) { mDialogFragment.onMatch(scanResults); mDialogFragment.onMatch(scanResults); } } } @Override @Override public void onUserSelectionConnectSuccess(WifiConfiguration wificonfiguration) { public void onUserSelectionConnectSuccess(WifiConfiguration wificonfiguration) { Loading
tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java +36 −28 Original line number Original line Diff line number Diff line Loading @@ -25,7 +25,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.mockito.Mockito.when; import android.content.Context; import android.content.Intent; import android.content.Intent; import android.net.wifi.ScanResult; import android.net.wifi.ScanResult; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiConfiguration; Loading @@ -42,9 +41,12 @@ import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_ import com.android.wifitrackerlib.WifiPickerTracker; import com.android.wifitrackerlib.WifiPickerTracker; import org.junit.Before; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runner.RunWith; import org.mockito.MockitoAnnotations; import org.mockito.Mock; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; import org.robolectric.Robolectric; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment; Loading @@ -61,25 +63,26 @@ public class NetworkRequestDialogActivityTest { private static final String TEST_SSID = "testssid"; private static final String TEST_SSID = "testssid"; private static final String TEST_CAPABILITY = "wep"; private static final String TEST_CAPABILITY = "wep"; NetworkRequestDialogActivity mActivity; @Rule public MockitoRule mRule = MockitoJUnit.rule(); @Mock WifiManager mWifiManager; WifiManager mWifiManager; Context mContext; @Mock NetworkRequestUserSelectionCallback mNetworkRequestUserSelectionCallback; NetworkRequestDialogActivity mActivity; List<ScanResult> mScanResults = new ArrayList<>(); @Before @Before public void setUp() { public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); FakeFeatureFactory fakeFeatureFactory = FakeFeatureFactory.setupForTest(); FakeFeatureFactory fakeFeatureFactory = FakeFeatureFactory.setupForTest(); when(fakeFeatureFactory.wifiTrackerLibProvider.createWifiPickerTracker( when(fakeFeatureFactory.wifiTrackerLibProvider.createWifiPickerTracker( any(), any(), any(), any(), any(), anyLong(), anyLong(), any())) any(), any(), any(), any(), any(), anyLong(), anyLong(), any())) .thenReturn(mock(WifiPickerTracker.class)); .thenReturn(mock(WifiPickerTracker.class)); mScanResults.add(getScanResult(TEST_SSID, TEST_CAPABILITY)); NetworkRequestDialogActivity activity = mActivity = spy(Robolectric.setupActivity(NetworkRequestDialogActivity.class)); Robolectric.setupActivity(NetworkRequestDialogActivity.class); when(mActivity.getSystemService(WifiManager.class)).thenReturn(mWifiManager); mActivity = spy(activity); mWifiManager = mock(WifiManager.class); when(mActivity.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager); } } @Test @Test Loading Loading @@ -169,10 +172,7 @@ public class NetworkRequestDialogActivityTest { public void specifiedSsid_onMatch_shouldShowDialogFragment() { public void specifiedSsid_onMatch_shouldShowDialogFragment() { startSpecifiedActivity(); startSpecifiedActivity(); final List<ScanResult> scanResults = new ArrayList<>(); mActivity.onMatch(mScanResults); scanResults.add(getScanResult(TEST_SSID, TEST_CAPABILITY)); mActivity.onMatch(scanResults); assertThat(mActivity.mProgressDialog).isNull(); assertThat(mActivity.mProgressDialog).isNull(); assertThat(mActivity.mDialogFragment).isNotNull(); assertThat(mActivity.mDialogFragment).isNotNull(); Loading @@ -193,9 +193,7 @@ public class NetworkRequestDialogActivityTest { public void onUserSelectionConnectFailure_shouldShowDialogFragment() { public void onUserSelectionConnectFailure_shouldShowDialogFragment() { WifiConfiguration wifiConfiguration = mock(WifiConfiguration.class); WifiConfiguration wifiConfiguration = mock(WifiConfiguration.class); startSpecifiedActivity(); startSpecifiedActivity(); final List<ScanResult> scanResults = new ArrayList<>(); mActivity.onMatch(mScanResults); scanResults.add(getScanResult(TEST_SSID, TEST_CAPABILITY)); mActivity.onMatch(scanResults); mActivity.onUserSelectionConnectFailure(wifiConfiguration); mActivity.onUserSelectionConnectFailure(wifiConfiguration); Loading @@ -205,13 +203,9 @@ public class NetworkRequestDialogActivityTest { @Test @Test public void onClickConnectButton_shouldShowProgressDialog() { public void onClickConnectButton_shouldShowProgressDialog() { NetworkRequestUserSelectionCallback networkRequestUserSelectionCallback = mock( NetworkRequestUserSelectionCallback.class); startSpecifiedActivity(); startSpecifiedActivity(); final List<ScanResult> scanResults = new ArrayList<>(); mActivity.onMatch(mScanResults); scanResults.add(getScanResult(TEST_SSID, TEST_CAPABILITY)); mActivity.onUserSelectionCallbackRegistration(mNetworkRequestUserSelectionCallback); mActivity.onMatch(scanResults); mActivity.onUserSelectionCallbackRegistration(networkRequestUserSelectionCallback); mActivity.onClickConnectButton(); mActivity.onClickConnectButton(); Loading @@ -222,9 +216,7 @@ public class NetworkRequestDialogActivityTest { @Test @Test public void onCancel_shouldCloseAllUI() { public void onCancel_shouldCloseAllUI() { startSpecifiedActivity(); startSpecifiedActivity(); final List<ScanResult> scanResults = new ArrayList<>(); mActivity.onMatch(mScanResults); scanResults.add(getScanResult(TEST_SSID, TEST_CAPABILITY)); mActivity.onMatch(scanResults); mActivity.onCancel(); mActivity.onCancel(); Loading @@ -240,4 +232,20 @@ public class NetworkRequestDialogActivityTest { verify(mActivity).finish(); verify(mActivity).finish(); } } @Test public void onUserSelectionCallbackRegistration_dismissDialogsAndDialogIsNull_shouldNotCrash() { mActivity.dismissDialogs(); mActivity.onUserSelectionCallbackRegistration(mNetworkRequestUserSelectionCallback); } @Test public void onMatch_dismissDialogsAndDialogIsNull_shouldNotCrash() { mActivity.mIsSpecifiedSsid = false; mActivity.mShowingErrorDialog = false; mActivity.dismissDialogs(); mActivity.onMatch(mScanResults); } } }