Navaron Bracke

format BarcodeFormats.kt; add companion method to create format from raw value

@@ -2,17 +2,41 @@ package dev.steenbakker.mobile_scanner.objects @@ -2,17 +2,41 @@ package dev.steenbakker.mobile_scanner.objects
2 2
3 enum class BarcodeFormats(val intValue: Int) { 3 enum class BarcodeFormats(val intValue: Int) {
4 UNKNOWN(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_UNKNOWN), 4 UNKNOWN(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_UNKNOWN),
5 - ALL_FORMATS(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_ALL_FORMATS), CODE_128(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_CODE_128), CODE_39(  
6 - com.google.mlkit.vision.barcode.common.Barcode.FORMAT_CODE_39  
7 - ),  
8 - CODE_93(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_CODE_93), CODABAR(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_CODABAR), DATA_MATRIX(  
9 - com.google.mlkit.vision.barcode.common.Barcode.FORMAT_DATA_MATRIX  
10 - ),  
11 - EAN_13(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_EAN_13), EAN_8(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_EAN_8), ITF(  
12 - com.google.mlkit.vision.barcode.common.Barcode.FORMAT_ITF  
13 - ),  
14 - QR_CODE(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_QR_CODE), UPC_A(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_UPC_A), UPC_E(  
15 - com.google.mlkit.vision.barcode.common.Barcode.FORMAT_UPC_E  
16 - ),  
17 - PDF417(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_PDF417), AZTEC(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_AZTEC); 5 + ALL_FORMATS(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_ALL_FORMATS),
  6 + CODE_128(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_CODE_128),
  7 + CODE_39(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_CODE_39),
  8 + CODE_93(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_CODE_93),
  9 + CODABAR(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_CODABAR),
  10 + DATA_MATRIX(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_DATA_MATRIX),
  11 + EAN_13(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_EAN_13),
  12 + EAN_8(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_EAN_8),
  13 + ITF(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_ITF),
  14 + QR_CODE(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_QR_CODE),
  15 + UPC_A(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_UPC_A),
  16 + UPC_E(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_UPC_E),
  17 + PDF417(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_PDF417),
  18 + AZTEC(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_AZTEC);
  19 +
  20 + companion object {
  21 + fun fromRawValue(rawValue: Int): BarcodeFormats {
  22 + return when(rawValue) {
  23 + -1 -> UNKNOWN
  24 + 0 -> ALL_FORMATS
  25 + 1 -> CODE_128
  26 + 2 -> CODE_39
  27 + 4 -> CODE_93
  28 + 8 -> CODABAR
  29 + 16 -> DATA_MATRIX
  30 + 32 -> EAN_13
  31 + 64 -> EAN_8
  32 + 128 -> ITF
  33 + 256 -> QR_CODE
  34 + 512 -> UPC_A
  35 + 1024 -> UPC_E
  36 + 2048 -> PDF417
  37 + 4096 -> AZTEC
  38 + else -> UNKNOWN
  39 + }
  40 + }
  41 + }
18 } 42 }