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
|
@Override
|
||||||
public void onFinish() {
|
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);
|
Log.e(TAG, "Timeout for state:" + mConnectingState);
|
||||||
if (mConnectingState == STATE_ENABLE_WIFI) {
|
if (mConnectingState == STATE_ENABLE_WIFI) {
|
||||||
updateConnectingState(STATE_ENABLE_WIFI_FAILED);
|
updateConnectingState(STATE_ENABLE_WIFI_FAILED);
|
||||||
|
@@ -1623,6 +1623,39 @@ public class WifiDetailPreferenceControllerTest {
|
|||||||
mContext.getString(R.string.wifi_failed_connect_message));
|
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
|
@Test
|
||||||
public void updateAccessPoint_returnFalseForNothingChanged() {
|
public void updateAccessPoint_returnFalseForNothingChanged() {
|
||||||
setUpForDisconnectedNetwork();
|
setUpForDisconnectedNetwork();
|
||||||
|
Reference in New Issue
Block a user