1 /*
2  * Copyright (C) 2023 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 
17 package android.hardware.automotive.vehicle;
18 
19 /**
20  * Test vendor properties used in reference VHAL implementation.
21  */
22 @Backing(type="int")
23 enum TestVendorProperty {
24 
25     /**
26      * Vendor version of CLUSTER_SWITCH_UI, used for the end-to-end testing of ClusterHomeService.
27      *
28      * VehiclePropertyGroup.VENDOR | VehicleArea.GLOBAL | VehiclePropertyType.INT32,
29      */
30     VENDOR_CLUSTER_SWITCH_UI = 0x0F34 + 0x20000000 + 0x01000000 + 0x00400000,
31 
32     /**
33      * Vendor version of CLUSTER_DISPLAY_STATE, used for the end-to-end testing of
34      * ClusterHomeService.
35      *
36      * VehiclePropertyGroup.VENDOR | VehicleArea.GLOBAL | VehiclePropertyType.INT32_VEC
37      */
38     VENDOR_CLUSTER_DISPLAY_STATE = 0x0F35 + 0x20000000 + 0x01000000 + 0x00410000,
39 
40     /**
41      * Vendor version of CLUSTER_REPORT_STATE, used for the end-to-end testing of
42      * ClusterHomeService.
43      *
44      * VehiclePropertyGroup.VENDOR | VehicleArea.GLOBAL | VehiclePropertyGroup.MIXED
45      */
46     VENDOR_CLUSTER_REPORT_STATE = 0x0F36 + 0x20000000 + 0x01000000 + 0x00E00000,
47 
48     /**
49      * Vendor version of CLUSTER_REQUEST_DISPLAY, used for the end-to-end testing of
50      * ClusterHomeService.
51      *
52      * VehiclePropertyGroup.VENDOR | VehicleArea.GLOBAL | VehiclePropertyType.INT32
53      */
54     VENDOR_CLUSTER_REQUEST_DISPLAY = 0x0F37 + 0x20000000 + 0x01000000 + 0x00400000,
55 
56     /**
57      * Vendor version of CLUSTER_NAVIGATION_STATE, used for the end-to-end testing of
58      * ClusterHomeService.
59      *
60      * VehiclePropertyGroup.VENDOR | VehicleArea.GLOBAL | VehiclePropertyType.BYTES
61      */
62     VENDOR_CLUSTER_NAVIGATION_STATE = 0x0F38 + 0x20000000 + 0x01000000 + 0x00700000,
63 
64     // These properties are placeholder properties for developers to test new features without
65     // implementing a real property.
66 
67     /**
68      * VehiclePropertyGroup.VENDOR | VehicleArea.GLOBAL | VehiclePropertyType.INT32
69      */
70     PLACEHOLDER_PROPERTY_INT = 0x2A11 + 0x20000000 + 0x01000000 + 0x00400000,
71 
72     /**
73      * VehiclePropertyGroup.VENDOR | VehicleArea.GLOBAL | VehiclePropertyType.FLOAT
74      */
75     PLACEHOLDER_PROPERTY_FLOAT = 0x2A11 + 0x20000000 + 0x01000000 + 0x00600000,
76 
77     /**
78      * VehiclePropertyGroup.VENDOR | VehicleArea.GLOBAL | VehiclePropertyType.BOOLEAN
79      */
80     PLACEHOLDER_PROPERTY_BOOLEAN = 0x2A11 + 0x20000000 + 0x01000000 + 0x00200000,
81 
82     /**
83      * VehiclePropertyGroup.VENDOR | VehicleArea.GLOBAL | VehiclePropertyType.STRING
84      */
85     PLACEHOLDER_PROPERTY_STRING = 0x2A11 + 0x20000000 + 0x01000000 + 0x00100000,
86 
87     /**
88      * This property is used for testing LargeParcelable marshalling/unmarhsalling end to end.
89      * It acts as an regular property that stores the property value when setting and return the
90      * value when getting, except that all the byteValues used in the setValue response would be
91      * filled in the reverse order.
92      *
93      * This is used in {@code VehicleHalLargeParcelableTest}.
94      *
95      * VehiclePropertyGroup.VENDOR | VehicleArea.GLOBAL | VehiclePropertyType.BYTES
96      *
97      * 0x21702a12
98      */
99     ECHO_REVERSE_BYTES = 0x2A12 + 0x20000000 + 0x01000000 + 0x00700000,
100 
101     /**
102      * This property is used for testing vendor error codes end to end.
103      *
104      * VehiclePropertyGroup.VENDOR | VehicleArea.GLOBAL | VehiclePropertyType.INT32
105      *
106      * 0x21402a13
107      */
108     VENDOR_PROPERTY_FOR_ERROR_CODE_TESTING = 0x2A13 + 0x20000000 + 0x01000000 + 0x00400000,
109 
110     /**
111      * This property is used for test purpose. End to end tests use this property to test set and
112      * get method for MIXED type properties.
113      *
114      * VehiclePropertyGroup.VENDOR | VehicleArea.GLOBAL | VehiclePropertyGroup.MIXED
115      */
116     MIXED_TYPE_PROPERTY_FOR_TEST = 0x1111 + 0x20000000 + 0x01000000 + 0x00E00000,
117 
118     /**
119      * Property used for {@code CarVendorPropertyCustomPermissionTest}.
120      *
121      * VehiclePropertyGroup.VENDOR | VehicleArea.DOOR | VehiclePropertyGroup.BOOLEAN
122      */
123     VENDOR_EXTENSION_BOOLEAN_PROPERTY = 0x0101 + 0x20000000 + 0x06000000 + 0x00200000,
124 
125     /**
126      * Property used for {@code CarVendorPropertyCustomPermissionTest}.
127      *
128      * VehiclePropertyGroup.VENDOR | VehicleArea.SEAT | VehiclePropertyGroup.FLOAT
129      */
130     VENDOR_EXTENSION_FLOAT_PROPERTY = 0x102 + 0x20000000 + 0x05000000 + 0x00600000,
131 
132     /**
133      * Property used for {@code CarVendorPropertyCustomPermissionTest}.
134      *
135      * VehiclePropertyGroup.VENDOR | VehicleArea.WINDOW | VehiclePropertyGroup.INT32
136      */
137     VENDOR_EXTENSION_INT_PROPERTY = 0x103 + 0x20000000 + 0x03000000 + 0x00400000,
138 
139     /**
140      * Property used for {@code CarVendorPropertyCustomPermissionTest}.
141      *
142      * VehiclePropertyGroup.VENDOR | VehicleArea.GLOBAL | VehiclePropertyGroup.STRING
143      */
144     VENDOR_EXTENSION_STRING_PROPERTY = 0x103 + 0x20000000 + 0x01000000 + 0x00100000,
145 }
146