Merge "Fix NPE when connect timeout" into qt-dev
am: 05e680d3c8
Change-Id: I07678d8119d7f8f3d9d53998115612113bbbcfb8
This commit is contained in:
@@ -1109,6 +1109,10 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
}
|
||||
@Override
|
||||
public void onFinish() {
|
||||
if (mFragment == null || mFragment.getActivity() == null) {
|
||||
Log.d(TAG, "Ignore timeout since activity not exist!");
|
||||
return;
|
||||
}
|
||||
Log.e(TAG, "Timeout for state:" + mConnectingState);
|
||||
if (mConnectingState == STATE_ENABLE_WIFI) {
|
||||
updateConnectingState(STATE_ENABLE_WIFI_FAILED);
|
||||
|
@@ -1623,6 +1623,39 @@ public class WifiDetailPreferenceControllerTest {
|
||||
mContext.getString(R.string.wifi_failed_connect_message));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConnectButton_clickConnectAndBackKey_ignoreTimeoutEvent() {
|
||||
setUpForDisconnectedNetwork();
|
||||
when(mockWifiManager.isWifiEnabled()).thenReturn(true);
|
||||
InOrder inOrder = inOrder(mockButtonsPref);
|
||||
setUpForToast();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
// check connect button exist
|
||||
verifyConnectBtnSetUpAsVisible(inOrder);
|
||||
|
||||
// click connect button
|
||||
mController.connectNetwork();
|
||||
|
||||
// check display button as connecting
|
||||
verify(mockWifiManager, times(1)).connect(anyInt(), any(WifiManager.ActionListener.class));
|
||||
verifyConnectBtnSetUpAsConnecting(inOrder);
|
||||
|
||||
// leave detail page
|
||||
when(mockFragment.getActivity()).thenReturn(null);
|
||||
|
||||
// timeout happened
|
||||
mController.mTimer.onFinish();
|
||||
|
||||
// check connect button visible, be init as default and toast failed message
|
||||
inOrder.verify(mockButtonsPref, never()).setButton3Text(R.string.wifi_connect);
|
||||
inOrder.verify(mockButtonsPref, never()).setButton3Icon(R.drawable.ic_settings_wireless);
|
||||
inOrder.verify(mockButtonsPref, never()).setButton3Enabled(true);
|
||||
inOrder.verify(mockButtonsPref, never()).setButton3Visible(true);
|
||||
assertThat(ShadowToast.shownToastCount()).isEqualTo(0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateAccessPoint_returnFalseForNothingChanged() {
|
||||
setUpForDisconnectedNetwork();
|
||||
|
Reference in New Issue
Block a user