NetworkRequestDialog: Exit the dialog on connect failure

Connection failure (similar to connection success) is the end of the
processng of a request. We should dismiss the dialog on connection
failure.

Bug: 158844146
Test: Manual tests - Simulate connection failure and ensure that the
dialog vanishes with a toast.

Change-Id: I625ca76298ed549dbed76d398aea0c957c9102fc
This commit is contained in:
Roshan Pius
2020-06-12 09:31:39 -07:00
parent 0ca5c9526b
commit 81f9391105
5 changed files with 16 additions and 15 deletions

View File

@@ -11836,6 +11836,8 @@
<string name="network_connection_errorstate_dialog_message">Something came up. The application has cancelled the request to choose a device.</string>
<!-- Toast message when connection is successful [CHAR LIMIT=30] -->
<string name="network_connection_connect_successful">Connection successful</string>
<!-- Toast message when connection is failure [CHAR LIMIT=30] -->
<string name="network_connection_connect_failure">Connection failed</string>
<!-- Neutral button for Network connection request Dialog [CHAR LIMIT=30] -->
<string name="network_connection_request_dialog_showall">Show all</string>
<!-- Message for Network connection searching progress Dialog. Searching for wifi ap. [CHAR LIMIT=40] -->

View File

@@ -217,13 +217,12 @@ public class NetworkRequestDialogActivity extends FragmentActivity implements
@Override
public void onUserSelectionConnectFailure(WifiConfiguration wificonfiguration) {
if (mIsSpecifiedSsid) {
showSingleSsidRequestDialog(
WifiInfo.sanitizeSsid(mMatchedConfig.SSID), true /* isTryAgain */);
return;
if (!isFinishing()) {
Toast.makeText(this, R.string.network_connection_connect_failure, Toast.LENGTH_SHORT)
.show();
setResult(RESULT_OK);
finish();
}
mDialogFragment.onUserSelectionConnectFailure(wificonfiguration);
}
// Called when user click "Connect" button. Called by

View File

@@ -21,7 +21,6 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback;
import androidx.annotation.NonNull;
@@ -91,7 +90,4 @@ abstract public class NetworkRequestDialogBaseFragment extends InstrumentedDialo
protected void onMatch(List<ScanResult> scanResults) {
}
protected void onUserSelectionConnectFailure(WifiConfiguration wificonfiguration) {
}
}

View File

@@ -324,11 +324,6 @@ public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragme
}
}
@Override
public void onUserSelectionConnectFailure(WifiConfiguration wificonfiguration) {
// Do nothing when selection is failed, let user could try again easily.
}
@VisibleForTesting
final class FilterWifiTracker {
private final List<String> mAccessPointKeys;

View File

@@ -230,4 +230,13 @@ public class NetworkRequestDialogActivityTest {
assertThat(mActivity.mProgressDialog).isNull();
assertThat(mActivity.mDialogFragment).isNull();
}
@Test
public void updateAccessPointList_onUserSelectionConnectFailure_shouldFinishActivity() {
final WifiConfiguration config = new WifiConfiguration();
config.SSID = "Test AP 3";
mActivity.onUserSelectionConnectFailure(config);
verify(mActivity).finish();
}
}