Merge "Make WifiDppEnrolleeActivity launches explicit" into sc-v2-dev am: b94ae9ffb3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16509324
Change-Id: I85beb9352125aaa74df850853b81a1f9f82b24d0
diff --git a/src/com/android/settings/network/NetworkProviderSettings.java b/src/com/android/settings/network/NetworkProviderSettings.java
index bae3cda..aedb299 100644
--- a/src/com/android/settings/network/NetworkProviderSettings.java
+++ b/src/com/android/settings/network/NetworkProviderSettings.java
@@ -1137,7 +1137,8 @@
@Override
public void onScan(WifiDialog2 dialog, String ssid) {
// Launch QR code scanner to join a network.
- startActivityForResult(WifiDppUtils.getEnrolleeQrCodeScannerIntent(ssid),
+ startActivityForResult(
+ WifiDppUtils.getEnrolleeQrCodeScannerIntent(dialog.getContext(), ssid),
REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER);
}
diff --git a/src/com/android/settings/wifi/AddNetworkFragment.java b/src/com/android/settings/wifi/AddNetworkFragment.java
index 4adc672..01d5ef1 100644
--- a/src/com/android/settings/wifi/AddNetworkFragment.java
+++ b/src/com/android/settings/wifi/AddNetworkFragment.java
@@ -109,7 +109,8 @@
final String ssid = ssidEditText.getText().toString();
// Launch QR code scanner to join a network.
- startActivityForResult(WifiDppUtils.getEnrolleeQrCodeScannerIntent(ssid),
+ startActivityForResult(
+ WifiDppUtils.getEnrolleeQrCodeScannerIntent(view.getContext(), ssid),
REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER);
}
}
diff --git a/src/com/android/settings/wifi/AddWifiNetworkPreference.java b/src/com/android/settings/wifi/AddWifiNetworkPreference.java
index 8216f86..ff4d38e 100644
--- a/src/com/android/settings/wifi/AddWifiNetworkPreference.java
+++ b/src/com/android/settings/wifi/AddWifiNetworkPreference.java
@@ -59,7 +59,7 @@
getContext().getString(R.string.wifi_dpp_scan_qr_code));
scanButton.setOnClickListener(view -> {
getContext().startActivity(
- WifiDppUtils.getEnrolleeQrCodeScannerIntent(/* ssid */ null));
+ WifiDppUtils.getEnrolleeQrCodeScannerIntent(getContext(), /* ssid */ null));
});
}
diff --git a/src/com/android/settings/wifi/WifiDialogActivity.java b/src/com/android/settings/wifi/WifiDialogActivity.java
index ffcfbb8..58e9a7b 100644
--- a/src/com/android/settings/wifi/WifiDialogActivity.java
+++ b/src/com/android/settings/wifi/WifiDialogActivity.java
@@ -309,7 +309,7 @@
@Override
public void onScan(WifiDialog2 dialog, String ssid) {
- Intent intent = WifiDppUtils.getEnrolleeQrCodeScannerIntent(ssid);
+ Intent intent = WifiDppUtils.getEnrolleeQrCodeScannerIntent(dialog.getContext(), ssid);
WizardManagerHelper.copyWizardManagerExtras(mIntent, intent);
// Launch QR code scanner to join a network.
@@ -318,7 +318,7 @@
@Override
public void onScan(WifiDialog dialog, String ssid) {
- Intent intent = WifiDppUtils.getEnrolleeQrCodeScannerIntent(ssid);
+ Intent intent = WifiDppUtils.getEnrolleeQrCodeScannerIntent(dialog.getContext(), ssid);
WizardManagerHelper.copyWizardManagerExtras(mIntent, intent);
// Launch QR code scanner to join a network.
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index f43fdc4..4c7be58 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -1035,7 +1035,8 @@
@Override
public void onScan(WifiDialog2 dialog, String ssid) {
// Launch QR code scanner to join a network.
- startActivityForResult(WifiDppUtils.getEnrolleeQrCodeScannerIntent(ssid),
+ startActivityForResult(
+ WifiDppUtils.getEnrolleeQrCodeScannerIntent(dialog.getContext(), ssid),
REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER);
}
diff --git a/src/com/android/settings/wifi/dpp/WifiDppUtils.java b/src/com/android/settings/wifi/dpp/WifiDppUtils.java
index abf5bec..39a5431 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppUtils.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppUtils.java
@@ -114,9 +114,9 @@
* @param ssid The data corresponding to {@code WifiConfiguration} SSID
* @return Intent for launching QR code scanner
*/
- public static Intent getEnrolleeQrCodeScannerIntent(String ssid) {
- final Intent intent = new Intent(
- WifiDppEnrolleeActivity.ACTION_ENROLLEE_QR_CODE_SCANNER);
+ public static Intent getEnrolleeQrCodeScannerIntent(Context context, String ssid) {
+ final Intent intent = new Intent(context, WifiDppEnrolleeActivity.class);
+ intent.setAction(WifiDppEnrolleeActivity.ACTION_ENROLLEE_QR_CODE_SCANNER);
if (!TextUtils.isEmpty(ssid)) {
intent.putExtra(EXTRA_WIFI_SSID, ssid);
}
diff --git a/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppUtilsTest.java b/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppUtilsTest.java
index d8bcb59..e605308 100644
--- a/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppUtilsTest.java
@@ -27,6 +27,8 @@
import android.net.wifi.WifiConfiguration.KeyMgmt;
import android.net.wifi.WifiManager;
+import androidx.test.core.app.ApplicationProvider;
+
import com.android.wifitrackerlib.WifiEntry;
import org.junit.Before;
@@ -80,4 +82,12 @@
assertThat(intent.getBooleanExtra(WifiDppUtils.EXTRA_WIFI_HIDDEN_SSID, false))
.isEqualTo(true);
}
+
+ @Test
+ public void getEnrolleeQrCodeScannerIntent_isExplicitIntent() {
+ Intent intent = WifiDppUtils.getEnrolleeQrCodeScannerIntent(
+ ApplicationProvider.getApplicationContext(), null);
+ assertThat(intent.getComponent()).isNotNull();
+ }
+
}