diff --git a/res/values/strings.xml b/res/values/strings.xml index d042ebcb5ba..57897dc0ffe 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)) {