Use mapping instead of numberic values for Device id type look up

Test: atest DeviceLockControllerRoboTest
Test: atest CtsDeviceLockTestCases
Bug: 270392813
Change-Id: If9188d419f7c44ff40ff405d803434d7f3c61e29
diff --git a/DeviceLockController/src/com/android/devicelockcontroller/common/DeviceLockConstants.java b/DeviceLockController/src/com/android/devicelockcontroller/common/DeviceLockConstants.java
index 6e5a3bb..ad2ec39 100644
--- a/DeviceLockController/src/com/android/devicelockcontroller/common/DeviceLockConstants.java
+++ b/DeviceLockController/src/com/android/devicelockcontroller/common/DeviceLockConstants.java
@@ -33,21 +33,21 @@
     // Constants related to unique device identifiers.
     @Retention(RetentionPolicy.SOURCE)
     @IntDef(value = {
-            DEVICE_ID_TYPE_UNSPECIFIED,
-            DEVICE_ID_TYPE_IMEI,
-            DEVICE_ID_TYPE_MEID,
+            DeviceIdType.DEVICE_ID_TYPE_UNSPECIFIED,
+            DeviceIdType.DEVICE_ID_TYPE_IMEI,
+            DeviceIdType.DEVICE_ID_TYPE_MEID,
     })
     public @interface DeviceIdType {
+        // The device id type is unspecified
+        int DEVICE_ID_TYPE_UNSPECIFIED = -1;
+        // The device id is a IMEI
+        int DEVICE_ID_TYPE_IMEI = 0;
+        // The device id is a MEID
+        int DEVICE_ID_TYPE_MEID = 1;
     }
 
-    // The device id type is unspecified
-    public static final int DEVICE_ID_TYPE_UNSPECIFIED = -1;
-    // The device id is a IMEI
-    public static final int DEVICE_ID_TYPE_IMEI = 0;
-    // The device id is a MEID
-    public static final int DEVICE_ID_TYPE_MEID = 1;
     @DeviceIdType
-    private static final int LAST_DEVICE_ID_TYPE = DEVICE_ID_TYPE_MEID;
+    private static final int LAST_DEVICE_ID_TYPE = DeviceIdType.DEVICE_ID_TYPE_MEID;
     public static final int TOTAL_DEVICE_ID_TYPES = LAST_DEVICE_ID_TYPE + 1;
 
     // Constants related to unique device identifiers.
diff --git a/DeviceLockController/src/com/android/devicelockcontroller/provision/grpc/impl/DeviceCheckInClientImpl.java b/DeviceLockController/src/com/android/devicelockcontroller/provision/grpc/impl/DeviceCheckInClientImpl.java
index 8a816de..aeb932e 100644
--- a/DeviceLockController/src/com/android/devicelockcontroller/provision/grpc/impl/DeviceCheckInClientImpl.java
+++ b/DeviceLockController/src/com/android/devicelockcontroller/provision/grpc/impl/DeviceCheckInClientImpl.java
@@ -31,6 +31,7 @@
 import com.android.devicelockcontroller.DeviceLockControllerApplication;
 import com.android.devicelockcontroller.common.DeviceId;
 import com.android.devicelockcontroller.common.DeviceLockConstants;
+import com.android.devicelockcontroller.common.DeviceLockConstants.DeviceIdType;
 import com.android.devicelockcontroller.common.DeviceLockConstants.DeviceProvisionState;
 import com.android.devicelockcontroller.common.DeviceLockConstants.SetupFailureReason;
 import com.android.devicelockcontroller.proto.ClientDeviceIdentifier;
@@ -151,11 +152,24 @@
             ArraySet<DeviceId> deviceIds, String carrierInfo) {
         GetDeviceCheckinStatusRequest.Builder builder = GetDeviceCheckinStatusRequest.newBuilder();
         for (DeviceId deviceId : deviceIds) {
+            DeviceIdentifierType type;
+            switch (deviceId.getType()) {
+                case DeviceIdType.DEVICE_ID_TYPE_UNSPECIFIED:
+                    type = DeviceIdentifierType.DEVICE_IDENTIFIER_TYPE_UNSPECIFIED;
+                    break;
+                case DeviceIdType.DEVICE_ID_TYPE_IMEI:
+                    type = DeviceIdentifierType.DEVICE_IDENTIFIER_TYPE_IMEI;
+                    break;
+                case DeviceIdType.DEVICE_ID_TYPE_MEID:
+                    type = DeviceIdentifierType.DEVICE_IDENTIFIER_TYPE_MEID;
+                    break;
+                default:
+                    throw new IllegalStateException(
+                            "Unexpected DeviceId type: " + deviceId.getType());
+            }
             builder.addClientDeviceIdentifiers(
                     ClientDeviceIdentifier.newBuilder()
-                            .setDeviceIdentifierType(
-                                    // TODO: b/270392813
-                                    DeviceIdentifierType.forNumber(deviceId.getType() + 1))
+                            .setDeviceIdentifierType(type)
                             .setDeviceIdentifier(deviceId.getId()));
         }
         builder.setCarrierMccmnc(carrierInfo);
diff --git a/DeviceLockController/src/com/android/devicelockcontroller/provision/worker/DeviceCheckInHelper.java b/DeviceLockController/src/com/android/devicelockcontroller/provision/worker/DeviceCheckInHelper.java
index 3bb510d..f3d7dea 100644
--- a/DeviceLockController/src/com/android/devicelockcontroller/provision/worker/DeviceCheckInHelper.java
+++ b/DeviceLockController/src/com/android/devicelockcontroller/provision/worker/DeviceCheckInHelper.java
@@ -16,8 +16,8 @@
 
 package com.android.devicelockcontroller.provision.worker;
 
-import static com.android.devicelockcontroller.common.DeviceLockConstants.DEVICE_ID_TYPE_IMEI;
-import static com.android.devicelockcontroller.common.DeviceLockConstants.DEVICE_ID_TYPE_MEID;
+import static com.android.devicelockcontroller.common.DeviceLockConstants.DeviceIdType.DEVICE_ID_TYPE_IMEI;
+import static com.android.devicelockcontroller.common.DeviceLockConstants.DeviceIdType.DEVICE_ID_TYPE_MEID;
 import static com.android.devicelockcontroller.common.DeviceLockConstants.EXTRA_MANDATORY_PROVISION;
 import static com.android.devicelockcontroller.common.DeviceLockConstants.EXTRA_PROVISIONING_TYPE;
 import static com.android.devicelockcontroller.common.DeviceLockConstants.READY_FOR_PROVISION;
diff --git a/DeviceLockController/tests/robolectric/src/com/android/devicelockcontroller/provision/worker/DeviceCheckInHelperTest.java b/DeviceLockController/tests/robolectric/src/com/android/devicelockcontroller/provision/worker/DeviceCheckInHelperTest.java
index 4f2bf00..fdba28a 100644
--- a/DeviceLockController/tests/robolectric/src/com/android/devicelockcontroller/provision/worker/DeviceCheckInHelperTest.java
+++ b/DeviceLockController/tests/robolectric/src/com/android/devicelockcontroller/provision/worker/DeviceCheckInHelperTest.java
@@ -16,8 +16,8 @@
 
 package com.android.devicelockcontroller.provision.worker;
 
-import static com.android.devicelockcontroller.common.DeviceLockConstants.DEVICE_ID_TYPE_IMEI;
-import static com.android.devicelockcontroller.common.DeviceLockConstants.DEVICE_ID_TYPE_MEID;
+import static com.android.devicelockcontroller.common.DeviceLockConstants.DeviceIdType.DEVICE_ID_TYPE_IMEI;
+import static com.android.devicelockcontroller.common.DeviceLockConstants.DeviceIdType.DEVICE_ID_TYPE_MEID;
 import static com.android.devicelockcontroller.common.DeviceLockConstants.READY_FOR_PROVISION;
 import static com.android.devicelockcontroller.common.DeviceLockConstants.RETRY_CHECK_IN;
 import static com.android.devicelockcontroller.common.DeviceLockConstants.STOP_CHECK_IN;
diff --git a/DeviceLockController/tests/robolectric/src/com/android/devicelockcontroller/provision/worker/DeviceCheckInWorkerTest.java b/DeviceLockController/tests/robolectric/src/com/android/devicelockcontroller/provision/worker/DeviceCheckInWorkerTest.java
index 94a68d8..449dadd 100644
--- a/DeviceLockController/tests/robolectric/src/com/android/devicelockcontroller/provision/worker/DeviceCheckInWorkerTest.java
+++ b/DeviceLockController/tests/robolectric/src/com/android/devicelockcontroller/provision/worker/DeviceCheckInWorkerTest.java
@@ -16,7 +16,7 @@
 
 package com.android.devicelockcontroller.provision.worker;
 
-import static com.android.devicelockcontroller.common.DeviceLockConstants.DEVICE_ID_TYPE_IMEI;
+import static com.android.devicelockcontroller.common.DeviceLockConstants.DeviceIdType.DEVICE_ID_TYPE_IMEI;
 
 import static com.google.common.truth.Truth.assertThat;