1 package com.android.onboarding.contracts.provisioning
2 
3 import android.app.admin.DevicePolicyManager
4 
5 enum class ProvisioningTrigger(val id: Int) {
6   @Suppress("UNRESOLVED_REFERENCE")
7   Unspecified(DevicePolicyManager.PROVISIONING_TRIGGER_UNSPECIFIED),
8   @Suppress("UNRESOLVED_REFERENCE")
9   CloudEnrollment(DevicePolicyManager.PROVISIONING_TRIGGER_CLOUD_ENROLLMENT),
10   @Suppress("UNRESOLVED_REFERENCE") QR(DevicePolicyManager.PROVISIONING_TRIGGER_QR_CODE),
11   @Deprecated("Deprecated in DevicePolicyManager")
12   @Suppress("UNRESOLVED_REFERENCE")
13   PersistentDeviceOwner(DevicePolicyManager.PROVISIONING_TRIGGER_PERSISTENT_DEVICE_OWNER),
14   @Suppress("UNRESOLVED_REFERENCE")
15   ManagedAccount(DevicePolicyManager.PROVISIONING_TRIGGER_MANAGED_ACCOUNT),
16   @Suppress("UNRESOLVED_REFERENCE") NFC(DevicePolicyManager.PROVISIONING_TRIGGER_NFC);
17 
18   companion object {
invokenull19     operator fun invoke(id: Int): ProvisioningTrigger =
20       when (id) {
21         Unspecified.id -> Unspecified
22         CloudEnrollment.id -> CloudEnrollment
23         QR.id -> QR
24         PersistentDeviceOwner.id -> PersistentDeviceOwner
25         ManagedAccount.id -> ManagedAccount
26         NFC.id -> NFC
27         else -> error("Unknown ProvisioningTrigger(id=$id)")
28       }
29   }
30 }
31