diff --git a/res/values/strings.xml b/res/values/strings.xml
index 4d2dc3d6f4b..56430832465 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -11816,6 +11816,8 @@
Something came up. The application has cancelled the request to choose a device.
Connection successful
+
+ Connection failed
Show all
diff --git a/src/com/android/settings/wifi/NetworkRequestDialogActivity.java b/src/com/android/settings/wifi/NetworkRequestDialogActivity.java
index 49e167e77ff..90a0de3a11e 100644
--- a/src/com/android/settings/wifi/NetworkRequestDialogActivity.java
+++ b/src/com/android/settings/wifi/NetworkRequestDialogActivity.java
@@ -216,13 +216,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
diff --git a/src/com/android/settings/wifi/NetworkRequestDialogBaseFragment.java b/src/com/android/settings/wifi/NetworkRequestDialogBaseFragment.java
index c17bacdc9f7..f2e24ae0821 100644
--- a/src/com/android/settings/wifi/NetworkRequestDialogBaseFragment.java
+++ b/src/com/android/settings/wifi/NetworkRequestDialogBaseFragment.java
@@ -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 scanResults) {
}
-
- protected void onUserSelectionConnectFailure(WifiConfiguration wificonfiguration) {
- }
}
diff --git a/src/com/android/settings/wifi/NetworkRequestDialogFragment.java b/src/com/android/settings/wifi/NetworkRequestDialogFragment.java
index edaa4d913dc..f179df0470e 100644
--- a/src/com/android/settings/wifi/NetworkRequestDialogFragment.java
+++ b/src/com/android/settings/wifi/NetworkRequestDialogFragment.java
@@ -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 mAccessPointKeys;
diff --git a/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java b/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java
index c74464782b6..ecf9c68c649 100644
--- a/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java
@@ -126,4 +126,13 @@ public class NetworkRequestDialogActivityTest {
verify(mActivity).finish();
}
+
+ @Test
+ public void updateAccessPointList_onUserSelectionConnectFailure_shouldFinishActivity() {
+ final WifiConfiguration config = new WifiConfiguration();
+ config.SSID = "Test AP 3";
+ mActivity.onUserSelectionConnectFailure(config);
+
+ verify(mActivity).finish();
+ }
}