Added Nfc admin-integrated provisioning logging
Added logging for the new Nfc android-integrated based provisioning
workflow.
Test: No tests needed
Bug: 192228539
Change-Id: Ia76b8edf8d662bf7733ab8d6a9517547ce5477f5
diff --git a/src/com/android/managedprovisioning/analytics/ProvisioningAnalyticsTracker.java b/src/com/android/managedprovisioning/analytics/ProvisioningAnalyticsTracker.java
index 3677fd0..dba27d9 100644
--- a/src/com/android/managedprovisioning/analytics/ProvisioningAnalyticsTracker.java
+++ b/src/com/android/managedprovisioning/analytics/ProvisioningAnalyticsTracker.java
@@ -49,6 +49,7 @@
import android.stats.devicepolicy.DevicePolicyEnums;
import com.android.managedprovisioning.common.ManagedProvisioningSharedPreferences;
+import com.android.managedprovisioning.common.SettingsFacade;
import com.android.managedprovisioning.model.ProvisioningParams;
import com.android.managedprovisioning.task.AbstractProvisioningTask;
@@ -103,17 +104,6 @@
}
/**
- * Logs some metrics when the preprovisioning starts.
- *
- * @param context Context passed to MetricsLogger
- * @param intent Intent that started provisioning
- */
- public void logPreProvisioningStarted(Context context, Intent intent) {
- logProvisioningExtras(context, intent);
- maybeLogEntryPoint(context, intent);
- }
-
- /**
* Logs when provisioning is cancelled.
*
* @param context Context passed to MetricsLogger
@@ -348,7 +338,7 @@
* @param context Context passed to MetricsLogger
* @param intent Intent that started provisioning
*/
- private void logProvisioningExtras(Context context, Intent intent) {
+ public void logProvisioningExtras(Context context, Intent intent) {
final List<String> provisioningExtras = AnalyticsUtils.getAllProvisioningExtras(intent);
for (String extra : provisioningExtras) {
mMetricsLoggerWrapper.logAction(context, PROVISIONING_EXTRA, extra);
@@ -365,7 +355,7 @@
* @param context Context passed to MetricsLogger
* @param intent Intent that started provisioning
*/
- private void maybeLogEntryPoint(Context context, Intent intent) {
+ public void logEntryPoint(Context context, Intent intent) {
if (intent == null || intent.getAction() == null) {
return;
}
@@ -392,7 +382,13 @@
mMetricsWriter.write(DevicePolicyEventLogger
.createEvent(DevicePolicyEnums.PROVISIONING_ENTRY_POINT_TRUSTED_SOURCE)
.setInt(provisioningTrigger)
- .setTimePeriod(AnalyticsUtils.getProvisioningTime(mSharedPreferences)));
+ .setTimePeriod(AnalyticsUtils.getProvisioningTime(mSharedPreferences))
+ .setBoolean(isDuringSetupWizard(context)));
+ }
+
+ private boolean isDuringSetupWizard(Context context) {
+ SettingsFacade settingsFacade = new SettingsFacade();
+ return settingsFacade.isDuringSetupWizard(context);
}
/**
diff --git a/src/com/android/managedprovisioning/preprovisioning/PreProvisioningActivityController.java b/src/com/android/managedprovisioning/preprovisioning/PreProvisioningActivityController.java
index e9a9b86..806de80 100644
--- a/src/com/android/managedprovisioning/preprovisioning/PreProvisioningActivityController.java
+++ b/src/com/android/managedprovisioning/preprovisioning/PreProvisioningActivityController.java
@@ -265,6 +265,9 @@
return;
}
+ mProvisioningAnalyticsTracker.logProvisioningExtras(mContext, intent);
+ mProvisioningAnalyticsTracker.logEntryPoint(mContext, intent);
+
// Check whether provisioning is allowed for the current action. This check needs to happen
// before any actions that might affect the state of the device.
// Note that checkDevicePolicyPreconditions takes care of calling
@@ -306,7 +309,6 @@
}
mViewModel.getTimeLogger().start();
- mProvisioningAnalyticsTracker.logPreProvisioningStarted(mContext, intent);
mViewModel.onProvisioningInitiated();
if (mUtils.checkAdminIntegratedFlowPreconditions(params)) {