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