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(); + } }