1// Baseline format: 1.0
2CallbackInterface: android.car.CarAppFocusManager.OnAppFocusOwnershipCallback:
3    Callbacks must be abstract class instead of interface to enable extension in future API levels: OnAppFocusOwnershipCallback
4CallbackInterface: android.car.hardware.property.CarPropertyManager.CarPropertyEventCallback:
5    Callbacks must be abstract class instead of interface to enable extension in future API levels: CarPropertyEventCallback
6
7
8ConcreteCollection: android.car.hardware.property.CarPropertyManager#getPropertyList(android.util.ArraySet<java.lang.Integer>) parameter #0:
9    Parameter type is concrete collection (`android.util.ArraySet`); must be higher-level interface
10
11
12ExecutorRegistration: android.car.Car#createCar(android.content.Context, android.os.Handler, long, android.car.Car.CarServiceLifecycleListener):
13    Registration methods should have overload that accepts delivery Executor: `createCar`
14ExecutorRegistration: android.car.CarAppFocusManager#abandonAppFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback):
15    Registration methods should have overload that accepts delivery Executor: `abandonAppFocus`
16ExecutorRegistration: android.car.CarAppFocusManager#addFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener, int):
17    Registration methods should have overload that accepts delivery Executor: `addFocusListener`
18ExecutorRegistration: android.car.CarAppFocusManager#isOwningFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback, int):
19    Registration methods should have overload that accepts delivery Executor: `isOwningFocus`
20ExecutorRegistration: android.car.CarAppFocusManager#requestAppFocus(int, android.car.CarAppFocusManager.OnAppFocusOwnershipCallback):
21    Registration methods should have overload that accepts delivery Executor: `requestAppFocus`
22ExecutorRegistration: android.car.CarOccupantZoneManager#registerOccupantZoneConfigChangeListener(android.car.CarOccupantZoneManager.OccupantZoneConfigChangeListener):
23    Registration methods should have overload that accepts delivery Executor: `registerOccupantZoneConfigChangeListener`
24ExecutorRegistration: android.car.drivingstate.CarUxRestrictionsManager#registerListener(android.car.drivingstate.CarUxRestrictionsManager.OnUxRestrictionsChangedListener):
25    Registration methods should have overload that accepts delivery Executor: `registerListener`
26ExecutorRegistration: android.car.hardware.CarSensorManager#registerListener(android.car.hardware.CarSensorManager.OnSensorChangedListener, int, int):
27    Registration methods should have overload that accepts delivery Executor: `registerListener`
28ExecutorRegistration: android.car.hardware.property.CarPropertyManager#registerCallback(android.car.hardware.property.CarPropertyManager.CarPropertyEventCallback, int, float):
29    Registration methods should have overload that accepts delivery Executor: `registerCallback`
30ExecutorRegistration: android.car.media.CarAudioManager#registerCarVolumeCallback(android.car.media.CarAudioManager.CarVolumeCallback):
31    Registration methods should have overload that accepts delivery Executor: `registerCarVolumeCallback`
32
33
34HiddenSuperclass: android.car.CarAppFocusManager:
35    Public class android.car.CarAppFocusManager stripped of unavailable superclass android.car.CarManagerBase
36HiddenSuperclass: android.car.CarInfoManager:
37    Public class android.car.CarInfoManager stripped of unavailable superclass android.car.CarManagerBase
38HiddenSuperclass: android.car.CarOccupantZoneManager:
39    Public class android.car.CarOccupantZoneManager stripped of unavailable superclass android.car.CarManagerBase
40HiddenSuperclass: android.car.content.pm.CarPackageManager:
41    Public class android.car.content.pm.CarPackageManager stripped of unavailable superclass android.car.CarManagerBase
42HiddenSuperclass: android.car.drivingstate.CarUxRestrictionsManager:
43    Public class android.car.drivingstate.CarUxRestrictionsManager stripped of unavailable superclass android.car.CarManagerBase
44HiddenSuperclass: android.car.hardware.CarSensorManager:
45    Public class android.car.hardware.CarSensorManager stripped of unavailable superclass android.car.CarManagerBase
46HiddenSuperclass: android.car.hardware.property.CarPropertyManager:
47    Public class android.car.hardware.property.CarPropertyManager stripped of unavailable superclass android.car.CarManagerBase
48HiddenSuperclass: android.car.media.CarAudioManager:
49    Public class android.car.media.CarAudioManager stripped of unavailable superclass android.car.CarManagerBase
50HiddenSuperclass: android.car.settings.CarConfigurationManager:
51    Public class android.car.settings.CarConfigurationManager stripped of unavailable superclass android.car.CarManagerBase
52
53
54IntentName: android.car.Car#CAR_EXTRA_BROWSE_SERVICE_FOR_SESSION:
55    Intent extra constant name must be EXTRA_FOO: CAR_EXTRA_BROWSE_SERVICE_FOR_SESSION
56IntentName: android.car.Car#CAR_EXTRA_MEDIA_COMPONENT:
57    Intent extra constant name must be EXTRA_FOO: CAR_EXTRA_MEDIA_COMPONENT
58IntentName: android.car.Car#CAR_INTENT_ACTION_MEDIA_TEMPLATE:
59    Intent action constant name must be ACTION_FOO: CAR_INTENT_ACTION_MEDIA_TEMPLATE
60
61
62ListenerLast: android.car.CarAppFocusManager#abandonAppFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback, int) parameter #1:
63    Listeners should always be at end of argument list (method `abandonAppFocus`)
64ListenerLast: android.car.CarAppFocusManager#isOwningFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback, int) parameter #1:
65    Listeners should always be at end of argument list (method `isOwningFocus`)
66
67
68MissingNullability: android.car.Car#createCar(android.content.Context) parameter #0:
69    Missing nullability on parameter `context` in method `createCar`
70MissingNullability: android.car.Car#createCar(android.content.Context, android.content.ServiceConnection) parameter #0:
71    Missing nullability on parameter `context` in method `createCar`
72MissingNullability: android.car.Car#createCar(android.content.Context, android.content.ServiceConnection) parameter #1:
73    Missing nullability on parameter `serviceConnectionListener` in method `createCar`
74MissingNullability: android.car.Car#createCar(android.content.Context, android.content.ServiceConnection, android.os.Handler) parameter #0:
75    Missing nullability on parameter `context` in method `createCar`
76MissingNullability: android.car.Car#createCar(android.content.Context, android.content.ServiceConnection, android.os.Handler) parameter #1:
77    Missing nullability on parameter `serviceConnectionListener` in method `createCar`
78MissingNullability: android.car.Car#createCar(android.content.Context, android.os.Handler) parameter #0:
79    Missing nullability on parameter `context` in method `createCar`
80MissingNullability: android.car.Car#getCarManager(String) parameter #0:
81    Missing nullability on parameter `serviceName` in method `getCarManager`
82MissingNullability: android.car.CarAppFocusManager#abandonAppFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback) parameter #0:
83    Missing nullability on parameter `ownershipCallback` in method `abandonAppFocus`
84MissingNullability: android.car.CarAppFocusManager#abandonAppFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback, int) parameter #0:
85    Missing nullability on parameter `ownershipCallback` in method `abandonAppFocus`
86MissingNullability: android.car.CarAppFocusManager#addFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener, int) parameter #0:
87    Missing nullability on parameter `listener` in method `addFocusListener`
88MissingNullability: android.car.CarAppFocusManager#isOwningFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback, int) parameter #0:
89    Missing nullability on parameter `callback` in method `isOwningFocus`
90MissingNullability: android.car.CarAppFocusManager#removeFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener) parameter #0:
91    Missing nullability on parameter `listener` in method `removeFocusListener`
92MissingNullability: android.car.CarAppFocusManager#removeFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener, int) parameter #0:
93    Missing nullability on parameter `listener` in method `removeFocusListener`
94MissingNullability: android.car.CarAppFocusManager#requestAppFocus(int, android.car.CarAppFocusManager.OnAppFocusOwnershipCallback) parameter #1:
95    Missing nullability on parameter `ownershipCallback` in method `requestAppFocus`
96MissingNullability: android.car.CarInfoManager#getEvConnectorTypes():
97    Missing nullability on method `getEvConnectorTypes` return
98MissingNullability: android.car.CarInfoManager#getFuelTypes():
99    Missing nullability on method `getFuelTypes` return
100MissingNullability: android.car.CarNotConnectedException#CarNotConnectedException(Exception) parameter #0:
101    Missing nullability on parameter `cause` in method `CarNotConnectedException`
102MissingNullability: android.car.CarNotConnectedException#CarNotConnectedException(String) parameter #0:
103    Missing nullability on parameter `name` in method `CarNotConnectedException`
104MissingNullability: android.car.CarNotConnectedException#CarNotConnectedException(String, Throwable) parameter #0:
105    Missing nullability on parameter `name` in method `CarNotConnectedException`
106MissingNullability: android.car.CarNotConnectedException#CarNotConnectedException(String, Throwable) parameter #1:
107    Missing nullability on parameter `cause` in method `CarNotConnectedException`
108MissingNullability: android.car.CarOccupantZoneManager.OccupantZoneInfo#CREATOR:
109    Missing nullability on field `CREATOR` in class `class android.car.CarOccupantZoneManager.OccupantZoneInfo`
110MissingNullability: android.car.CarOccupantZoneManager.OccupantZoneInfo#writeToParcel(android.os.Parcel, int) parameter #0:
111    Missing nullability on parameter `dest` in method `writeToParcel`
112MissingNullability: android.car.VehicleGear#toString(int):
113    Missing nullability on method `toString` return
114MissingNullability: android.car.VehiclePropertyIds#toString(int):
115    Missing nullability on method `toString` return
116MissingNullability: android.car.content.pm.CarPackageManager#isActivityDistractionOptimized(String, String) parameter #0:
117    Missing nullability on parameter `packageName` in method `isActivityDistractionOptimized`
118MissingNullability: android.car.content.pm.CarPackageManager#isActivityDistractionOptimized(String, String) parameter #1:
119    Missing nullability on parameter `className` in method `isActivityDistractionOptimized`
120MissingNullability: android.car.content.pm.CarPackageManager#isServiceDistractionOptimized(String, String) parameter #0:
121    Missing nullability on parameter `packageName` in method `isServiceDistractionOptimized`
122MissingNullability: android.car.content.pm.CarPackageManager#isServiceDistractionOptimized(String, String) parameter #1:
123    Missing nullability on parameter `className` in method `isServiceDistractionOptimized`
124MissingNullability: android.car.drivingstate.CarUxRestrictions#CREATOR:
125    Missing nullability on field `CREATOR` in class `class android.car.drivingstate.CarUxRestrictions`
126MissingNullability: android.car.drivingstate.CarUxRestrictions#CarUxRestrictions(android.car.drivingstate.CarUxRestrictions) parameter #0:
127    Missing nullability on parameter `uxRestrictions` in method `CarUxRestrictions`
128MissingNullability: android.car.drivingstate.CarUxRestrictions#isSameRestrictions(android.car.drivingstate.CarUxRestrictions) parameter #0:
129    Missing nullability on parameter `other` in method `isSameRestrictions`
130MissingNullability: android.car.drivingstate.CarUxRestrictions#writeToParcel(android.os.Parcel, int) parameter #0:
131    Missing nullability on parameter `dest` in method `writeToParcel`
132MissingNullability: android.car.drivingstate.CarUxRestrictions.Builder#build():
133    Missing nullability on method `build` return
134MissingNullability: android.car.drivingstate.CarUxRestrictions.Builder#setMaxContentDepth(int):
135    Missing nullability on method `setMaxContentDepth` return
136MissingNullability: android.car.drivingstate.CarUxRestrictions.Builder#setMaxCumulativeContentItems(int):
137    Missing nullability on method `setMaxCumulativeContentItems` return
138MissingNullability: android.car.drivingstate.CarUxRestrictions.Builder#setMaxStringLength(int):
139    Missing nullability on method `setMaxStringLength` return
140MissingNullability: android.car.drivingstate.CarUxRestrictionsManager.OnUxRestrictionsChangedListener#onUxRestrictionsChanged(android.car.drivingstate.CarUxRestrictions) parameter #0:
141    Missing nullability on parameter `restrictionInfo` in method `onUxRestrictionsChanged`
142MissingNullability: android.car.hardware.CarPropertyConfig#CREATOR:
143    Missing nullability on field `CREATOR` in class `class android.car.hardware.CarPropertyConfig`
144MissingNullability: android.car.hardware.CarPropertyConfig#writeToParcel(android.os.Parcel, int) parameter #0:
145    Missing nullability on parameter `dest` in method `writeToParcel`
146MissingNullability: android.car.hardware.CarPropertyValue#CREATOR:
147    Missing nullability on field `CREATOR` in class `class android.car.hardware.CarPropertyValue`
148MissingNullability: android.car.hardware.CarPropertyValue#writeToParcel(android.os.Parcel, int) parameter #0:
149    Missing nullability on parameter `dest` in method `writeToParcel`
150MissingNullability: android.car.hardware.CarSensorEvent#CREATOR:
151    Missing nullability on field `CREATOR` in class `class android.car.hardware.CarSensorEvent`
152MissingNullability: android.car.hardware.CarSensorEvent#floatValues:
153    Missing nullability on field `floatValues` in class `class android.car.hardware.CarSensorEvent`
154MissingNullability: android.car.hardware.CarSensorEvent#intValues:
155    Missing nullability on field `intValues` in class `class android.car.hardware.CarSensorEvent`
156MissingNullability: android.car.hardware.CarSensorEvent#longValues:
157    Missing nullability on field `longValues` in class `class android.car.hardware.CarSensorEvent`
158MissingNullability: android.car.hardware.CarSensorEvent#writeToParcel(android.os.Parcel, int) parameter #0:
159    Missing nullability on parameter `dest` in method `writeToParcel`
160MissingNullability: android.car.hardware.CarSensorManager.OnSensorChangedListener#onSensorChanged(android.car.hardware.CarSensorEvent) parameter #0:
161    Missing nullability on parameter `event` in method `onSensorChanged`
162MissingNullability: android.car.hardware.property.CarPropertyManager.CarPropertyEventCallback#onChangeEvent(android.car.hardware.CarPropertyValue) parameter #0:
163    Missing nullability on parameter `value` in method `onChangeEvent`
164MissingNullability: android.car.settings.CarConfigurationManager#getSpeedBumpConfiguration():
165    Missing nullability on method `getSpeedBumpConfiguration` return
166MissingNullability: android.car.settings.SpeedBumpConfiguration#CREATOR:
167    Missing nullability on field `CREATOR` in class `class android.car.settings.SpeedBumpConfiguration`
168MissingNullability: android.car.settings.SpeedBumpConfiguration#writeToParcel(android.os.Parcel, int) parameter #0:
169    Missing nullability on parameter `desk` in method `writeToParcel`
170
171
172MutableBareField: android.car.CarOccupantZoneManager.OccupantZoneInfo#zoneId:
173    Bare field zoneId must be marked final, or moved behind accessors if mutable
174MutableBareField: android.car.hardware.CarSensorEvent#sensorType:
175    Bare field sensorType must be marked final, or moved behind accessors if mutable
176MutableBareField: android.car.hardware.CarSensorEvent#timestamp:
177    Bare field timestamp must be marked final, or moved behind accessors if mutable
178MutableBareField: android.car.hardware.CarSensorEvent.EnvironmentData#temperature:
179    Bare field temperature must be marked final, or moved behind accessors if mutable
180MutableBareField: android.car.hardware.CarSensorEvent.EnvironmentData#timestamp:
181    Bare field timestamp must be marked final, or moved behind accessors if mutable
182
183
184NotCloseable: android.car.Car:
185    Classes that release resources (disconnect()) should implement AutoClosable and CloseGuard: class android.car.Car
186
187
188PublicTypedef: android.car.drivingstate.CarUxRestrictions.CarUxRestrictionsInfo:
189    Don't expose @IntDef: CarUxRestrictionsInfo must be hidden.
190PublicTypedef: android.car.hardware.CarPropertyValue.PropertyStatus:
191    Don't expose @IntDef: PropertyStatus must be hidden.
192
193
194RegistrationName: android.car.CarOccupantZoneManager#registerOccupantZoneConfigChangeListener(android.car.CarOccupantZoneManager.OccupantZoneConfigChangeListener):
195    Listener methods should be named add/remove; was registerOccupantZoneConfigChangeListener
196RegistrationName: android.car.CarOccupantZoneManager#unregisterOccupantZoneConfigChangeListener(android.car.CarOccupantZoneManager.OccupantZoneConfigChangeListener):
197    Listener methods should be named add/remove; was unregisterOccupantZoneConfigChangeListener
198RegistrationName: android.car.drivingstate.CarUxRestrictionsManager#registerListener(android.car.drivingstate.CarUxRestrictionsManager.OnUxRestrictionsChangedListener):
199    Listener methods should be named add/remove; was registerListener
200RegistrationName: android.car.drivingstate.CarUxRestrictionsManager#unregisterListener():
201    Listener methods should be named add/remove; was unregisterListener
202RegistrationName: android.car.hardware.CarSensorManager#registerListener(android.car.hardware.CarSensorManager.OnSensorChangedListener, int, int):
203    Listener methods should be named add/remove; was registerListener
204RegistrationName: android.car.hardware.CarSensorManager#unregisterListener(android.car.hardware.CarSensorManager.OnSensorChangedListener):
205    Listener methods should be named add/remove; was unregisterListener
206RegistrationName: android.car.hardware.CarSensorManager#unregisterListener(android.car.hardware.CarSensorManager.OnSensorChangedListener, int):
207    Listener methods should be named add/remove; was unregisterListener
208
209
210SamShouldBeLast: android.car.CarAppFocusManager#addFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener, int):
211    SAM-compatible parameters (such as parameter 1, "listener", in android.car.CarAppFocusManager.addFocusListener) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions
212SamShouldBeLast: android.car.CarAppFocusManager#removeFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener, int):
213    SAM-compatible parameters (such as parameter 1, "listener", in android.car.CarAppFocusManager.removeFocusListener) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions
214SamShouldBeLast: android.car.hardware.CarSensorManager#registerListener(android.car.hardware.CarSensorManager.OnSensorChangedListener, int, int):
215    SAM-compatible parameters (such as parameter 1, "listener", in android.car.hardware.CarSensorManager.registerListener) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions
216SamShouldBeLast: android.car.hardware.CarSensorManager#unregisterListener(android.car.hardware.CarSensorManager.OnSensorChangedListener, int):
217    SAM-compatible parameters (such as parameter 1, "listener", in android.car.hardware.CarSensorManager.unregisterListener) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions
218
219
220ServiceName: android.car.Car#CAR_CONFIGURATION_SERVICE:
221    Inconsistent service value; expected `CAR_CONFIGURATION`, was `configuration`
222ServiceName: android.car.Car#CAR_NAVIGATION_SERVICE:
223    Inconsistent service value; expected `CAR_NAVIGATION`, was `car_navigation_service`
224ServiceName: android.car.Car#CAR_OCCUPANT_ZONE_SERVICE:
225    Inconsistent service value; expected `CAR_OCCUPANT_ZONE`, was `car_occupant_zone_service`
226ServiceName: android.car.Car#CAR_UX_RESTRICTION_SERVICE:
227    Inconsistent service value; expected `CAR_UX_RESTRICTION`, was `uxrestriction`
228
229
230StaticUtils: android.car.VehiclePropertyIds:
231    Fully-static utility classes must not have constructor
232StaticUtils: android.car.settings.CarSettings.Global:
233    Fully-static utility classes must not have constructor
234
235
236VisiblySynchronized: PsiThisExpression:this:
237    Internal locks must not be exposed (synchronizing on this or class is still externally observable): method android.car.CarAppFocusManager.addFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener,int)
238VisiblySynchronized: android.car.CarAppFocusManager#abandonAppFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback):
239    Internal locks must not be exposed (synchronizing on this or class is still externally observable): method android.car.CarAppFocusManager.abandonAppFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback)
240VisiblySynchronized: android.car.CarAppFocusManager#abandonAppFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback, int):
241    Internal locks must not be exposed (synchronizing on this or class is still externally observable): method android.car.CarAppFocusManager.abandonAppFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback,int)
242VisiblySynchronized: android.car.CarAppFocusManager#addFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener, int):
243    Internal locks must not be exposed (synchronizing on this or class is still externally observable): method android.car.CarAppFocusManager.addFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener,int)
244VisiblySynchronized: android.car.CarAppFocusManager#isOwningFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback, int):
245    Internal locks must not be exposed (synchronizing on this or class is still externally observable): method android.car.CarAppFocusManager.isOwningFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback,int)
246VisiblySynchronized: android.car.CarAppFocusManager#removeFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener):
247    Internal locks must not be exposed (synchronizing on this or class is still externally observable): method android.car.CarAppFocusManager.removeFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener)
248VisiblySynchronized: android.car.CarAppFocusManager#removeFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener, int):
249    Internal locks must not be exposed (synchronizing on this or class is still externally observable): method android.car.CarAppFocusManager.removeFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener,int)
250VisiblySynchronized: android.car.CarAppFocusManager#requestAppFocus(int, android.car.CarAppFocusManager.OnAppFocusOwnershipCallback):
251    Internal locks must not be exposed (synchronizing on this or class is still externally observable): method android.car.CarAppFocusManager.requestAppFocus(int,android.car.CarAppFocusManager.OnAppFocusOwnershipCallback)
252VisiblySynchronized: android.car.drivingstate.CarUxRestrictionsManager#unregisterListener():
253    Internal locks must not be exposed (synchronizing on this or class is still externally observable): method android.car.drivingstate.CarUxRestrictionsManager.unregisterListener()
254