1 /*
2  * Copyright (C) 2017 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 package android.car;
17 
18 import android.annotation.IntDef;
19 
20 import java.lang.annotation.Retention;
21 import java.lang.annotation.RetentionPolicy;
22 
23 /**
24  * EvConnectorType denotes the different connectors a EV may use.
25  */
26 public final class EvConnectorType {
27     /**
28      * List of EV Connector Types used in {@link CarInfoManager#getEvConnectorTypes()}.
29      * If a vehicle does not know the type, it will return UNKNOWN.
30      * The vehicle returns OTHER when no other types apply.
31      * <b>Note:</b> The connector types in Java API have different values than the ones in VHAL.
32      */
33     public static final int UNKNOWN = 0;
34     /** Connector type SAE J1772 */
35     public static final int J1772 = 1;
36     /** IEC 62196 Type 2 connector */
37     public static final int MENNEKES = 2;
38     /** CHAdeMo fast charger connector */
39     public static final int CHADEMO = 3;
40     /** Combined Charging System Combo 1 */
41     public static final int COMBO_1 = 4;
42     /** Combined Charging System Combo 2 */
43     public static final int COMBO_2 = 5;
44     /** Connector of Tesla Roadster */
45     public static final int TESLA_ROADSTER = 6;
46     /** High Power Wall Charger of Tesla */
47     public static final int TESLA_HPWC = 7;
48     /** Supercharger of Tesla */
49     public static final int TESLA_SUPERCHARGER = 8;
50     /** GBT_AC Fast Charging Standard */
51     public static final int GBT = 9;
52     /** GBT_DC Fast Charging Standard */
53     public static final int GBT_DC = 10;
54     /** IEC_TYPE_3_AC connector */
55     public static final int SCAME = 11;
56 
57     /**
58      * Connector type to use when no other types apply.
59      */
60     public static final int OTHER = 101;
61 
62     /** @hide */
63     @IntDef({
64         UNKNOWN,
65         J1772,
66         MENNEKES,
67         CHADEMO,
68         COMBO_1,
69         COMBO_2,
70         TESLA_ROADSTER,
71         TESLA_HPWC,
72         TESLA_SUPERCHARGER,
73         GBT,
74         GBT_DC,
75         SCAME,
76         OTHER
77     })
78     @Retention(RetentionPolicy.SOURCE)
79     public @interface Enum {}
80 
EvConnectorType()81     private EvConnectorType() {}
82 }
83