diff --git a/res/values/strings.xml b/res/values/strings.xml
index 188ba6e78f7..3a538c6b520 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2071,6 +2071,8 @@
Scan QR code
Join \u201c%1$s\u201d by scanning a QR code
+
+ Join Wi\u2011Fi by scanning a QR code
Share Wi\u2011Fi
diff --git a/src/com/android/settings/wifi/AddNetworkFragment.java b/src/com/android/settings/wifi/AddNetworkFragment.java
index 72d878b3109..cd8f76e624a 100644
--- a/src/com/android/settings/wifi/AddNetworkFragment.java
+++ b/src/com/android/settings/wifi/AddNetworkFragment.java
@@ -73,7 +73,7 @@ public class AddNetworkFragment extends InstrumentedFragment implements WifiConf
scannerButton.setOnClickListener((View v) -> {
// Launch QR code scanner to join a network.
getContext().startActivity(
- WifiDppUtils.getConfiguratorQRCodeScannerIntent(/* ssid */ null));
+ WifiDppUtils.getEnrolleeQrCodeScannerIntent(/* ssid */ null));
});
}
}
diff --git a/src/com/android/settings/wifi/WifiDialog.java b/src/com/android/settings/wifi/WifiDialog.java
index 0e2ca608b5b..0bee671e2e0 100644
--- a/src/com/android/settings/wifi/WifiDialog.java
+++ b/src/com/android/settings/wifi/WifiDialog.java
@@ -86,9 +86,13 @@ public class WifiDialog extends AlertDialog implements WifiConfigUiBase,
if (scannerButton != null) {
scannerButton.setVisibility(View.VISIBLE);
scannerButton.setOnClickListener((View v) -> {
+ String ssid = null;
+ if (mAccessPoint != null) {
+ ssid = mAccessPoint.getSsidStr();
+ }
// Launch QR code scanner to join a network.
getContext().startActivity(
- WifiDppUtils.getConfiguratorQRCodeScannerIntent(/* ssid */ null));
+ WifiDppUtils.getEnrolleeQrCodeScannerIntent(ssid));
});
}
}
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 54de28d9de4..95e912db684 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -244,7 +244,7 @@ public class WifiSettings extends RestrictedSettingsFragment
mAddPreference.setButtonOnClickListener((View v) -> {
// Launch QR code scanner to join a network.
getContext().startActivity(
- WifiDppUtils.getConfiguratorQRCodeScannerIntent(/* ssid */ null));
+ WifiDppUtils.getEnrolleeQrCodeScannerIntent(/* ssid */ null));
});
}
mStatusMessagePreference = (LinkablePreference) findPreference(PREF_KEY_STATUS_MESSAGE);
diff --git a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
index e1179f820fa..f3e8fc194e5 100644
--- a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
+++ b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
@@ -549,11 +549,8 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
* Show QR code to share the network represented by this preference.
*/
public void launchQRCodeGenerator() {
- final Intent intent = new Intent(
- WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_GENERATOR);
- intent.putExtra(WifiDppUtils.EXTRA_WIFI_SECURITY,
+ Intent intent = WifiDppUtils.getConfiguratorQrCodeGeneratorIntent(mAccessPoint.getSsidStr(),
mAccessPoint.getSecurityString(/* concise */ false));
- intent.putExtra(WifiDppUtils.EXTRA_WIFI_SSID, mAccessPoint.getSsidStr());
mContext.startActivity(intent);
}
diff --git a/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivity.java b/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivity.java
index 7c58fd577be..39d993f03f9 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivity.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivity.java
@@ -35,7 +35,7 @@ import com.android.settings.R;
* To provision "this" device with specified Wi-Fi network.
*
* To use intent action {@code ACTION_ENROLLEE_QR_CODE_SCANNER}, specify the SSID string of the
- * Wi-Fi network to be provisioned in {@code WifiDppUtils.EXTRA_QR_CODE}.
+ * Wi-Fi network to be provisioned in {@code WifiDppUtils.EXTRA_WIFI_SSID}.
*/
public class WifiDppEnrolleeActivity extends InstrumentedActivity {
private static final String TAG = "WifiDppEnrolleeActivity";
diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java
index cddd55cdd40..e6427d9e644 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java
@@ -34,7 +34,7 @@ import com.android.settings.wifi.qrcode.QrDecorateView;
import com.android.settings.R;
/**
- * TODO: Should refine code to only initiate UI component in each child fragment.
+ * TODO: b/120645817 should refine code to only initiate UI component in each child fragment.
*/
/**
diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java
index 5689c56ddad..342e693371b 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java
@@ -23,6 +23,7 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.Rect;
import android.os.Bundle;
+import android.text.TextUtils;
import android.util.Size;
import android.view.Menu;
import android.view.MenuInflater;
@@ -87,7 +88,14 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl
setDescription(getString(R.string.wifi_dpp_center_qr_code, wifiNetworkConfig.getSsid()));
} else {
setTitle(getString(R.string.wifi_dpp_scan_qr_code));
- setDescription(getString(R.string.wifi_dpp_scan_qr_code_join_network, mSsid));
+
+ String description;
+ if (TextUtils.isEmpty(mSsid)) {
+ description = getString(R.string.wifi_dpp_scan_qr_code_join_unknown_network, mSsid);
+ } else {
+ description = getString(R.string.wifi_dpp_scan_qr_code_join_network, mSsid);
+ }
+ setDescription(description);
}
ActionBar actionBar = getActivity().getActionBar();
diff --git a/src/com/android/settings/wifi/dpp/WifiDppUtils.java b/src/com/android/settings/wifi/dpp/WifiDppUtils.java
index dc0ff849eaf..3275695c307 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppUtils.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppUtils.java
@@ -88,14 +88,14 @@ public class WifiDppUtils {
}
/**
- * Returns an intent to launch QR code scanner.
+ * Returns an intent to launch QR code scanner for Wi-Fi DPP enrollee.
*
* @param ssid The data corresponding to {@code WifiConfiguration} SSID
* @return Intent for launching QR code scanner
*/
- public static Intent getConfiguratorQRCodeScannerIntent(String ssid) {
+ public static Intent getEnrolleeQrCodeScannerIntent(String ssid) {
final Intent intent = new Intent(
- WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_SCANNER);
+ WifiDppEnrolleeActivity.ACTION_ENROLLEE_QR_CODE_SCANNER);
if (!TextUtils.isEmpty(ssid)) {
intent.putExtra(EXTRA_WIFI_SSID, ssid);
}
@@ -109,7 +109,8 @@ public class WifiDppUtils {
* @param Security The data is from {@code AccessPoint.securityToString}
* @return Intent for launching QR code generator
*/
- public static Intent getConfiguratorQRCodeGeneratorIntent(String ssid, String Security) {
+ public static Intent getConfiguratorQrCodeGeneratorIntent(String ssid, String Security) {
+ //TODO: b/118794858#comment6 should put password & hideSsid in intent extra
final Intent intent = new Intent(
WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_GENERATOR);
if (!TextUtils.isEmpty(ssid)) {