Changeset View
Changeset View
Standalone View
Standalone View
app/src/main/java/it/reyboz/bustorino/backend/VehicleUtils.kt
- This file was added.
| package it.reyboz.bustorino.backend | |||||
| import it.reyboz.bustorino.backend.VehicleUtils.VehicleType | |||||
| import java.util.Locale.getDefault | |||||
| data class VehicleClassInfo( | |||||
| val vehClass: Int, | |||||
| val name: String, | |||||
| val kindString: String, | |||||
| val type: VehicleType, | |||||
| val matricolaStart: Int, | |||||
| val matricolaEnd: Int, | |||||
| ) { | |||||
| constructor(vehicleClass: Int, name: String, type: String, matricolaStart: Int, matricolaEnd: Int) : this( | |||||
| vehicleClass, name, type,VehicleType.fromString(type), matricolaStart, matricolaEnd | |||||
| ) | |||||
| } | |||||
| object VehicleUtils { | |||||
| private val items = listOf( | |||||
| VehicleClassInfo(2800, "Arancio", "Tram", 2801, 2857), | |||||
| VehicleClassInfo(2800, "Arancio", "Tram", 2858, 2902), | |||||
| VehicleClassInfo(5000, "5000", "Tram", 5000, 5053), | |||||
| VehicleClassInfo(6000, "6000", "Tram", 6000, 6005), | |||||
| VehicleClassInfo(6000, "6000", "Tram", 6006, 6054), | |||||
| VehicleClassInfo(8000, "Hitachi", "Tram", 8000, 8099), | |||||
| VehicleClassInfo(800, "Citelis 18m", "Bus 18m", 790, 797), | |||||
| VehicleClassInfo(800, "Citelis 18m", "Bus 18m", 800, 869), | |||||
| VehicleClassInfo(800, "Citelis 18m", "Bus 18m", 870, 874), | |||||
| VehicleClassInfo(800, "Citelis 18m", "Bus 18m", 1310, 1313), | |||||
| VehicleClassInfo(1350, "Conecto 18m", "Bus 18m", 1350, 1396), | |||||
| VehicleClassInfo(9300, "UrbanWay 18m", "Bus 18m", 9300, 9318), | |||||
| VehicleClassInfo(9300, "UrbanWay 18m", "Bus 18m", 9320, 9356), | |||||
| VehicleClassInfo(30, "BYD K9", "E-Bus", 30, 49), | |||||
| VehicleClassInfo(50, "BYD K7", "E-Bus", 50, 57), | |||||
| VehicleClassInfo(60, "MiniBusE", "E-Bus", 60, 81), | |||||
| VehicleClassInfo(110, "Neocity", "Bus", 110, 115), | |||||
| VehicleClassInfo(2300, "Cityclass", "Bus", 2300, 2349), | |||||
| VehicleClassInfo(3400, "Conecto", "Bus", 2400, 2447), | |||||
| VehicleClassInfo(2300, "Cityclass", "Bus", 2700, 2787), | |||||
| VehicleClassInfo(3000, "Citelis", "Bus", 3000, 3099), | |||||
| VehicleClassInfo(3000, "Citelis", "Bus", 3300, 3380), | |||||
| VehicleClassInfo(3400, "Conecto", "Bus", 3400, 3440), | |||||
| VehicleClassInfo(9000, "BYD K9", "E-Bus", 9000, 9059), | |||||
| VehicleClassInfo(9000, "BYD K9", "E-Bus", 9060, 9119), | |||||
| VehicleClassInfo(9000, "BYD K9", "E-Bus", 9120, 9121), | |||||
| VehicleClassInfo(9200, "Citymood", "Bus", 9200, 9251), | |||||
| VehicleClassInfo(9200, "Citymood", "Bus", 9252, 9261), | |||||
| VehicleClassInfo(9400, "E-Way", "E-Bus", 9400, 9599), | |||||
| VehicleClassInfo(9600, "E-Way 18m", "E-Bus", 9600, 9699) | |||||
| ) | |||||
| fun getTypeForLabel(label: String): VehicleClassInfo? { | |||||
| try { | |||||
| val matricola = Integer.parseInt(label) | |||||
| for (el in items) { | |||||
| if(matricola >= el.matricolaStart && matricola<= el.matricolaEnd) { | |||||
| return el | |||||
| } | |||||
| } | |||||
| return null | |||||
| } catch (e: Exception) { | |||||
| return null | |||||
| } | |||||
| } | |||||
| enum class VehicleType { | |||||
| BUS, TRAM, ELECTRIC_BUS; | |||||
| fun getName(): String { | |||||
| return when (this) { | |||||
| BUS -> "Bus" | |||||
| TRAM -> "Tram" | |||||
| ELECTRIC_BUS -> "E-Bus" | |||||
| } | |||||
| } | |||||
| companion object { | |||||
| @JvmStatic | |||||
| fun fromString(string: String): VehicleType { | |||||
| return when (string.lowercase(getDefault())) { | |||||
| "bus" -> BUS | |||||
| "bus 18m" -> BUS | |||||
| "tram" -> TRAM | |||||
| "e-bus" -> ELECTRIC_BUS | |||||
| "e-bus 18m" -> ELECTRIC_BUS | |||||
| else -> throw IllegalArgumentException("Unknown vehicle type: $string") | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| No newline at end of file | |||||
Public contents are in Creative Commons Attribution-ShareAlike 4.0 (CC-BY-SA) or GNU Free Documentation License (at your option) unless otherwise noted. · Contact / Register