blob: 12264de89fe6bec15ec682bcf8d16b2e2ab3da46 [file] [log] [blame]
kwaky6f79f932019-05-13 10:03:13 -07001/*
2 * Copyright (C) 2019 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package com.android.car.settings.units;
18
19import android.car.VehicleUnit;
20
21import com.android.car.settings.R;
22
23import java.util.HashMap;
24
25/**
26 * Contains {@link Unit} instances for all units defined in {@link VehicleUnit}. This mapping is
27 * safe because OEMs cannot define their own VehicleUnit.
28 */
29public final class UnitsMap {
30 protected static final Unit METER_PER_SEC = new Unit(VehicleUnit.METER_PER_SEC,
31 R.string.units_unit_abbreviation_meter_per_sec, R.string.units_unit_name_meter_per_sec);
32 protected static final Unit RPM = new Unit(VehicleUnit.RPM,
33 R.string.units_unit_abbreviation_rpm, R.string.units_unit_name_rpm);
34 protected static final Unit HERTZ = new Unit(VehicleUnit.HERTZ,
35 R.string.units_unit_abbreviation_hertz, R.string.units_unit_name_hertz);
36 protected static final Unit PERCENTILE = new Unit(VehicleUnit.PERCENTILE,
37 R.string.units_unit_abbreviation_percentile, R.string.units_unit_name_percentile);
38 protected static final Unit MILLIMETER = new Unit(VehicleUnit.MILLIMETER,
39 R.string.units_unit_abbreviation_millimeter, R.string.units_unit_name_millimeter);
40 protected static final Unit METER = new Unit(VehicleUnit.METER,
41 R.string.units_unit_abbreviation_meter, R.string.units_unit_name_meter);
42 protected static final Unit KILOMETER = new Unit(VehicleUnit.KILOMETER,
43 R.string.units_unit_abbreviation_kilometer, R.string.units_unit_name_kilometer);
44 protected static final Unit MILE = new Unit(VehicleUnit.MILE,
45 R.string.units_unit_abbreviation_mile, R.string.units_unit_name_mile);
46 protected static final Unit CELSIUS = new Unit(VehicleUnit.CELSIUS,
47 R.string.units_unit_abbreviation_celsius, R.string.units_unit_name_celsius);
48 protected static final Unit FAHRENHEIT = new Unit(VehicleUnit.FAHRENHEIT,
49 R.string.units_unit_abbreviation_fahrenheit, R.string.units_unit_name_fahrenheit);
50 protected static final Unit KELVIN = new Unit(VehicleUnit.KELVIN,
51 R.string.units_unit_abbreviation_kelvin, R.string.units_unit_name_kelvin);
52 protected static final Unit MILLILITER = new Unit(VehicleUnit.MILLILITER,
53 R.string.units_unit_abbreviation_milliliter, R.string.units_unit_name_milliliter);
54 protected static final Unit LITER = new Unit(VehicleUnit.LITER,
55 R.string.units_unit_abbreviation_liter, R.string.units_unit_name_liter);
56 protected static final Unit US_GALLON = new Unit(VehicleUnit.US_GALLON,
57 R.string.units_unit_abbreviation_us_gallon, R.string.units_unit_name_us_gallon);
58 protected static final Unit IMPERIAL_GALLON = new Unit(VehicleUnit.IMPERIAL_GALLON,
59 R.string.units_unit_abbreviation_imperial_gallon,
60 R.string.units_unit_name_imperial_gallon);
61 protected static final Unit NANO_SECS = new Unit(VehicleUnit.NANO_SECS,
62 R.string.units_unit_abbreviation_nano_secs, R.string.units_unit_name_nano_secs);
63 protected static final Unit SECS = new Unit(VehicleUnit.SECS,
64 R.string.units_unit_abbreviation_secs, R.string.units_unit_name_secs);
65 protected static final Unit YEAR = new Unit(VehicleUnit.YEAR,
66 R.string.units_unit_abbreviation_year, R.string.units_unit_name_year);
67 protected static final Unit KILOPASCAL = new Unit(VehicleUnit.KILOPASCAL,
68 R.string.units_unit_abbreviation_kilopascal, R.string.units_unit_name_kilopascal);
69 protected static final Unit WATT_HOUR = new Unit(VehicleUnit.WATT_HOUR,
70 R.string.units_unit_abbreviation_watt_hour, R.string.units_unit_name_watt_hour);
71 protected static final Unit MILLIAMPERE = new Unit(VehicleUnit.MILLIAMPERE,
72 R.string.units_unit_abbreviation_milliampere, R.string.units_unit_name_milliampere);
73 protected static final Unit MILLIVOLT = new Unit(VehicleUnit.MILLIVOLT,
74 R.string.units_unit_abbreviation_millivolt, R.string.units_unit_name_millivolt);
75 protected static final Unit MILLIWATTS = new Unit(VehicleUnit.MILLIWATTS,
76 R.string.units_unit_abbreviation_milliwatts, R.string.units_unit_name_milliwatts);
77 protected static final Unit AMPERE_HOURS = new Unit(VehicleUnit.AMPERE_HOURS,
78 R.string.units_unit_abbreviation_ampere_hour, R.string.units_unit_name_ampere_hour);
79 protected static final Unit KILOWATT_HOUR = new Unit(VehicleUnit.KILOWATT_HOUR,
80 R.string.units_unit_abbreviation_kilowatt_hour, R.string.units_unit_name_kilowatt_hour);
81 protected static final Unit PSI = new Unit(VehicleUnit.PSI,
82 R.string.units_unit_abbreviation_psi, R.string.units_unit_name_psi);
83 protected static final Unit BAR = new Unit(VehicleUnit.BAR,
84 R.string.units_unit_abbreviation_bar, R.string.units_unit_name_bar);
85 protected static final Unit DEGREES = new Unit(VehicleUnit.DEGREES,
86 R.string.units_unit_abbreviation_degrees, R.string.units_unit_name_degrees);
87 protected static final Unit MILES_PER_HOUR = new Unit(VehicleUnit.MILES_PER_HOUR,
88 R.string.units_unit_abbreviation_miles_per_hour,
89 R.string.units_unit_name_miles_per_hour);
90 protected static final Unit KILOMETERS_PER_HOUR = new Unit(VehicleUnit.KILOMETERS_PER_HOUR,
91 R.string.units_unit_abbreviation_kilometers_per_hour,
92 R.string.units_unit_name_kilometers_per_hour);
93
94 public static final HashMap<Integer, Unit> MAP = createMap();
95
96 private static HashMap<Integer, Unit> createMap() {
97 HashMap<Integer, Unit> map = new HashMap();
98 map.put(VehicleUnit.METER_PER_SEC, METER_PER_SEC);
99 map.put(VehicleUnit.RPM, RPM);
100 map.put(VehicleUnit.HERTZ, HERTZ);
101 map.put(VehicleUnit.PERCENTILE, PERCENTILE);
102 map.put(VehicleUnit.MILLIMETER, MILLIMETER);
103 map.put(VehicleUnit.METER, METER);
104 map.put(VehicleUnit.KILOMETER, KILOMETER);
105 map.put(VehicleUnit.MILE, MILE);
106 map.put(VehicleUnit.CELSIUS, CELSIUS);
107 map.put(VehicleUnit.FAHRENHEIT, FAHRENHEIT);
108 map.put(VehicleUnit.KELVIN, KELVIN);
109 map.put(VehicleUnit.MILLILITER, MILLILITER);
110 map.put(VehicleUnit.LITER, LITER);
111 map.put(VehicleUnit.US_GALLON, US_GALLON);
112 map.put(VehicleUnit.IMPERIAL_GALLON, IMPERIAL_GALLON);
113 map.put(VehicleUnit.NANO_SECS, NANO_SECS);
114 map.put(VehicleUnit.SECS, SECS);
115 map.put(VehicleUnit.YEAR, YEAR);
116 map.put(VehicleUnit.KILOPASCAL, KILOPASCAL);
117 map.put(VehicleUnit.WATT_HOUR, WATT_HOUR);
118 map.put(VehicleUnit.MILLIAMPERE, MILLIAMPERE);
119 map.put(VehicleUnit.MILLIVOLT, MILLIVOLT);
120 map.put(VehicleUnit.MILLIWATTS, MILLIWATTS);
121 map.put(VehicleUnit.AMPERE_HOURS, AMPERE_HOURS);
122 map.put(VehicleUnit.KILOWATT_HOUR, KILOWATT_HOUR);
123 map.put(VehicleUnit.PSI, PSI);
124 map.put(VehicleUnit.BAR, BAR);
125 map.put(VehicleUnit.DEGREES, DEGREES);
126 map.put(VehicleUnit.MILES_PER_HOUR, MILES_PER_HOUR);
127 map.put(VehicleUnit.KILOMETERS_PER_HOUR, KILOMETERS_PER_HOUR);
128
129 return map;
130 }
131
132 private UnitsMap() {
133 }
134}