diff --git a/res/values/strings.xml b/res/values/strings.xml
index 8472c58a36a..6c191159038 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1591,7 +1591,7 @@
CONNECT
- This network has no Internet access. Use this network anyway?
+ This network has no Internet access. Stay connected?
Don\u2019t ask again for this network
diff --git a/src/com/android/settings/wifi/WifiNoInternetDialog.java b/src/com/android/settings/wifi/WifiNoInternetDialog.java
index f044114f9df..b87087372c3 100644
--- a/src/com/android/settings/wifi/WifiNoInternetDialog.java
+++ b/src/com/android/settings/wifi/WifiNoInternetDialog.java
@@ -54,15 +54,21 @@ public final class WifiNoInternetDialog extends AlertActivity implements
final Intent intent = getIntent();
if (intent == null ||
- !intent.getAction().equals(ConnectivityManager.ACTION_PROMPT_UNVALIDATED)) {
+ !intent.getAction().equals(ConnectivityManager.ACTION_PROMPT_UNVALIDATED) ||
+ !"netId".equals(intent.getScheme())) {
Log.e(TAG, "Unexpected intent " + intent + ", exiting");
finish();
return;
}
- mNetwork = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK);
+ try {
+ mNetwork = new Network(Integer.parseInt(intent.getData().getSchemeSpecificPart()));
+ } catch (NullPointerException|NumberFormatException e) {
+ mNetwork = null;
+ }
+
if (mNetwork == null) {
- Log.e(TAG, "ACTION_PROMPT_UNVALIDATED for null network, exiting");
+ Log.e(TAG, "Can't determine network from '" + intent.getData() + "' , exiting");
finish();
return;
}
@@ -112,8 +118,8 @@ public final class WifiNoInternetDialog extends AlertActivity implements
final AlertController.AlertParams ap = mAlertParams;
ap.mTitle = mNetworkName;
ap.mMessage = getString(R.string.no_internet_access_text);
- ap.mPositiveButtonText = getString(android.R.string.ok);
- ap.mNegativeButtonText = getString(android.R.string.cancel);
+ ap.mPositiveButtonText = getString(R.string.yes);
+ ap.mNegativeButtonText = getString(R.string.no);
ap.mPositiveButtonListener = this;
ap.mNegativeButtonListener = this;