Add the isSetupFlow extra set to true for NFC provisioning

This is a temporary solution to allow ManagedProvisioning use
OEM-customized themes. Usually it's the setup wizard who
sets this extra when starting ManagedProvisioning, but NFC
provisioning is different as ManagedProvisioning is the one
who starts itself, rather than setup wizard.

This fix will not be needed anymore when NFC provisioning
is updated to use the admin-integrated flow.

Bug: 132105112
Test: manual
Change-Id: Ia596b8a7d72277a041d0b067bc0e3baeb3d01820
diff --git a/src/com/android/managedprovisioning/preprovisioning/PreProvisioningController.java b/src/com/android/managedprovisioning/preprovisioning/PreProvisioningController.java
index 40ec58d..744f088 100644
--- a/src/com/android/managedprovisioning/preprovisioning/PreProvisioningController.java
+++ b/src/com/android/managedprovisioning/preprovisioning/PreProvisioningController.java
@@ -99,6 +99,8 @@
 import java.util.stream.Collectors;
 
 public class PreProvisioningController {
+    private static final String EXTRA_IS_SETUP_FLOW = "isSetupFlow";
+
     private final Context mContext;
     private final Ui mUi;
     private final MessageParser mMessageParser;
@@ -339,7 +341,7 @@
         } else if (mUtils.isFinancedDeviceAction(mParams.provisioningAction)) {
             mUi.prepareFinancedDeviceFlow(mParams);
         } else if (mParams.isNfc) {
-            startNfcFlow();
+            startNfcFlow(intent);
         } else if (isProfileOwnerProvisioning()) {
             startManagedProfileFlow();
         } else if (isDpcTriggeredManagedDeviceProvisioning(intent)) {
@@ -348,12 +350,18 @@
         }
     }
 
-    private void startNfcFlow() {
+    private void startNfcFlow(Intent intent) {
         ProvisionLogger.logi("Starting the NFC provisioning flow.");
+        addAdditionalNfcProvisioningExtras(intent);
         updateProvisioningFlowState(FLOW_TYPE_LEGACY);
         maybeShowUserConsentScreen();
     }
 
+    // TODO(178822333): Remove NFC-specific logic after adding support for the admin-integrated flow
+    private void addAdditionalNfcProvisioningExtras(Intent intent) {
+        intent.putExtra(EXTRA_IS_SETUP_FLOW, true);
+    }
+
     private void startManagedProfileFlow() {
         ProvisionLogger.logi("Starting the managed profile flow.");
         maybeShowUserConsentScreen();