Pass the provisioning trigger to the role holder updater
Fixes: 220134772
Test: atest DeviceManagementRoleHolderUpdaterHelperTest
Change-Id: I7f12fa0f6e8195dfc8b9504b4266e309d88ff8b1
diff --git a/src/com/android/managedprovisioning/common/DeviceManagementRoleHolderUpdaterHelper.java b/src/com/android/managedprovisioning/common/DeviceManagementRoleHolderUpdaterHelper.java
index 0a4d60b..bfe5c78 100644
--- a/src/com/android/managedprovisioning/common/DeviceManagementRoleHolderUpdaterHelper.java
+++ b/src/com/android/managedprovisioning/common/DeviceManagementRoleHolderUpdaterHelper.java
@@ -17,6 +17,7 @@
package com.android.managedprovisioning.common;
import static android.app.admin.DevicePolicyManager.ACTION_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_TRIGGER;
import static java.util.Objects.requireNonNull;
@@ -124,12 +125,15 @@
/**
* Creates an intent to be used to launch the role holder updater.
*/
- public Intent createRoleHolderUpdaterIntent(@Nullable Intent parentActivityIntent) {
+ public Intent createRoleHolderUpdaterIntent(
+ @Nullable Intent parentActivityIntent,
+ int provisioningTrigger) {
if (TextUtils.isEmpty(mRoleHolderUpdaterPackageName)) {
throw new IllegalStateException("Role holder updater package name is null or empty.");
}
Intent intent = new Intent(ACTION_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER)
- .setPackage(mRoleHolderUpdaterPackageName);
+ .setPackage(mRoleHolderUpdaterPackageName)
+ .putExtra(EXTRA_PROVISIONING_TRIGGER, provisioningTrigger);
if (parentActivityIntent != null) {
WizardManagerHelper.copyWizardManagerExtras(parentActivityIntent, intent);
}
diff --git a/src/com/android/managedprovisioning/preprovisioning/PreProvisioningActivity.java b/src/com/android/managedprovisioning/preprovisioning/PreProvisioningActivity.java
index c08bb37..9cd4e57 100644
--- a/src/com/android/managedprovisioning/preprovisioning/PreProvisioningActivity.java
+++ b/src/com/android/managedprovisioning/preprovisioning/PreProvisioningActivity.java
@@ -16,7 +16,9 @@
package com.android.managedprovisioning.preprovisioning;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_TRIGGER;
import static android.app.admin.DevicePolicyManager.EXTRA_RESULT_LAUNCH_INTENT;
+import static android.app.admin.DevicePolicyManager.PROVISIONING_TRIGGER_UNSPECIFIED;
import static android.app.admin.DevicePolicyManager.RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_PROVISIONING_DISABLED;
import static android.app.admin.DevicePolicyManager.RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_RECOVERABLE_ERROR;
import static android.app.admin.DevicePolicyManager.RESULT_UPDATE_ROLE_HOLDER;
@@ -546,7 +548,10 @@
Intent intent = new Intent(this, getActivityForScreen(RETRY_LAUNCH));
intent.putExtra(
EXTRA_INTENT_TO_LAUNCH,
- roleHolderUpdaterHelper.createRoleHolderUpdaterIntent(getIntent()));
+ roleHolderUpdaterHelper.createRoleHolderUpdaterIntent(
+ getIntent(),
+ getIntent().getIntExtra(
+ EXTRA_PROVISIONING_TRIGGER, PROVISIONING_TRIGGER_UNSPECIFIED)));
getTransitionHelper().startActivityForResultWithTransition(
this,
intent,
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/common/DeviceManagementRoleHolderUpdaterHelperTest.java b/tests/instrumentation/src/com/android/managedprovisioning/common/DeviceManagementRoleHolderUpdaterHelperTest.java
index 3de74a3..fa15957 100644
--- a/tests/instrumentation/src/com/android/managedprovisioning/common/DeviceManagementRoleHolderUpdaterHelperTest.java
+++ b/tests/instrumentation/src/com/android/managedprovisioning/common/DeviceManagementRoleHolderUpdaterHelperTest.java
@@ -16,6 +16,8 @@
package com.android.managedprovisioning.common;
+import static android.app.admin.DevicePolicyManager.EXTRA_PROVISIONING_TRIGGER;
+
import static com.android.managedprovisioning.TestUtils.assertIntentsEqual;
import static com.google.common.truth.Truth.assertThat;
@@ -49,9 +51,12 @@
private static final String ROLE_HOLDER_UPDATER_NULL_PACKAGE_NAME = null;
private static final String ROLE_HOLDER_EMPTY_PACKAGE_NAME = "";
private static final String ROLE_HOLDER_NULL_PACKAGE_NAME = null;
+ private static final int TEST_PROVISIONING_TRIGGER =
+ DevicePolicyManager.PROVISIONING_TRIGGER_QR_CODE;
private static final Intent ROLE_HOLDER_UPDATER_INTENT =
new Intent(DevicePolicyManager.ACTION_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER)
- .setPackage(ROLE_HOLDER_UPDATER_PACKAGE_NAME);
+ .setPackage(ROLE_HOLDER_UPDATER_PACKAGE_NAME)
+ .putExtra(EXTRA_PROVISIONING_TRIGGER, TEST_PROVISIONING_TRIGGER);
public static final String TEST_EXTRA_KEY = "test_extra_key";
public static final String TEST_EXTRA_VALUE = "test_extra_value";
private static final Intent MANAGED_PROFILE_INTENT =
@@ -218,7 +223,8 @@
assertIntentsEqual(
roleHolderUpdaterHelper.createRoleHolderUpdaterIntent(
- /* parentActivityIntent= */ null),
+ /* parentActivityIntent= */ null,
+ TEST_PROVISIONING_TRIGGER),
ROLE_HOLDER_UPDATER_INTENT);
}
@@ -230,7 +236,8 @@
assertThrows(IllegalStateException.class,
() -> roleHolderUpdaterHelper.createRoleHolderUpdaterIntent(
- /* parentActivityIntent= */ null));
+ /* parentActivityIntent= */ null,
+ TEST_PROVISIONING_TRIGGER));
}
@Test
@@ -241,7 +248,8 @@
assertThrows(IllegalStateException.class,
() -> roleHolderUpdaterHelper.createRoleHolderUpdaterIntent(
- /* parentActivityIntent= */ null));
+ /* parentActivityIntent= */ null,
+ TEST_PROVISIONING_TRIGGER));
}
@Test