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> <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] --> <!-- Toast message when connection is successful [CHAR LIMIT=30] -->
<string name="network_connection_connect_successful">Connection successful</string> <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] --> <!-- Neutral button for Network connection request Dialog [CHAR LIMIT=30] -->
<string name="network_connection_request_dialog_showall">Show all</string> <string name="network_connection_request_dialog_showall">Show all</string>
<!-- Message for Network connection searching progress Dialog. Searching for wifi ap. [CHAR LIMIT=40] --> <!-- 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 @Override
public void onUserSelectionConnectFailure(WifiConfiguration wificonfiguration) { public void onUserSelectionConnectFailure(WifiConfiguration wificonfiguration) {
if (mIsSpecifiedSsid) { if (!isFinishing()) {
showSingleSsidRequestDialog( Toast.makeText(this, R.string.network_connection_connect_failure, Toast.LENGTH_SHORT)
WifiInfo.sanitizeSsid(mMatchedConfig.SSID), true /* isTryAgain */); .show();
return; setResult(RESULT_OK);
finish();
} }
mDialogFragment.onUserSelectionConnectFailure(wificonfiguration);
} }
// Called when user click "Connect" button. Called by // 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.DialogInterface;
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.WifiManager.NetworkRequestUserSelectionCallback; import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@@ -91,7 +90,4 @@ abstract public class NetworkRequestDialogBaseFragment extends InstrumentedDialo
protected void onMatch(List<ScanResult> scanResults) { 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 @VisibleForTesting
final class FilterWifiTracker { final class FilterWifiTracker {
private final List<String> mAccessPointKeys; private final List<String> mAccessPointKeys;

View File

@@ -230,4 +230,13 @@ public class NetworkRequestDialogActivityTest {
assertThat(mActivity.mProgressDialog).isNull(); assertThat(mActivity.mProgressDialog).isNull();
assertThat(mActivity.mDialogFragment).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();
}
} }