diff --git a/res/values/strings.xml b/res/values/strings.xml
index 6f2940e9639..fca49dc5104 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -11836,6 +11836,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 fb1b87be08d..af82645adb4 100644
--- a/src/com/android/settings/wifi/NetworkRequestDialogActivity.java
+++ b/src/com/android/settings/wifi/NetworkRequestDialogActivity.java
@@ -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
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 9f6e7a3ed1e..094e2826459 100644
--- a/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java
@@ -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();
+ }
}