1// Signature format: 2.0
2package android.car {
3
4  public abstract class AoapService extends android.app.Service {
5    ctor public AoapService();
6    method @MainThread public int canSwitchToAoap(@NonNull android.hardware.usb.UsbDevice);
7    method @MainThread public abstract int isDeviceSupported(@NonNull android.hardware.usb.UsbDevice);
8    method public android.os.IBinder onBind(android.content.Intent);
9    field public static final int RESULT_DEVICE_NOT_SUPPORTED = 1; // 0x1
10    field public static final int RESULT_DO_NOT_SWITCH_TO_AOAP = 2; // 0x2
11    field public static final int RESULT_OK = 0; // 0x0
12  }
13
14  public final class Car {
15    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_FEATURES) public int disableFeature(@NonNull String);
16    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_FEATURES) public int enableFeature(@NonNull String);
17    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_FEATURES) public java.util.List<java.lang.String> getAllEnabledFeatures();
18    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_FEATURES) public java.util.List<java.lang.String> getAllPendingDisabledFeatures();
19    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_FEATURES) public java.util.List<java.lang.String> getAllPendingEnabledFeatures();
20    field public static final String ACCESS_PRIVATE_DISPLAY_ID = "android.car.permission.ACCESS_PRIVATE_DISPLAY_ID";
21    field @Deprecated public static final String CABIN_SERVICE = "cabin";
22    field public static final String CAR_ACTIVITY_SERVICE = "car_activity_service";
23    field public static final String CAR_BUGREPORT_SERVICE = "car_bugreport";
24    field public static final String CAR_DEVICE_POLICY_SERVICE = "car_device_policy_service";
25    field @FlaggedApi("android.car.feature.display_compatibility") public static final String CAR_DISPLAY_COMPAT_SERVICE = "car_display_compat_service";
26    field public static final String CAR_DRIVING_STATE_SERVICE = "drivingstate";
27    field public static final String CAR_EVS_SERVICE = "car_evs_service";
28    field public static final String CAR_EXTRA_CLUSTER_ACTIVITY_STATE = "android.car.cluster.ClusterActivityState";
29    field public static final String CAR_INPUT_SERVICE = "android.car.input";
30    field public static final String CAR_MEDIA_SERVICE = "car_media";
31    field public static final String CAR_OCCUPANT_CONNECTION_SERVICE = "car_occupant_connection_service";
32    field public static final String CAR_PERFORMANCE_SERVICE = "car_performance";
33    field @FlaggedApi("android.car.feature.car_property_simulation") public static final String CAR_PROPERTY_SIMULATION_SERVICE = "car_property_simulation_service";
34    field public static final String CAR_REMOTEACCESS_REMOTE_TASK_CLIENT_SERVICE = "android.car.remoteaccess.RemoteTaskClientService";
35    field public static final String CAR_REMOTE_ACCESS_SERVICE = "car_remote_access_service";
36    field public static final String CAR_REMOTE_DEVICE_SERVICE = "car_remote_device_service";
37    field public static final String CAR_TELEMETRY_SERVICE = "car_telemetry_service";
38    field public static final String CAR_USER_SERVICE = "car_user_service";
39    field @FlaggedApi("android.car.feature.persist_ap_settings") public static final String CAR_WIFI_SERVICE = "car_wifi_service";
40    field public static final String DIAGNOSTIC_SERVICE = "diagnostic";
41    field public static final int FEATURE_REQUEST_ALREADY_IN_THE_STATE = 1; // 0x1
42    field public static final int FEATURE_REQUEST_MANDATORY = 2; // 0x2
43    field public static final int FEATURE_REQUEST_NOT_EXISTING = 3; // 0x3
44    field public static final int FEATURE_REQUEST_SUCCESS = 0; // 0x0
45    field @Deprecated public static final String HVAC_SERVICE = "hvac";
46    field public static final String OCCUPANT_AWARENESS_SERVICE = "occupant_awareness";
47    field public static final String PERMISSION_ACCESS_MIRRORRED_SURFACE = "android.car.permission.ACCESS_MIRRORED_SURFACE";
48    field @FlaggedApi("android.car.feature.car_app_card") public static final String PERMISSION_BIND_APP_CARD_PROVIDER = "android.car.permission.BIND_APP_CARD_PROVIDER";
49    field public static final String PERMISSION_CAR_DIAGNOSTIC_CLEAR = "android.car.permission.CLEAR_CAR_DIAGNOSTICS";
50    field public static final String PERMISSION_CAR_DIAGNOSTIC_READ_ALL = "android.car.permission.CAR_DIAGNOSTICS";
51    field public static final String PERMISSION_CAR_INSTRUMENT_CLUSTER_CONTROL = "android.car.permission.CAR_INSTRUMENT_CLUSTER_CONTROL";
52    field @FlaggedApi("android.car.feature.cluster_health_monitoring") public static final String PERMISSION_CAR_MONITOR_CLUSTER_NAVIGATION_STATE = "android.car.permission.CAR_MONITOR_CLUSTER_NAVIGATION_STATE";
53    field public static final String PERMISSION_CAR_MONITOR_INPUT = "android.car.permission.CAR_MONITOR_INPUT";
54    field public static final String PERMISSION_CAR_POWER = "android.car.permission.CAR_POWER";
55    field public static final String PERMISSION_CAR_PROJECTION = "android.car.permission.CAR_PROJECTION";
56    field public static final String PERMISSION_CAR_PROJECTION_STATUS = "android.car.permission.ACCESS_CAR_PROJECTION_STATUS";
57    field public static final String PERMISSION_CAR_TEST_SERVICE = "android.car.permission.CAR_TEST_SERVICE";
58    field public static final String PERMISSION_CAR_UX_RESTRICTIONS_CONFIGURATION = "android.car.permission.CAR_UX_RESTRICTIONS_CONFIGURATION";
59    field public static final String PERMISSION_COLLECT_CAR_WATCHDOG_METRICS = "android.car.permission.COLLECT_CAR_WATCHDOG_METRICS";
60    field public static final String PERMISSION_CONTROL_APP_BLOCKING = "android.car.permission.CONTROL_APP_BLOCKING";
61    field public static final String PERMISSION_CONTROL_CAR_APP_LAUNCH = "android.car.permission.CONTROL_CAR_APP_LAUNCH";
62    field public static final String PERMISSION_CONTROL_CAR_EVS_ACTIVITY = "android.car.permission.CONTROL_CAR_EVS_ACTIVITY";
63    field public static final String PERMISSION_CONTROL_CAR_FEATURES = "android.car.permission.CONTROL_CAR_FEATURES";
64    field @Deprecated public static final String PERMISSION_CONTROL_CAR_OCCUPANT_AWARENESS_SYSTEM = "android.car.permission.CONTROL_CAR_OCCUPANT_AWARENESS_SYSTEM";
65    field public static final String PERMISSION_CONTROL_CAR_POWER_POLICY = "android.car.permission.CONTROL_CAR_POWER_POLICY";
66    field public static final String PERMISSION_CONTROL_CAR_WATCHDOG_CONFIG = "android.car.permission.CONTROL_CAR_WATCHDOG_CONFIG";
67    field public static final String PERMISSION_CONTROL_REMOTE_ACCESS = "android.car.permission.CONTROL_REMOTE_ACCESS";
68    field public static final String PERMISSION_CONTROL_SHUTDOWN_PROCESS = "android.car.permission.CONTROL_SHUTDOWN_PROCESS";
69    field @FlaggedApi("android.car.feature.car_property_simulation") public static final String PERMISSION_INJECT_VEHICLE_PROPERTIES = "android.car.permission.INJECT_VEHICLE_PROPERTIES";
70    field public static final String PERMISSION_MANAGE_CAR_SYSTEM_UI = "android.car.permission.MANAGE_CAR_SYSTEM_UI";
71    field @FlaggedApi("android.car.feature.display_compatibility") public static final String PERMISSION_MANAGE_DISPLAY_COMPATIBILITY = "android.car.permission.MANAGE_DISPLAY_COMPATIBILITY";
72    field public static final String PERMISSION_MANAGE_OCCUPANT_CONNECTION = "android.car.permission.MANAGE_OCCUPANT_CONNECTION";
73    field public static final String PERMISSION_MANAGE_OCCUPANT_ZONE = "android.car.permission.MANAGE_OCCUPANT_ZONE";
74    field public static final String PERMISSION_MANAGE_REMOTE_DEVICE = "android.car.permission.MANAGE_REMOTE_DEVICE";
75    field public static final String PERMISSION_MANAGE_THREAD_PRIORITY = "android.car.permission.MANAGE_THREAD_PRIORITY";
76    field public static final String PERMISSION_MIRROR_DISPLAY = "android.car.permission.MIRROR_DISPLAY";
77    field @Deprecated public static final String PERMISSION_MOCK_VEHICLE_HAL = "android.car.permission.CAR_MOCK_VEHICLE_HAL";
78    field public static final String PERMISSION_MONITOR_CAR_EVS_STATUS = "android.car.permission.MONITOR_CAR_EVS_STATUS";
79    field public static final String PERMISSION_READ_CAR_OCCUPANT_AWARENESS_STATE = "android.car.permission.READ_CAR_OCCUPANT_AWARENESS_STATE";
80    field public static final String PERMISSION_READ_CAR_VENDOR_PERMISSION_INFO = "android.car.permission.READ_CAR_VENDOR_PERMISSION_INFO";
81    field @FlaggedApi("android.car.feature.persist_ap_settings") public static final String PERMISSION_READ_PERSIST_TETHERING_SETTINGS = "android.car.permission.READ_PERSIST_TETHERING_SETTINGS";
82    field public static final String PERMISSION_RECEIVE_CAR_AUDIO_DUCKING_EVENTS = "android.car.permission.RECEIVE_CAR_AUDIO_DUCKING_EVENTS";
83    field @FlaggedApi("android.car.feature.car_property_simulation") public static final String PERMISSION_RECORD_VEHICLE_PROPERTIES = "android.car.permission.RECORD_VEHICLE_PROPERTIES";
84    field public static final String PERMISSION_REGISTER_CAR_SYSTEM_UI_PROXY = "android.car.permission.REGISTER_CAR_SYSTEM_UI_PROXY";
85    field public static final String PERMISSION_REQUEST_CAR_EVS_ACTIVITY = "android.car.permission.REQUEST_CAR_EVS_ACTIVITY";
86    field public static final String PERMISSION_STORAGE_MONITORING = "android.car.permission.STORAGE_MONITORING";
87    field public static final String PERMISSION_TEMPLATE_RENDERER = "android.car.permission.TEMPLATE_RENDERER";
88    field public static final String PERMISSION_USE_CAR_EVS_CAMERA = "android.car.permission.USE_CAR_EVS_CAMERA";
89    field public static final String PERMISSION_USE_CAR_TELEMETRY_SERVICE = "android.car.permission.USE_CAR_TELEMETRY_SERVICE";
90    field public static final String PERMISSION_USE_CAR_WATCHDOG = "android.car.permission.USE_CAR_WATCHDOG";
91    field public static final String PERMISSION_VENDOR_EXTENSION = "android.car.permission.CAR_VENDOR_EXTENSION";
92    field public static final String PERMISSION_VMS_PUBLISHER = "android.car.permission.VMS_PUBLISHER";
93    field public static final String PERMISSION_VMS_SUBSCRIBER = "android.car.permission.VMS_SUBSCRIBER";
94    field public static final String PROJECTION_SERVICE = "projection";
95    field public static final String STORAGE_MONITORING_SERVICE = "storage_monitoring";
96    field public static final String TEST_SERVICE = "car-service-test";
97    field public static final String VEHICLE_MAP_SERVICE = "vehicle_map_service";
98    field @Deprecated public static final String VENDOR_EXTENSION_SERVICE = "vendor_extension";
99    field @Deprecated public static final String VMS_SUBSCRIBER_SERVICE = "vehicle_map_subscriber_service";
100  }
101
102  public final class CarAppFocusManager {
103    method @FlaggedApi("android.car.feature.cluster_health_monitoring") @NonNull @RequiresPermission(allOf={android.Manifest.permission.QUERY_ALL_PACKAGES, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public java.util.List<java.lang.String> getAppTypeOwner(int);
104  }
105
106  public final class CarBugreportManager {
107    method @RequiresPermission(android.Manifest.permission.DUMP) public void cancelBugreport();
108    method @RequiresPermission(android.Manifest.permission.DUMP) public void requestBugreport(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull android.car.CarBugreportManager.CarBugreportManagerCallback);
109  }
110
111  public abstract static class CarBugreportManager.CarBugreportManagerCallback {
112    ctor public CarBugreportManager.CarBugreportManagerCallback();
113    method public void onError(int);
114    method public void onFinished();
115    method public void onProgress(@FloatRange(from=0.0f, to=100.0f) float);
116    field public static final int CAR_BUGREPORT_DUMPSTATE_CONNECTION_FAILED = 3; // 0x3
117    field public static final int CAR_BUGREPORT_DUMPSTATE_FAILED = 1; // 0x1
118    field public static final int CAR_BUGREPORT_IN_PROGRESS = 2; // 0x2
119    field public static final int CAR_BUGREPORT_SERVICE_NOT_AVAILABLE = 4; // 0x4
120  }
121
122  public class CarOccupantZoneManager {
123    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.car.Car.PERMISSION_MANAGE_OCCUPANT_ZONE}) public int assignVisibleUserToOccupantZone(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, @NonNull android.os.UserHandle);
124    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public int getAudioZoneIdForOccupant(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
125    method @RequiresPermission(android.car.Car.ACCESS_PRIVATE_DISPLAY_ID) public int getDisplayIdForDriver(int);
126    method @Nullable @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public android.car.CarOccupantZoneManager.OccupantZoneInfo getOccupantForAudioZoneId(int);
127    method @Nullable public android.car.CarOccupantZoneManager.OccupantZoneInfo getOccupantZoneForDisplayId(int);
128    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.car.Car.PERMISSION_MANAGE_OCCUPANT_ZONE}) public int unassignOccupantZone(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
129    field public static final int USER_ASSIGNMENT_RESULT_FAIL_ALREADY_ASSIGNED = 1; // 0x1
130    field public static final int USER_ASSIGNMENT_RESULT_FAIL_DRIVER_ZONE = 3; // 0x3
131    field public static final int USER_ASSIGNMENT_RESULT_FAIL_NON_VISIBLE_USER = 2; // 0x2
132    field public static final int USER_ASSIGNMENT_RESULT_OK = 0; // 0x0
133  }
134
135  public final class CarProjectionManager {
136    method @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION) public void addKeyEventHandler(@NonNull java.util.Set<java.lang.Integer>, @NonNull android.car.CarProjectionManager.ProjectionKeyEventHandler);
137    method @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION) public void addKeyEventHandler(@NonNull java.util.Set<java.lang.Integer>, @Nullable java.util.concurrent.Executor, @NonNull android.car.CarProjectionManager.ProjectionKeyEventHandler);
138    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION) public java.util.List<java.lang.Integer> getAvailableWifiChannels(int);
139    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION) public android.os.Bundle getProjectionOptions();
140    method @FlaggedApi("android.car.feature.projection_query_bt_profile_inhibit") @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION) public boolean isBluetoothProfileInhibited(@NonNull android.bluetooth.BluetoothDevice, int);
141    method @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION) public void registerProjectionListener(@NonNull android.car.CarProjectionManager.CarProjectionListener, int);
142    method @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION) public void registerProjectionRunner(@NonNull android.content.Intent);
143    method @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION_STATUS) public void registerProjectionStatusListener(@NonNull android.car.CarProjectionManager.ProjectionStatusListener);
144    method @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION) public boolean releaseBluetoothProfileInhibit(@NonNull android.bluetooth.BluetoothDevice, int);
145    method @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION) public void removeKeyEventHandler(@NonNull android.car.CarProjectionManager.ProjectionKeyEventHandler);
146    method @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION) public boolean requestBluetoothProfileInhibit(@NonNull android.bluetooth.BluetoothDevice, int);
147    method @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION) public void resetProjectionAccessPointCredentials();
148    method @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION) public void startProjectionAccessPoint(@NonNull android.car.CarProjectionManager.ProjectionAccessPointCallback);
149    method @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION) public void stopProjectionAccessPoint();
150    method @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION) public void unregisterProjectionListener();
151    method @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION) public void unregisterProjectionRunner(@NonNull android.content.Intent);
152    method @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION_STATUS) public void unregisterProjectionStatusListener(@NonNull android.car.CarProjectionManager.ProjectionStatusListener);
153    method @RequiresPermission(android.car.Car.PERMISSION_CAR_PROJECTION) public void updateProjectionStatus(@NonNull android.car.projection.ProjectionStatus);
154    field public static final int KEY_EVENT_CALL_KEY_DOWN = 4; // 0x4
155    field public static final int KEY_EVENT_CALL_LONG_PRESS_KEY_DOWN = 6; // 0x6
156    field public static final int KEY_EVENT_CALL_LONG_PRESS_KEY_UP = 7; // 0x7
157    field public static final int KEY_EVENT_CALL_SHORT_PRESS_KEY_UP = 5; // 0x5
158    field public static final int KEY_EVENT_VOICE_SEARCH_KEY_DOWN = 0; // 0x0
159    field public static final int KEY_EVENT_VOICE_SEARCH_LONG_PRESS_KEY_DOWN = 2; // 0x2
160    field public static final int KEY_EVENT_VOICE_SEARCH_LONG_PRESS_KEY_UP = 3; // 0x3
161    field public static final int KEY_EVENT_VOICE_SEARCH_SHORT_PRESS_KEY_UP = 1; // 0x1
162    field @Deprecated public static final int PROJECTION_LONG_PRESS_VOICE_SEARCH = 2; // 0x2
163    field @Deprecated public static final int PROJECTION_VOICE_SEARCH = 1; // 0x1
164  }
165
166  public static interface CarProjectionManager.CarProjectionListener {
167    method public void onVoiceAssistantRequest(boolean);
168  }
169
170  public abstract static class CarProjectionManager.ProjectionAccessPointCallback {
171    ctor public CarProjectionManager.ProjectionAccessPointCallback();
172    method public void onFailed(int);
173    method @Deprecated public void onStarted(@Nullable android.net.wifi.WifiConfiguration);
174    method public void onStarted(@NonNull android.net.wifi.SoftApConfiguration);
175    method public void onStopped();
176    field public static final int ERROR_GENERIC = 2; // 0x2
177    field public static final int ERROR_INCOMPATIBLE_MODE = 3; // 0x3
178    field public static final int ERROR_NO_CHANNEL = 1; // 0x1
179    field public static final int ERROR_TETHERING_DISALLOWED = 4; // 0x4
180  }
181
182  public static interface CarProjectionManager.ProjectionKeyEventHandler {
183    method public void onKeyEvent(int);
184  }
185
186  public static interface CarProjectionManager.ProjectionStatusListener {
187    method public void onProjectionStatusChanged(int, @Nullable String, @NonNull java.util.List<android.car.projection.ProjectionStatus>);
188  }
189
190  public final class CarRemoteDeviceManager {
191    method @Nullable @RequiresPermission(android.car.Car.PERMISSION_MANAGE_REMOTE_DEVICE) public android.content.pm.PackageInfo getEndpointPackageInfo(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
192    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_REMOTE_DEVICE) public boolean isOccupantZonePowerOn(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
193    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_REMOTE_DEVICE) public void registerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.car.CarRemoteDeviceManager.StateCallback);
194    method @RequiresPermission(allOf={android.car.Car.PERMISSION_CAR_POWER, android.car.Car.PERMISSION_MANAGE_REMOTE_DEVICE}) public void setOccupantZonePower(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, boolean);
195    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_REMOTE_DEVICE) public void unregisterStateCallback();
196    field public static final int FLAG_CLIENT_INSTALLED = 1; // 0x1
197    field public static final int FLAG_CLIENT_IN_FOREGROUND = 16; // 0x10
198    field public static final int FLAG_CLIENT_RUNNING = 8; // 0x8
199    field public static final int FLAG_CLIENT_SAME_LONG_VERSION = 2; // 0x2
200    field public static final int FLAG_CLIENT_SAME_SIGNATURE = 4; // 0x4
201    field public static final int FLAG_OCCUPANT_ZONE_CONNECTION_READY = 4; // 0x4
202    field public static final int FLAG_OCCUPANT_ZONE_POWER_ON = 1; // 0x1
203    field public static final int FLAG_OCCUPANT_ZONE_SCREEN_UNLOCKED = 2; // 0x2
204  }
205
206  public static interface CarRemoteDeviceManager.StateCallback {
207    method public void onAppStateChanged(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, int);
208    method public void onOccupantZoneStateChanged(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, int);
209  }
210
211  public interface ResultCallback<V> {
212    method public void onResult(V);
213  }
214
215  public final class SyncResultCallback<V> implements android.car.ResultCallback<V> {
216    ctor public SyncResultCallback();
217    method @Nullable public V get() throws java.lang.InterruptedException;
218    method @Nullable public V get(long, @Nullable java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
219    method public void onResult(V);
220  }
221
222  public final class VehicleAreaDoor {
223    field public static final int DOOR_HOOD = 268435456; // 0x10000000
224    field public static final int DOOR_REAR = 536870912; // 0x20000000
225    field public static final int DOOR_ROW_1_LEFT = 1; // 0x1
226    field public static final int DOOR_ROW_1_RIGHT = 4; // 0x4
227    field public static final int DOOR_ROW_2_LEFT = 16; // 0x10
228    field public static final int DOOR_ROW_2_RIGHT = 64; // 0x40
229    field public static final int DOOR_ROW_3_LEFT = 256; // 0x100
230    field public static final int DOOR_ROW_3_RIGHT = 1024; // 0x400
231  }
232
233  public final class VehicleAreaMirror {
234    field public static final int MIRROR_DRIVER_CENTER = 4; // 0x4
235    field public static final int MIRROR_DRIVER_LEFT = 1; // 0x1
236    field public static final int MIRROR_DRIVER_RIGHT = 2; // 0x2
237  }
238
239  public final class VehicleAreaWindow {
240    field public static final int WINDOW_FRONT_WINDSHIELD = 1; // 0x1
241    field public static final int WINDOW_REAR_WINDSHIELD = 2; // 0x2
242    field public static final int WINDOW_ROOF_TOP_1 = 65536; // 0x10000
243    field public static final int WINDOW_ROOF_TOP_2 = 131072; // 0x20000
244    field public static final int WINDOW_ROW_1_LEFT = 16; // 0x10
245    field public static final int WINDOW_ROW_1_RIGHT = 64; // 0x40
246    field public static final int WINDOW_ROW_2_LEFT = 256; // 0x100
247    field public static final int WINDOW_ROW_2_RIGHT = 1024; // 0x400
248    field public static final int WINDOW_ROW_3_LEFT = 4096; // 0x1000
249    field public static final int WINDOW_ROW_3_RIGHT = 16384; // 0x4000
250  }
251
252  public final class VehiclePropertyAccess {
253    field public static final int NONE = 0; // 0x0
254    field public static final int READ = 1; // 0x1
255    field public static final int READ_WRITE = 3; // 0x3
256    field public static final int WRITE = 2; // 0x2
257  }
258
259  public final class VehicleUnit {
260    field public static final int DEGREES = 128; // 0x80
261    field public static final int HERTZ = 3; // 0x3
262    field public static final int MILLIAMPERE = 97; // 0x61
263    field public static final int MILLIVOLT = 98; // 0x62
264    field public static final int MILLIWATTS = 99; // 0x63
265    field public static final int MILLI_SECS = 81; // 0x51
266    field public static final int NANO_SECS = 80; // 0x50
267    field public static final int PERCENTILE = 16; // 0x10
268    field public static final int RPM = 2; // 0x2
269    field public static final int SECS = 83; // 0x53
270    field public static final int SHOULD_NOT_USE = 0; // 0x0
271    field public static final int YEAR = 89; // 0x59
272  }
273
274}
275
276package android.car.admin {
277
278  public final class CarDevicePolicyManager {
279    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.car.admin.CreateUserResult createUser(@Nullable String, int);
280    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.car.admin.RemoveUserResult removeUser(@NonNull android.os.UserHandle);
281    field public static final int USER_TYPE_ADMIN = 1; // 0x1
282    field public static final int USER_TYPE_GUEST = 2; // 0x2
283    field public static final int USER_TYPE_REGULAR = 0; // 0x0
284  }
285
286  public final class CreateUserResult {
287    method public int getStatus();
288    method @Nullable public android.os.UserHandle getUserHandle();
289    method public boolean isSuccess();
290    field public static final int STATUS_FAILURE_GENERIC = 100; // 0x64
291    field public static final int STATUS_FAILURE_INVALID_ARGUMENTS = 2; // 0x2
292    field public static final int STATUS_SUCCESS = 1; // 0x1
293  }
294
295  public final class RemoveUserResult {
296    method public int getStatus();
297    method public boolean isSuccess();
298    field public static final int STATUS_FAILURE_GENERIC = 100; // 0x64
299    field public static final int STATUS_FAILURE_INVALID_ARGUMENTS = 5; // 0x5
300    field public static final int STATUS_FAILURE_USER_DOES_NOT_EXIST = 4; // 0x4
301    field public static final int STATUS_SUCCESS = 1; // 0x1
302    field public static final int STATUS_SUCCESS_LAST_ADMIN_REMOVED = 2; // 0x2
303    field public static final int STATUS_SUCCESS_LAST_ADMIN_SET_EPHEMERAL = 6; // 0x6
304    field public static final int STATUS_SUCCESS_SET_EPHEMERAL = 3; // 0x3
305  }
306
307}
308
309package android.car.app {
310
311  public final class CarActivityManager {
312    method @Nullable @RequiresPermission(android.car.Car.PERMISSION_MIRROR_DISPLAY) public android.os.IBinder createDisplayMirroringToken(int);
313    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public android.os.IBinder createTaskMirroringToken(int);
314    method @MainThread @RequiresPermission(allOf={android.car.Car.PERMISSION_MANAGE_CAR_SYSTEM_UI, android.Manifest.permission.INTERACT_ACROSS_USERS}) public void getCarTaskViewController(@NonNull android.app.Activity, @NonNull java.util.concurrent.Executor, @NonNull android.car.app.CarTaskViewControllerCallback);
315    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public java.util.List<android.app.ActivityManager.RunningTaskInfo> getVisibleTasks();
316    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public java.util.List<android.app.ActivityManager.RunningTaskInfo> getVisibleTasks(int);
317    method public boolean isCarSystemUIProxyRegistered();
318    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_APP_LAUNCH) public void moveRootTaskToDisplay(int, int);
319    method @RequiresPermission(android.car.Car.PERMISSION_REGISTER_CAR_SYSTEM_UI_PROXY) public void registerCarSystemUIProxy(@NonNull android.car.app.CarSystemUIProxy);
320    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_APP_LAUNCH) public void setPersistentActivitiesOnRootTask(@NonNull java.util.List<android.content.ComponentName>, @Nullable android.os.IBinder);
321    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_APP_LAUNCH) public int setPersistentActivity(@NonNull android.content.ComponentName, int, int);
322    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startUserPickerOnDisplay(int);
323    field public static final int RESULT_FAILURE = -1; // 0xffffffff
324    field public static final int RESULT_INVALID_USER = -2; // 0xfffffffe
325    field public static final int RESULT_SUCCESS = 0; // 0x0
326  }
327
328  @FlaggedApi("android.car.feature.display_compatibility") public final class CarDisplayCompatContainer {
329    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_DISPLAY_COMPATIBILITY) @UiThread public void notifyBackPressed();
330    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_DISPLAY_COMPATIBILITY) @UiThread public void setVisibility(int);
331    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_MANAGE_DISPLAY_COMPATIBILITY) @UiThread public android.graphics.Rect setWindowBounds(@NonNull android.graphics.Rect);
332    method @RequiresPermission(allOf={android.car.Car.PERMISSION_MANAGE_DISPLAY_COMPATIBILITY, android.car.Car.PERMISSION_MANAGE_CAR_SYSTEM_UI, android.Manifest.permission.INTERACT_ACROSS_USERS}) @UiThread public void startActivity(@NonNull android.content.Intent, @Nullable android.os.Bundle);
333  }
334
335  @FlaggedApi("android.car.feature.display_compatibility") public static final class CarDisplayCompatContainer.Builder {
336    ctor public CarDisplayCompatContainer.Builder(@NonNull android.app.Activity);
337    method @NonNull public android.car.app.CarDisplayCompatContainer.Builder setSurfaceViewCallback(@Nullable java.util.function.Consumer<android.view.SurfaceView>);
338  }
339
340  @FlaggedApi("android.car.feature.display_compatibility") public final class CarDisplayCompatManager {
341    method @Nullable @RequiresPermission(android.car.Car.PERMISSION_MANAGE_DISPLAY_COMPATIBILITY) public android.car.app.CarDisplayCompatContainer initializeDisplayCompatContainer(@NonNull android.car.app.CarDisplayCompatContainer.Builder);
342  }
343
344  public interface CarSystemUIProxy {
345    method @NonNull public android.car.app.CarTaskViewHost createControlledCarTaskView(@NonNull android.car.app.CarTaskViewClient);
346  }
347
348  public final class CarTaskViewClient {
349    method @NonNull public android.graphics.Rect getCurrentBoundsOnScreen();
350    method public void onTaskAppeared(@NonNull android.app.ActivityManager.RunningTaskInfo, @NonNull android.view.SurfaceControl);
351    method public void onTaskInfoChanged(@NonNull android.app.ActivityManager.RunningTaskInfo);
352    method public void onTaskVanished(@NonNull android.app.ActivityManager.RunningTaskInfo);
353    method public void setResizeBackgroundColor(@NonNull android.view.SurfaceControl.Transaction, int);
354  }
355
356  public final class CarTaskViewController {
357    method @MainThread @RequiresPermission(allOf={android.Manifest.permission.INJECT_EVENTS, android.Manifest.permission.INTERNAL_SYSTEM_WINDOW}, conditional=true) public void createControlledRemoteCarTaskView(@NonNull android.car.app.ControlledRemoteCarTaskViewConfig, @NonNull java.util.concurrent.Executor, @NonNull android.car.app.ControlledRemoteCarTaskViewCallback);
358    method @MainThread public void release();
359    method @MainThread public void showEmbeddedTasks();
360  }
361
362  public interface CarTaskViewControllerCallback {
363    method public void onConnected(@NonNull android.car.app.CarTaskViewController);
364    method public void onDisconnected(@NonNull android.car.app.CarTaskViewController);
365  }
366
367  public interface CarTaskViewHost {
368    method public void addInsets(int, int, @NonNull android.graphics.Rect);
369    method public void notifySurfaceCreated(@NonNull android.view.SurfaceControl);
370    method public void notifySurfaceDestroyed();
371    method public void release();
372    method public void removeInsets(int, int);
373    method public void setWindowBounds(@NonNull android.graphics.Rect);
374    method public void showEmbeddedTask();
375    method public void startActivity(@NonNull android.app.PendingIntent, @Nullable android.content.Intent, @NonNull android.os.Bundle, @Nullable android.graphics.Rect);
376  }
377
378  public final class ControlledRemoteCarTaskView extends android.view.SurfaceView {
379    method @MainThread @RequiresPermission(android.car.Car.PERMISSION_REGISTER_CAR_SYSTEM_UI_PROXY) public void addInsets(int, int, @NonNull android.graphics.Rect);
380    method @MainThread @Nullable public android.app.ActivityManager.RunningTaskInfo getTaskInfo();
381    method @MainThread public boolean isInitialized();
382    method public void onAttachedToWindow();
383    method public void onDetachedFromWindow();
384    method @MainThread public void release();
385    method @RequiresPermission(android.car.Car.PERMISSION_REGISTER_CAR_SYSTEM_UI_PROXY) public void removeInsets(int, int);
386    method @MainThread public void setObscuredTouchRect(@NonNull android.graphics.Rect);
387    method @MainThread public void setObscuredTouchRegion(@NonNull android.graphics.Region);
388    method @MainThread @RequiresPermission(android.car.Car.PERMISSION_REGISTER_CAR_SYSTEM_UI_PROXY) public void showEmbeddedTask();
389    method @MainThread @RequiresPermission(android.car.Car.PERMISSION_REGISTER_CAR_SYSTEM_UI_PROXY) public void startActivity();
390    method @MainThread @RequiresPermission(android.car.Car.PERMISSION_REGISTER_CAR_SYSTEM_UI_PROXY) public void updateWindowBounds();
391  }
392
393  public interface ControlledRemoteCarTaskViewCallback {
394    method public default void onTaskAppeared(@NonNull android.app.ActivityManager.RunningTaskInfo);
395    method public default void onTaskInfoChanged(@NonNull android.app.ActivityManager.RunningTaskInfo);
396    method public default void onTaskVanished(@NonNull android.app.ActivityManager.RunningTaskInfo);
397    method public default void onTaskViewCreated(@NonNull android.car.app.ControlledRemoteCarTaskView);
398    method public default void onTaskViewInitialized();
399    method public default void onTaskViewReleased();
400  }
401
402  public final class ControlledRemoteCarTaskViewConfig {
403    method @NonNull public android.content.Intent getActivityIntent();
404    method public boolean shouldAutoRestartOnCrash();
405    method public boolean shouldCaptureGestures();
406    method public boolean shouldCaptureLongPress();
407  }
408
409  public static final class ControlledRemoteCarTaskViewConfig.Builder {
410    ctor public ControlledRemoteCarTaskViewConfig.Builder();
411    method @NonNull public android.car.app.ControlledRemoteCarTaskViewConfig build();
412    method @NonNull public android.car.app.ControlledRemoteCarTaskViewConfig.Builder setActivityIntent(@NonNull android.content.Intent);
413    method @NonNull public android.car.app.ControlledRemoteCarTaskViewConfig.Builder setShouldAutoRestartOnTaskRemoval(boolean);
414    method @NonNull public android.car.app.ControlledRemoteCarTaskViewConfig.Builder setShouldCaptureGestures(boolean);
415    method @NonNull public android.car.app.ControlledRemoteCarTaskViewConfig.Builder setShouldCaptureLongPress(boolean);
416  }
417
418}
419
420package android.car.cluster {
421
422  @Deprecated public class CarInstrumentClusterManager {
423    method @Deprecated public void registerCallback(String, android.car.cluster.CarInstrumentClusterManager.Callback);
424    method @Deprecated public void startActivity(android.content.Intent);
425    method @Deprecated public void unregisterCallback(android.car.cluster.CarInstrumentClusterManager.Callback);
426    field @Deprecated public static final String CATEGORY_NAVIGATION = "android.car.cluster.NAVIGATION";
427    field @Deprecated public static final String KEY_EXTRA_ACTIVITY_STATE = "android.car.cluster.ClusterActivityState";
428  }
429
430  @Deprecated public static interface CarInstrumentClusterManager.Callback {
431    method @Deprecated public void onClusterActivityStateChanged(String, android.os.Bundle);
432  }
433
434  public final class ClusterActivityState {
435    method @NonNull public static android.car.cluster.ClusterActivityState create(boolean, @NonNull android.graphics.Rect);
436    method @NonNull public static android.car.cluster.ClusterActivityState fromBundle(@NonNull android.os.Bundle);
437    method @Nullable public android.os.Bundle getExtras();
438    method @Nullable public android.graphics.Rect getUnobscuredBounds();
439    method public boolean isVisible();
440    method @NonNull public android.car.cluster.ClusterActivityState setExtras(@NonNull android.os.Bundle);
441    method @NonNull public android.car.cluster.ClusterActivityState setUnobscuredBounds(@NonNull android.graphics.Rect);
442    method @NonNull public android.car.cluster.ClusterActivityState setVisible(boolean);
443    method @NonNull public android.os.Bundle toBundle();
444  }
445
446  @FlaggedApi("android.car.feature.cluster_health_monitoring") public final class ClusterHomeManager {
447    method @RequiresPermission(android.car.Car.PERMISSION_CAR_MONITOR_CLUSTER_NAVIGATION_STATE) public void registerClusterNavigationStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.car.cluster.ClusterHomeManager.ClusterNavigationStateListener);
448    method @RequiresPermission(android.car.Car.PERMISSION_CAR_INSTRUMENT_CLUSTER_CONTROL) public void sendHeartbeat(long, @Nullable byte[]);
449    method @RequiresPermission(android.car.Car.PERMISSION_CAR_INSTRUMENT_CLUSTER_CONTROL) public void startVisibilityMonitoring(@NonNull android.app.Activity);
450    method @RequiresPermission(android.car.Car.PERMISSION_CAR_MONITOR_CLUSTER_NAVIGATION_STATE) public void unregisterClusterNavigationStateListener(@NonNull android.car.cluster.ClusterHomeManager.ClusterNavigationStateListener);
451  }
452
453  @FlaggedApi("android.car.feature.cluster_health_monitoring") public static interface ClusterHomeManager.ClusterNavigationStateListener {
454    method public void onNavigationStateChanged(@NonNull byte[]);
455  }
456
457}
458
459package android.car.cluster.renderer {
460
461  @Deprecated public abstract class InstrumentClusterRenderer {
462    ctor @Deprecated public InstrumentClusterRenderer();
463    method @Deprecated protected abstract android.car.cluster.renderer.NavigationRenderer createNavigationRenderer();
464    method @Deprecated @Nullable public android.car.cluster.renderer.NavigationRenderer getNavigationRenderer();
465    method @Deprecated @UiThread public final void initialize();
466    method @Deprecated public abstract void onCreate(android.content.Context);
467    method @Deprecated public abstract void onStart();
468    method @Deprecated public abstract void onStop();
469  }
470
471  public abstract class InstrumentClusterRenderingService extends android.app.Service {
472    ctor public InstrumentClusterRenderingService();
473    method @Deprecated @Nullable public android.graphics.Bitmap getBitmap(android.net.Uri);
474    method @Nullable public android.graphics.Bitmap getBitmap(@NonNull android.net.Uri, int, int);
475    method @Nullable public android.graphics.Bitmap getBitmap(@NonNull android.net.Uri, int, int, float);
476    method @MainThread @Nullable public abstract android.car.cluster.renderer.NavigationRenderer getNavigationRenderer();
477    method @CallSuper public android.os.IBinder onBind(android.content.Intent);
478    method @MainThread public void onKeyEvent(@NonNull android.view.KeyEvent);
479    method @MainThread public void onNavigationComponentLaunched();
480    method @MainThread public void onNavigationComponentReleased();
481    method public void setClusterActivityLaunchOptions(@NonNull android.app.ActivityOptions);
482    method public void setClusterActivityState(@NonNull android.car.cluster.ClusterActivityState);
483    method public boolean startFixedActivityModeForDisplayAndUser(@NonNull android.content.Intent, @NonNull android.app.ActivityOptions, int);
484    method protected boolean startNavigationActivity(@NonNull android.content.ComponentName);
485    method public void stopFixedActivityMode(int);
486  }
487
488  @UiThread public abstract class NavigationRenderer {
489    ctor public NavigationRenderer();
490    method public abstract android.car.navigation.CarNavigationInstrumentCluster getNavigationProperties();
491    method public void onNavigationStateChanged(@Nullable android.os.Bundle);
492  }
493
494}
495
496package android.car.content.pm {
497
498  public final class AppBlockingPackageInfo implements android.os.Parcelable {
499    ctor public AppBlockingPackageInfo(String, int, int, int, @Nullable android.content.pm.Signature[], @Nullable String[]);
500    ctor public AppBlockingPackageInfo(android.os.Parcel);
501    method public int describeContents();
502    method public void writeToParcel(android.os.Parcel, int);
503    field public static final android.os.Parcelable.Creator<android.car.content.pm.AppBlockingPackageInfo> CREATOR;
504    field public static final int FLAG_SYSTEM_APP = 1; // 0x1
505    field public static final int FLAG_WHOLE_ACTIVITY = 2; // 0x2
506    field public final String[] activities;
507    field public final int flags;
508    field public final int maxRevisionCode;
509    field public final int minRevisionCode;
510    field public final String packageName;
511    field public final android.content.pm.Signature[] signatures;
512  }
513
514  public final class CarAppBlockingPolicy implements android.os.Parcelable {
515    ctor public CarAppBlockingPolicy(android.car.content.pm.AppBlockingPackageInfo[], android.car.content.pm.AppBlockingPackageInfo[]);
516    ctor public CarAppBlockingPolicy(android.os.Parcel);
517    method public int describeContents();
518    method public void writeToParcel(android.os.Parcel, int);
519    field public static final android.os.Parcelable.Creator<android.car.content.pm.CarAppBlockingPolicy> CREATOR;
520    field public final android.car.content.pm.AppBlockingPackageInfo[] blacklists;
521    field public final android.car.content.pm.AppBlockingPackageInfo[] whitelists;
522  }
523
524  public abstract class CarAppBlockingPolicyService extends android.app.Service {
525    ctor public CarAppBlockingPolicyService();
526    method protected abstract android.car.content.pm.CarAppBlockingPolicy getAppBlockingPolicy();
527    method public android.os.IBinder onBind(android.content.Intent);
528    field public static final String SERVICE_INTERFACE = "android.car.content.pm.CarAppBlockingPolicyService";
529  }
530
531  public final class CarPackageManager {
532    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.QUERY_ALL_PACKAGES) public android.car.CarVersion getTargetCarVersion(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
533    method public boolean isActivityBackedBySafeActivity(android.content.ComponentName);
534    method @FlaggedApi("android.car.feature.display_compatibility") @RequiresPermission(allOf={android.car.Car.PERMISSION_MANAGE_DISPLAY_COMPATIBILITY, android.Manifest.permission.QUERY_ALL_PACKAGES}) public boolean requiresDisplayCompat(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
535    method @Deprecated public void setAppBlockingPolicy(String, android.car.content.pm.CarAppBlockingPolicy, int);
536    field @Deprecated public static final int FLAG_SET_POLICY_ADD = 2; // 0x2
537    field @Deprecated public static final int FLAG_SET_POLICY_REMOVE = 4; // 0x4
538    field @Deprecated public static final int FLAG_SET_POLICY_WAIT_FOR_CHANGE = 1; // 0x1
539  }
540
541}
542
543package android.car.diagnostic {
544
545  public final class CarDiagnosticEvent implements android.os.Parcelable {
546    ctor public CarDiagnosticEvent(android.os.Parcel);
547    method public int describeContents();
548    method @android.car.diagnostic.CarDiagnosticEvent.FuelSystemStatus.Status @Nullable public Integer getFuelSystemStatus();
549    method @android.car.diagnostic.CarDiagnosticEvent.FuelType.Type @Nullable public Integer getFuelType();
550    method @Nullable public android.car.diagnostic.CarDiagnosticEvent.CommonIgnitionMonitors getIgnitionMonitors();
551    method @android.car.diagnostic.CarDiagnosticEvent.SecondaryAirStatus.Status @Nullable public Integer getSecondaryAirStatus();
552    method public float getSystemFloatSensor(int, float);
553    method @Nullable public Float getSystemFloatSensor(int);
554    method public int getSystemIntegerSensor(int, int);
555    method @Nullable public Integer getSystemIntegerSensor(int);
556    method public float getVendorFloatSensor(int, float);
557    method @Nullable public Float getVendorFloatSensor(int);
558    method public int getVendorIntegerSensor(int, int);
559    method @Nullable public Integer getVendorIntegerSensor(int);
560    method public boolean isFreezeFrame();
561    method public boolean isLiveFrame();
562    method public void writeToJson(android.util.JsonWriter) throws java.io.IOException;
563    method public void writeToParcel(android.os.Parcel, int);
564    field public static final android.os.Parcelable.Creator<android.car.diagnostic.CarDiagnosticEvent> CREATOR;
565    field public final String dtc;
566    field public final int frameType;
567    field public final long timestamp;
568  }
569
570  public static class CarDiagnosticEvent.Builder {
571    method @Deprecated public android.car.diagnostic.CarDiagnosticEvent.Builder atTimestamp(long);
572    method public android.car.diagnostic.CarDiagnosticEvent build();
573    method public static android.car.diagnostic.CarDiagnosticEvent.Builder newFreezeFrameBuilder();
574    method public static android.car.diagnostic.CarDiagnosticEvent.Builder newLiveFrameBuilder();
575    method public android.car.diagnostic.CarDiagnosticEvent.Builder setDtc(String);
576    method public android.car.diagnostic.CarDiagnosticEvent.Builder setFloatValue(int, float);
577    method public android.car.diagnostic.CarDiagnosticEvent.Builder setIntValue(int, int);
578    method public android.car.diagnostic.CarDiagnosticEvent.Builder setTimeStamp(long);
579    method @Deprecated public android.car.diagnostic.CarDiagnosticEvent.Builder withDtc(String);
580    method @Deprecated public android.car.diagnostic.CarDiagnosticEvent.Builder withFloatValue(int, float);
581    method @Deprecated public android.car.diagnostic.CarDiagnosticEvent.Builder withIntValue(int, int);
582  }
583
584  public static class CarDiagnosticEvent.CommonIgnitionMonitors {
585    method @Nullable public android.car.diagnostic.CarDiagnosticEvent.CompressionIgnitionMonitors asCompressionIgnitionMonitors();
586    method @Nullable public android.car.diagnostic.CarDiagnosticEvent.SparkIgnitionMonitors asSparkIgnitionMonitors();
587    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor components;
588    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor fuelSystem;
589    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor misfire;
590  }
591
592  public static final class CarDiagnosticEvent.CompressionIgnitionMonitors extends android.car.diagnostic.CarDiagnosticEvent.CommonIgnitionMonitors {
593    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor EGROrVVT;
594    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor NMHCCatalyst;
595    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor NOxSCR;
596    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor PMFilter;
597    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor boostPressure;
598    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor exhaustGasSensor;
599  }
600
601  public static final class CarDiagnosticEvent.FuelSystemStatus {
602    field public static final int CLOSED_LOOP = 2; // 0x2
603    field public static final int CLOSED_LOOP_BUT_FEEDBACK_FAULT = 16; // 0x10
604    field public static final int OPEN_ENGINE_LOAD_OR_DECELERATION = 4; // 0x4
605    field public static final int OPEN_INSUFFICIENT_ENGINE_TEMPERATURE = 1; // 0x1
606    field public static final int OPEN_SYSTEM_FAILURE = 8; // 0x8
607  }
608
609  @IntDef({android.car.diagnostic.CarDiagnosticEvent.FuelSystemStatus.OPEN_INSUFFICIENT_ENGINE_TEMPERATURE, android.car.diagnostic.CarDiagnosticEvent.FuelSystemStatus.CLOSED_LOOP, android.car.diagnostic.CarDiagnosticEvent.FuelSystemStatus.OPEN_ENGINE_LOAD_OR_DECELERATION, android.car.diagnostic.CarDiagnosticEvent.FuelSystemStatus.OPEN_SYSTEM_FAILURE, android.car.diagnostic.CarDiagnosticEvent.FuelSystemStatus.CLOSED_LOOP_BUT_FEEDBACK_FAULT}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface CarDiagnosticEvent.FuelSystemStatus.Status {
610  }
611
612  public static final class CarDiagnosticEvent.FuelType {
613    field public static final int BIFUEL_RUNNING_CNG = 13; // 0xd
614    field public static final int BIFUEL_RUNNING_DIESEL = 23; // 0x17
615    field public static final int BIFUEL_RUNNING_ELECTRIC = 15; // 0xf
616    field public static final int BIFUEL_RUNNING_ELECTRIC_AND_COMBUSTION = 16; // 0x10
617    field public static final int BIFUEL_RUNNING_ETHANOL = 11; // 0xb
618    field public static final int BIFUEL_RUNNING_GASOLINE = 9; // 0x9
619    field public static final int BIFUEL_RUNNING_LPG = 12; // 0xc
620    field public static final int BIFUEL_RUNNING_METHANOL = 10; // 0xa
621    field public static final int BIFUEL_RUNNING_PROPANE = 14; // 0xe
622    field public static final int CNG = 6; // 0x6
623    field public static final int DIESEL = 4; // 0x4
624    field public static final int ELECTRIC = 8; // 0x8
625    field public static final int ETHANOL = 3; // 0x3
626    field public static final int GASOLINE = 1; // 0x1
627    field public static final int HYBRID_DIESEL = 19; // 0x13
628    field public static final int HYBRID_ELECTRIC = 20; // 0x14
629    field public static final int HYBRID_ETHANOL = 18; // 0x12
630    field public static final int HYBRID_GASOLINE = 17; // 0x11
631    field public static final int HYBRID_REGENERATIVE = 22; // 0x16
632    field public static final int HYBRID_RUNNING_ELECTRIC_AND_COMBUSTION = 21; // 0x15
633    field public static final int LPG = 5; // 0x5
634    field public static final int METHANOL = 2; // 0x2
635    field public static final int NOT_AVAILABLE = 0; // 0x0
636    field public static final int PROPANE = 7; // 0x7
637  }
638
639  @IntDef({android.car.diagnostic.CarDiagnosticEvent.FuelType.NOT_AVAILABLE, android.car.diagnostic.CarDiagnosticEvent.FuelType.GASOLINE, android.car.diagnostic.CarDiagnosticEvent.FuelType.METHANOL, android.car.diagnostic.CarDiagnosticEvent.FuelType.ETHANOL, android.car.diagnostic.CarDiagnosticEvent.FuelType.DIESEL, android.car.diagnostic.CarDiagnosticEvent.FuelType.LPG, android.car.diagnostic.CarDiagnosticEvent.FuelType.CNG, android.car.diagnostic.CarDiagnosticEvent.FuelType.PROPANE, android.car.diagnostic.CarDiagnosticEvent.FuelType.ELECTRIC, android.car.diagnostic.CarDiagnosticEvent.FuelType.BIFUEL_RUNNING_GASOLINE, android.car.diagnostic.CarDiagnosticEvent.FuelType.BIFUEL_RUNNING_METHANOL, android.car.diagnostic.CarDiagnosticEvent.FuelType.BIFUEL_RUNNING_ETHANOL, android.car.diagnostic.CarDiagnosticEvent.FuelType.BIFUEL_RUNNING_LPG, android.car.diagnostic.CarDiagnosticEvent.FuelType.BIFUEL_RUNNING_CNG, android.car.diagnostic.CarDiagnosticEvent.FuelType.BIFUEL_RUNNING_PROPANE, android.car.diagnostic.CarDiagnosticEvent.FuelType.BIFUEL_RUNNING_ELECTRIC, android.car.diagnostic.CarDiagnosticEvent.FuelType.BIFUEL_RUNNING_ELECTRIC_AND_COMBUSTION, android.car.diagnostic.CarDiagnosticEvent.FuelType.HYBRID_GASOLINE, android.car.diagnostic.CarDiagnosticEvent.FuelType.HYBRID_ETHANOL, android.car.diagnostic.CarDiagnosticEvent.FuelType.HYBRID_DIESEL, android.car.diagnostic.CarDiagnosticEvent.FuelType.HYBRID_ELECTRIC, android.car.diagnostic.CarDiagnosticEvent.FuelType.HYBRID_RUNNING_ELECTRIC_AND_COMBUSTION, android.car.diagnostic.CarDiagnosticEvent.FuelType.HYBRID_REGENERATIVE, android.car.diagnostic.CarDiagnosticEvent.FuelType.BIFUEL_RUNNING_DIESEL}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface CarDiagnosticEvent.FuelType.Type {
640  }
641
642  public static final class CarDiagnosticEvent.IgnitionMonitor {
643    field public final boolean available;
644    field public final boolean incomplete;
645  }
646
647  public static final class CarDiagnosticEvent.SecondaryAirStatus {
648    field public static final int DOWNSTREAM_OF_CATALYCIC_CONVERTER = 2; // 0x2
649    field public static final int FROM_OUTSIDE_OR_OFF = 4; // 0x4
650    field public static final int PUMP_ON_FOR_DIAGNOSTICS = 8; // 0x8
651    field public static final int UPSTREAM = 1; // 0x1
652  }
653
654  @IntDef({android.car.diagnostic.CarDiagnosticEvent.SecondaryAirStatus.UPSTREAM, android.car.diagnostic.CarDiagnosticEvent.SecondaryAirStatus.DOWNSTREAM_OF_CATALYCIC_CONVERTER, android.car.diagnostic.CarDiagnosticEvent.SecondaryAirStatus.FROM_OUTSIDE_OR_OFF, android.car.diagnostic.CarDiagnosticEvent.SecondaryAirStatus.PUMP_ON_FOR_DIAGNOSTICS}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface CarDiagnosticEvent.SecondaryAirStatus.Status {
655  }
656
657  public static final class CarDiagnosticEvent.SparkIgnitionMonitors extends android.car.diagnostic.CarDiagnosticEvent.CommonIgnitionMonitors {
658    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor ACRefrigerant;
659    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor EGR;
660    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor catalyst;
661    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor evaporativeSystem;
662    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor heatedCatalyst;
663    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor oxygenSensor;
664    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor oxygenSensorHeater;
665    field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor secondaryAirSystem;
666  }
667
668  public final class CarDiagnosticManager {
669    method @RequiresPermission(android.car.Car.PERMISSION_CAR_DIAGNOSTIC_CLEAR) public boolean clearFreezeFrames(long...);
670    method @Nullable @RequiresPermission(anyOf={android.car.Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL, android.car.Car.PERMISSION_CAR_DIAGNOSTIC_CLEAR}) public android.car.diagnostic.CarDiagnosticEvent getFreezeFrame(long);
671    method @RequiresPermission(anyOf={android.car.Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL, android.car.Car.PERMISSION_CAR_DIAGNOSTIC_CLEAR}) public long[] getFreezeFrameTimestamps();
672    method @Nullable @RequiresPermission(anyOf={android.car.Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL, android.car.Car.PERMISSION_CAR_DIAGNOSTIC_CLEAR}) public android.car.diagnostic.CarDiagnosticEvent getLatestLiveFrame();
673    method @RequiresPermission(anyOf={android.car.Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL, android.car.Car.PERMISSION_CAR_DIAGNOSTIC_CLEAR}) public boolean isClearFreezeFramesSupported();
674    method @RequiresPermission(anyOf={android.car.Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL, android.car.Car.PERMISSION_CAR_DIAGNOSTIC_CLEAR}) public boolean isFreezeFrameNotificationSupported();
675    method @RequiresPermission(anyOf={android.car.Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL, android.car.Car.PERMISSION_CAR_DIAGNOSTIC_CLEAR}) public boolean isGetFreezeFrameSupported();
676    method @RequiresPermission(anyOf={android.car.Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL, android.car.Car.PERMISSION_CAR_DIAGNOSTIC_CLEAR}) public boolean isLiveFrameSupported();
677    method @RequiresPermission(anyOf={android.car.Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL, android.car.Car.PERMISSION_CAR_DIAGNOSTIC_CLEAR}) public boolean isSelectiveClearFreezeFramesSupported();
678    method public void onCarDisconnected();
679    method @RequiresPermission(android.car.Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL) public boolean registerListener(android.car.diagnostic.CarDiagnosticManager.OnDiagnosticEventListener, @android.car.diagnostic.CarDiagnosticManager.FrameType int, int);
680    method @RequiresPermission(anyOf={android.car.Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL, android.car.Car.PERMISSION_CAR_DIAGNOSTIC_CLEAR}) public void unregisterListener(android.car.diagnostic.CarDiagnosticManager.OnDiagnosticEventListener);
681    field public static final int FRAME_TYPE_FREEZE = 1; // 0x1
682    field public static final int FRAME_TYPE_LIVE = 0; // 0x0
683  }
684
685  @IntDef({android.car.diagnostic.CarDiagnosticManager.FRAME_TYPE_LIVE, android.car.diagnostic.CarDiagnosticManager.FRAME_TYPE_FREEZE}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface CarDiagnosticManager.FrameType {
686  }
687
688  public static interface CarDiagnosticManager.OnDiagnosticEventListener {
689    method public void onDiagnosticEvent(android.car.diagnostic.CarDiagnosticEvent);
690  }
691
692  public final class FloatSensorIndex {
693    field public static final int ABSOLUTE_EVAPORATION_SYSTEM_VAPOR_PRESSURE = 58; // 0x3a
694    field public static final int ABSOLUTE_LOAD_VALUE = 48; // 0x30
695    field public static final int ABSOLUTE_THROTTLE_POSITION_B = 51; // 0x33
696    field public static final int ABSOLUTE_THROTTLE_POSITION_C = 52; // 0x34
697    field public static final int ACCELERATOR_PEDAL_POSITION_D = 53; // 0x35
698    field public static final int ACCELERATOR_PEDAL_POSITION_E = 54; // 0x36
699    field public static final int ACCELERATOR_PEDAL_POSITION_F = 55; // 0x37
700    field public static final int CALCULATED_ENGINE_LOAD = 0; // 0x0
701    field public static final int CATALYST_TEMPERATURE_BANK1_SENSOR1 = 44; // 0x2c
702    field public static final int CATALYST_TEMPERATURE_BANK1_SENSOR2 = 46; // 0x2e
703    field public static final int CATALYST_TEMPERATURE_BANK2_SENSOR1 = 45; // 0x2d
704    field public static final int CATALYST_TEMPERATURE_BANK2_SENSOR2 = 47; // 0x2f
705    field public static final int COMMANDED_EVAPORATIVE_PURGE = 41; // 0x29
706    field public static final int COMMANDED_EXHAUST_GAS_RECIRCULATION = 39; // 0x27
707    field public static final int COMMANDED_THROTTLE_ACTUATOR = 56; // 0x38
708    field public static final int ENGINE_COOLANT_TEMPERATURE = 1; // 0x1
709    field public static final int ENGINE_FUEL_RATE = 70; // 0x46
710    field public static final int ENGINE_RPM = 8; // 0x8
711    field public static final int ETHANOL_FUEL_PERCENTAGE = 57; // 0x39
712    field public static final int EVAPORATION_SYSTEM_VAPOR_PRESSURE = 43; // 0x2b
713    field public static final int EXHAUST_GAS_RECIRCULATION_ERROR = 40; // 0x28
714    field public static final int FUEL_AIR_COMMANDED_EQUIVALENCE_RATIO = 49; // 0x31
715    field public static final int FUEL_INJECTION_TIMING = 69; // 0x45
716    field public static final int FUEL_PRESSURE = 6; // 0x6
717    field public static final int FUEL_RAIL_GAUGE_PRESSURE = 38; // 0x26
718    field public static final int FUEL_RAIL_PRESSURE = 37; // 0x25
719    field public static final int FUEL_TANK_LEVEL_INPUT = 42; // 0x2a
720    field public static final int HYBRID_BATTERY_PACK_REMAINING_LIFE = 68; // 0x44
721    field public static final int INTAKE_MANIFOLD_ABSOLUTE_PRESSURE = 7; // 0x7
722    field public static final int LAST_SYSTEM = 70; // 0x46
723    field public static final int LONG_TERM_FUEL_TRIM_BANK1 = 3; // 0x3
724    field public static final int LONG_TERM_FUEL_TRIM_BANK2 = 5; // 0x5
725    field public static final int LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1 = 63; // 0x3f
726    field public static final int LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2 = 64; // 0x40
727    field public static final int LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3 = 65; // 0x41
728    field public static final int LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4 = 66; // 0x42
729    field public static final int MAF_AIR_FLOW_RATE = 11; // 0xb
730    field public static final int OXYGEN_SENSOR1_FUEL_AIR_EQUIVALENCE_RATIO = 15; // 0xf
731    field public static final int OXYGEN_SENSOR1_SHORT_TERM_FUEL_TRIM = 14; // 0xe
732    field public static final int OXYGEN_SENSOR1_VOLTAGE = 13; // 0xd
733    field public static final int OXYGEN_SENSOR2_FUEL_AIR_EQUIVALENCE_RATIO = 18; // 0x12
734    field public static final int OXYGEN_SENSOR2_SHORT_TERM_FUEL_TRIM = 17; // 0x11
735    field public static final int OXYGEN_SENSOR2_VOLTAGE = 16; // 0x10
736    field public static final int OXYGEN_SENSOR3_FUEL_AIR_EQUIVALENCE_RATIO = 21; // 0x15
737    field public static final int OXYGEN_SENSOR3_SHORT_TERM_FUEL_TRIM = 20; // 0x14
738    field public static final int OXYGEN_SENSOR3_VOLTAGE = 19; // 0x13
739    field public static final int OXYGEN_SENSOR4_FUEL_AIR_EQUIVALENCE_RATIO = 24; // 0x18
740    field public static final int OXYGEN_SENSOR4_SHORT_TERM_FUEL_TRIM = 23; // 0x17
741    field public static final int OXYGEN_SENSOR4_VOLTAGE = 22; // 0x16
742    field public static final int OXYGEN_SENSOR5_FUEL_AIR_EQUIVALENCE_RATIO = 27; // 0x1b
743    field public static final int OXYGEN_SENSOR5_SHORT_TERM_FUEL_TRIM = 26; // 0x1a
744    field public static final int OXYGEN_SENSOR5_VOLTAGE = 25; // 0x19
745    field public static final int OXYGEN_SENSOR6_FUEL_AIR_EQUIVALENCE_RATIO = 30; // 0x1e
746    field public static final int OXYGEN_SENSOR6_SHORT_TERM_FUEL_TRIM = 29; // 0x1d
747    field public static final int OXYGEN_SENSOR6_VOLTAGE = 28; // 0x1c
748    field public static final int OXYGEN_SENSOR7_FUEL_AIR_EQUIVALENCE_RATIO = 33; // 0x21
749    field public static final int OXYGEN_SENSOR7_SHORT_TERM_FUEL_TRIM = 32; // 0x20
750    field public static final int OXYGEN_SENSOR7_VOLTAGE = 31; // 0x1f
751    field public static final int OXYGEN_SENSOR8_FUEL_AIR_EQUIVALENCE_RATIO = 36; // 0x24
752    field public static final int OXYGEN_SENSOR8_SHORT_TERM_FUEL_TRIM = 35; // 0x23
753    field public static final int OXYGEN_SENSOR8_VOLTAGE = 34; // 0x22
754    field public static final int RELATIVE_ACCELERATOR_PEDAL_POSITION = 67; // 0x43
755    field public static final int RELATIVE_THROTTLE_POSITION = 50; // 0x32
756    field public static final int SHORT_TERM_FUEL_TRIM_BANK1 = 2; // 0x2
757    field public static final int SHORT_TERM_FUEL_TRIM_BANK2 = 4; // 0x4
758    field public static final int SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1 = 59; // 0x3b
759    field public static final int SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2 = 60; // 0x3c
760    field public static final int SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3 = 61; // 0x3d
761    field public static final int SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4 = 62; // 0x3e
762    field public static final int THROTTLE_POSITION = 12; // 0xc
763    field public static final int TIMING_ADVANCE = 10; // 0xa
764    field public static final int VEHICLE_SPEED = 9; // 0x9
765    field public static final int VENDOR_START = 71; // 0x47
766  }
767
768  public final class IntegerSensorIndex {
769    field public static final int ABSOLUTE_BAROMETRIC_PRESSURE = 11; // 0xb
770    field public static final int AMBIENT_AIR_TEMPERATURE = 13; // 0xd
771    field public static final int COMMANDED_SECONDARY_AIR_STATUS = 5; // 0x5
772    field public static final int CONTROL_MODULE_VOLTAGE = 12; // 0xc
773    field public static final int DISTANCE_TRAVELED_SINCE_CODES_CLEARED = 10; // 0xa
774    field public static final int DISTANCE_TRAVELED_WITH_MALFUNCTION_INDICATOR_LIGHT_ON = 8; // 0x8
775    field public static final int DRIVER_DEMAND_PERCENT_TORQUE = 24; // 0x18
776    field public static final int ENGINE_ACTUAL_PERCENT_TORQUE = 25; // 0x19
777    field public static final int ENGINE_OIL_TEMPERATURE = 23; // 0x17
778    field public static final int ENGINE_PERCENT_TORQUE_DATA_IDLE = 27; // 0x1b
779    field public static final int ENGINE_PERCENT_TORQUE_DATA_POINT1 = 28; // 0x1c
780    field public static final int ENGINE_PERCENT_TORQUE_DATA_POINT2 = 29; // 0x1d
781    field public static final int ENGINE_PERCENT_TORQUE_DATA_POINT3 = 30; // 0x1e
782    field public static final int ENGINE_PERCENT_TORQUE_DATA_POINT4 = 31; // 0x1f
783    field public static final int ENGINE_REFERENCE_PERCENT_TORQUE = 26; // 0x1a
784    field public static final int FUEL_RAIL_ABSOLUTE_PRESSURE = 22; // 0x16
785    field public static final int FUEL_SYSTEM_STATUS = 0; // 0x0
786    field public static final int FUEL_TYPE = 21; // 0x15
787    field public static final int IGNITION_MONITORS_SUPPORTED = 2; // 0x2
788    field public static final int IGNITION_SPECIFIC_MONITORS = 3; // 0x3
789    field public static final int INTAKE_AIR_TEMPERATURE = 4; // 0x4
790    field public static final int LAST_SYSTEM = 31; // 0x1f
791    field public static final int MALFUNCTION_INDICATOR_LIGHT_ON = 1; // 0x1
792    field public static final int MAX_AIR_FLOW_RATE_FROM_MASS_AIR_FLOW_SENSOR = 20; // 0x14
793    field public static final int MAX_FUEL_AIR_EQUIVALENCE_RATIO = 16; // 0x10
794    field public static final int MAX_INTAKE_MANIFOLD_ABSOLUTE_PRESSURE = 19; // 0x13
795    field public static final int MAX_OXYGEN_SENSOR_CURRENT = 18; // 0x12
796    field public static final int MAX_OXYGEN_SENSOR_VOLTAGE = 17; // 0x11
797    field public static final int NUM_OXYGEN_SENSORS_PRESENT = 6; // 0x6
798    field public static final int RUNTIME_SINCE_ENGINE_START = 7; // 0x7
799    field public static final int TIME_SINCE_TROUBLE_CODES_CLEARED = 15; // 0xf
800    field public static final int TIME_WITH_MALFUNCTION_LIGHT_ON = 14; // 0xe
801    field public static final int VENDOR_START = 32; // 0x20
802    field public static final int WARMUPS_SINCE_CODES_CLEARED = 9; // 0x9
803  }
804
805}
806
807package android.car.drivingstate {
808
809  public final class CarDrivingStateEvent implements android.os.Parcelable {
810    ctor public CarDrivingStateEvent(int, long);
811    method public int describeContents();
812    method public void writeToParcel(android.os.Parcel, int);
813    field public static final android.os.Parcelable.Creator<android.car.drivingstate.CarDrivingStateEvent> CREATOR;
814    field public static final int DRIVING_STATE_IDLING = 1; // 0x1
815    field public static final int DRIVING_STATE_MOVING = 2; // 0x2
816    field public static final int DRIVING_STATE_PARKED = 0; // 0x0
817    field public static final int DRIVING_STATE_UNKNOWN = -1; // 0xffffffff
818    field public final int eventValue;
819    field public final long timeStamp;
820  }
821
822  public final class CarDrivingStateManager {
823    method @Nullable public android.car.drivingstate.CarDrivingStateEvent getCurrentCarDrivingState();
824    method public void registerListener(@NonNull android.car.drivingstate.CarDrivingStateManager.CarDrivingStateEventListener);
825    method public void unregisterListener();
826  }
827
828  public static interface CarDrivingStateManager.CarDrivingStateEventListener {
829    method public void onDrivingStateChanged(android.car.drivingstate.CarDrivingStateEvent);
830  }
831
832  public final class CarUxRestrictionsConfiguration implements android.os.Parcelable {
833    method public int describeContents();
834    method public int getDisplayType();
835    method public int getOccupantZoneId();
836    method @Nullable public Integer getPhysicalPort();
837    method @NonNull public android.car.drivingstate.CarUxRestrictions getUxRestrictions(int, float);
838    method @NonNull public android.car.drivingstate.CarUxRestrictions getUxRestrictions(int, @FloatRange(from=0.0f) float, @NonNull String);
839    method public void writeToParcel(@NonNull android.os.Parcel, int);
840    field @NonNull public static final android.os.Parcelable.Creator<android.car.drivingstate.CarUxRestrictionsConfiguration> CREATOR;
841  }
842
843  public final class CarUxRestrictionsManager {
844    method @Nullable @RequiresPermission(android.car.Car.PERMISSION_CAR_UX_RESTRICTIONS_CONFIGURATION) public java.util.List<android.car.drivingstate.CarUxRestrictionsConfiguration> getConfigs();
845    method @Nullable public android.car.drivingstate.CarUxRestrictions getCurrentCarUxRestrictions(int);
846    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_UX_RESTRICTIONS_CONFIGURATION) public String getRestrictionMode();
847    method @Nullable @RequiresPermission(android.car.Car.PERMISSION_CAR_UX_RESTRICTIONS_CONFIGURATION) public java.util.List<android.car.drivingstate.CarUxRestrictionsConfiguration> getStagedConfigs();
848    method public void onCarDisconnected();
849    method @RequiresPermission(android.car.Car.PERMISSION_CAR_UX_RESTRICTIONS_CONFIGURATION) public boolean saveUxRestrictionsConfigurationForNextBoot(@NonNull java.util.List<android.car.drivingstate.CarUxRestrictionsConfiguration>);
850    method @RequiresPermission(android.car.Car.PERMISSION_CAR_UX_RESTRICTIONS_CONFIGURATION) public boolean saveUxRestrictionsConfigurationForNextBoot(@NonNull android.car.drivingstate.CarUxRestrictionsConfiguration);
851    method @Deprecated public void setListener(int, @NonNull android.car.drivingstate.CarUxRestrictionsManager.OnUxRestrictionsChangedListener);
852    method @RequiresPermission(android.car.Car.PERMISSION_CAR_UX_RESTRICTIONS_CONFIGURATION) public boolean setRestrictionMode(@NonNull String);
853    field public static final String UX_RESTRICTION_MODE_BASELINE = "baseline";
854  }
855
856}
857
858package android.car.evs {
859
860  public final class CarEvsBufferDescriptor implements java.lang.AutoCloseable android.os.Parcelable {
861    ctor public CarEvsBufferDescriptor(int, @NonNull android.hardware.HardwareBuffer);
862    ctor @FlaggedApi("android.car.feature.car_evs_stream_management") public CarEvsBufferDescriptor(int, int, @NonNull android.hardware.HardwareBuffer);
863    method public void close();
864    method public int describeContents();
865    method @NonNull public android.hardware.HardwareBuffer getHardwareBuffer();
866    method public int getId();
867    method @FlaggedApi("android.car.feature.car_evs_stream_management") public int getType();
868    method public void writeToParcel(@NonNull android.os.Parcel, int);
869    field @NonNull public static final android.os.Parcelable.Creator<android.car.evs.CarEvsBufferDescriptor> CREATOR;
870  }
871
872  public final class CarEvsManager {
873    method @RequiresPermission(android.car.Car.PERMISSION_MONITOR_CAR_EVS_STATUS) public void clearStatusListener();
874    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_EVS_ACTIVITY) public android.os.IBinder generateSessionToken();
875    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_MONITOR_CAR_EVS_STATUS) public android.car.evs.CarEvsStatus getCurrentStatus();
876    method @FlaggedApi("android.car.feature.car_evs_query_service_status") @Nullable @RequiresPermission(android.car.Car.PERMISSION_MONITOR_CAR_EVS_STATUS) public android.car.evs.CarEvsStatus getCurrentStatus(int);
877    method @RequiresPermission(android.car.Car.PERMISSION_MONITOR_CAR_EVS_STATUS) public boolean isSupported(int);
878    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_EVS_CAMERA) public void returnFrameBuffer(@NonNull android.car.evs.CarEvsBufferDescriptor);
879    method @RequiresPermission(android.car.Car.PERMISSION_MONITOR_CAR_EVS_STATUS) public void setStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.car.evs.CarEvsManager.CarEvsStatusListener);
880    method @RequiresPermission(android.car.Car.PERMISSION_REQUEST_CAR_EVS_ACTIVITY) public int startActivity(int);
881    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_EVS_CAMERA) public int startVideoStream(int, @Nullable android.os.IBinder, @NonNull java.util.concurrent.Executor, @NonNull android.car.evs.CarEvsManager.CarEvsStreamCallback);
882    method @RequiresPermission(android.car.Car.PERMISSION_REQUEST_CAR_EVS_ACTIVITY) public void stopActivity();
883    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_EVS_CAMERA) public void stopVideoStream();
884    method @FlaggedApi("android.car.feature.car_evs_stream_management") @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_EVS_CAMERA) public void stopVideoStream(int);
885    field public static final int ERROR_BUSY = -2; // 0xfffffffe
886    field public static final int ERROR_NONE = 0; // 0x0
887    field public static final int ERROR_UNAVAILABLE = -1; // 0xffffffff
888    field public static final String EXTRA_SESSION_TOKEN = "android.car.evs.extra.SESSION_TOKEN";
889    field public static final int SERVICE_STATE_ACTIVE = 3; // 0x3
890    field public static final int SERVICE_STATE_INACTIVE = 1; // 0x1
891    field public static final int SERVICE_STATE_REQUESTED = 2; // 0x2
892    field public static final int SERVICE_STATE_UNAVAILABLE = 0; // 0x0
893    field public static final int SERVICE_TYPE_DRIVERVIEW = 5; // 0x5
894    field public static final int SERVICE_TYPE_FRONTVIEW = 2; // 0x2
895    field public static final int SERVICE_TYPE_FRONT_PASSENGERSVIEW = 6; // 0x6
896    field public static final int SERVICE_TYPE_LEFTVIEW = 3; // 0x3
897    field public static final int SERVICE_TYPE_REARVIEW = 0; // 0x0
898    field public static final int SERVICE_TYPE_REAR_PASSENGERSVIEW = 7; // 0x7
899    field public static final int SERVICE_TYPE_RIGHTVIEW = 4; // 0x4
900    field public static final int SERVICE_TYPE_SURROUNDVIEW = 1; // 0x1
901    field @FlaggedApi("android.car.feature.car_evs_stream_management") public static final int SERVICE_TYPE_UNKNOWN = -1; // 0xffffffff
902    field public static final int SERVICE_TYPE_USER_DEFINED = 1000; // 0x3e8
903    field public static final int STREAM_EVENT_FRAME_DROPPED = 3; // 0x3
904    field public static final int STREAM_EVENT_NONE = 0; // 0x0
905    field public static final int STREAM_EVENT_OTHER_ERRORS = 7; // 0x7
906    field public static final int STREAM_EVENT_PARAMETER_CHANGED = 5; // 0x5
907    field public static final int STREAM_EVENT_PRIMARY_OWNER_CHANGED = 6; // 0x6
908    field public static final int STREAM_EVENT_STREAM_STARTED = 1; // 0x1
909    field public static final int STREAM_EVENT_STREAM_STOPPED = 2; // 0x2
910    field public static final int STREAM_EVENT_TIMEOUT = 4; // 0x4
911  }
912
913  public static interface CarEvsManager.CarEvsStatusListener {
914    method public void onStatusChanged(@NonNull android.car.evs.CarEvsStatus);
915  }
916
917  public static interface CarEvsManager.CarEvsStreamCallback {
918    method public default void onNewFrame(@NonNull android.car.evs.CarEvsBufferDescriptor);
919    method @Deprecated public default void onStreamEvent(int);
920    method @FlaggedApi("android.car.feature.car_evs_stream_management") public default void onStreamEvent(int, int);
921  }
922
923  public final class CarEvsStatus implements android.os.Parcelable {
924    ctor public CarEvsStatus(int, int);
925    method public int describeContents();
926    method public int getServiceType();
927    method public int getState();
928    method public void writeToParcel(@NonNull android.os.Parcel, int);
929    field @NonNull public static final android.os.Parcelable.Creator<android.car.evs.CarEvsStatus> CREATOR;
930  }
931
932}
933
934package android.car.hardware {
935
936  public final class CarHvacFanDirection {
937    field public static final int DEFROST = 4; // 0x4
938    field public static final int DEFROST_AND_FLOOR = 6; // 0x6
939    field public static final int FACE = 1; // 0x1
940    field public static final int FACE_AND_DEFROST = 5; // 0x5
941    field public static final int FACE_AND_FLOOR = 3; // 0x3
942    field public static final int FACE_DEFROST_AND_FLOOR = 7; // 0x7
943    field public static final int FLOOR = 2; // 0x2
944    field public static final int UNKNOWN = 0; // 0x0
945  }
946
947  public final class CarPropertyConfig<T> implements android.os.Parcelable {
948    method @Deprecated public static <T> android.car.hardware.CarPropertyConfig.Builder<T> newBuilder(Class<T>, int, int, int);
949  }
950
951  @Deprecated public static class CarPropertyConfig.Builder<T> {
952    method @Deprecated @NonNull public android.car.hardware.CarPropertyConfig.Builder<T> addAreaIdConfig(@NonNull android.car.hardware.property.AreaIdConfig<T>);
953    method @Deprecated public android.car.hardware.CarPropertyConfig<T> build();
954    method @Deprecated public android.car.hardware.CarPropertyConfig.Builder<T> setAccess(int);
955    method @Deprecated public android.car.hardware.CarPropertyConfig.Builder<T> setChangeMode(int);
956    method @Deprecated public android.car.hardware.CarPropertyConfig.Builder<T> setConfigArray(java.util.ArrayList<java.lang.Integer>);
957    method @Deprecated public android.car.hardware.CarPropertyConfig.Builder<T> setConfigString(String);
958    method @Deprecated public android.car.hardware.CarPropertyConfig.Builder<T> setMaxSampleRate(float);
959    method @Deprecated public android.car.hardware.CarPropertyConfig.Builder<T> setMinSampleRate(float);
960  }
961
962  @Deprecated public final class CarVendorExtensionManager {
963    method @Deprecated public <E> E getGlobalProperty(Class<E>, int);
964    method @Deprecated public java.util.List<android.car.hardware.CarPropertyConfig> getProperties();
965    method @Deprecated public <E> E getProperty(Class<E>, int, int);
966    method @Deprecated public boolean isPropertyAvailable(int, int);
967    method @Deprecated public void registerCallback(android.car.hardware.CarVendorExtensionManager.CarVendorExtensionCallback);
968    method @Deprecated public <E> void setGlobalProperty(Class<E>, int, E);
969    method @Deprecated public <E> void setProperty(Class<E>, int, int, E);
970    method @Deprecated public void unregisterCallback(android.car.hardware.CarVendorExtensionManager.CarVendorExtensionCallback);
971  }
972
973  @Deprecated public static interface CarVendorExtensionManager.CarVendorExtensionCallback {
974    method @Deprecated public void onChangeEvent(android.car.hardware.CarPropertyValue);
975    method @Deprecated public void onErrorEvent(int, int);
976  }
977
978}
979
980package android.car.hardware.cabin {
981
982  @Deprecated public final class CarCabinManager {
983    method @Deprecated public boolean getBooleanProperty(int, int);
984    method @Deprecated public float getFloatProperty(int, int);
985    method @Deprecated public int getIntProperty(int, int);
986    method @Deprecated public java.util.List<android.car.hardware.CarPropertyConfig> getPropertyList();
987    method @Deprecated public static boolean isZonedProperty(int);
988    method @Deprecated public void registerCallback(android.car.hardware.cabin.CarCabinManager.CarCabinEventCallback);
989    method @Deprecated public void setBooleanProperty(int, int, boolean);
990    method @Deprecated public void setFloatProperty(int, int, float);
991    method @Deprecated public void setIntProperty(int, int, int);
992    method @Deprecated public void unregisterCallback(android.car.hardware.cabin.CarCabinManager.CarCabinEventCallback);
993    field @Deprecated public static final int ID_DOOR_LOCK = 371198722; // 0x16200b02
994    field @Deprecated public static final int ID_DOOR_MOVE = 373295873; // 0x16400b01
995    field @Deprecated public static final int ID_DOOR_POS = 373295872; // 0x16400b00
996    field @Deprecated public static final int ID_MIRROR_FOLD = 287312709; // 0x11200b45
997    field @Deprecated public static final int ID_MIRROR_LOCK = 287312708; // 0x11200b44
998    field @Deprecated public static final int ID_MIRROR_Y_MOVE = 339741507; // 0x14400b43
999    field @Deprecated public static final int ID_MIRROR_Y_POS = 339741506; // 0x14400b42
1000    field @Deprecated public static final int ID_MIRROR_Z_MOVE = 339741505; // 0x14400b41
1001    field @Deprecated public static final int ID_MIRROR_Z_POS = 339741504; // 0x14400b40
1002    field @Deprecated public static final int ID_SEAT_BACKREST_ANGLE_1_MOVE = 356518792; // 0x15400b88
1003    field @Deprecated public static final int ID_SEAT_BACKREST_ANGLE_1_POS = 356518791; // 0x15400b87
1004    field @Deprecated public static final int ID_SEAT_BACKREST_ANGLE_2_MOVE = 356518794; // 0x15400b8a
1005    field @Deprecated public static final int ID_SEAT_BACKREST_ANGLE_2_POS = 356518793; // 0x15400b89
1006    field @Deprecated public static final int ID_SEAT_BELT_BUCKLED = 354421634; // 0x15200b82
1007    field @Deprecated public static final int ID_SEAT_BELT_HEIGHT_MOVE = 356518788; // 0x15400b84
1008    field @Deprecated public static final int ID_SEAT_BELT_HEIGHT_POS = 356518787; // 0x15400b83
1009    field @Deprecated public static final int ID_SEAT_DEPTH_MOVE = 356518798; // 0x15400b8e
1010    field @Deprecated public static final int ID_SEAT_DEPTH_POS = 356518797; // 0x15400b8d
1011    field @Deprecated public static final int ID_SEAT_FORE_AFT_MOVE = 356518790; // 0x15400b86
1012    field @Deprecated public static final int ID_SEAT_FORE_AFT_POS = 356518789; // 0x15400b85
1013    field @Deprecated public static final int ID_SEAT_HEADREST_ANGLE_MOVE = 356518808; // 0x15400b98
1014    field @Deprecated public static final int ID_SEAT_HEADREST_ANGLE_POS = 356518807; // 0x15400b97
1015    field @Deprecated public static final int ID_SEAT_HEADREST_FORE_AFT_MOVE = 356518810; // 0x15400b9a
1016    field @Deprecated public static final int ID_SEAT_HEADREST_FORE_AFT_POS = 356518809; // 0x15400b99
1017    field @Deprecated public static final int ID_SEAT_HEADREST_HEIGHT_MOVE = 356518806; // 0x15400b96
1018    field @Deprecated public static final int ID_SEAT_HEADREST_HEIGHT_POS = 356518805; // 0x15400b95
1019    field @Deprecated public static final int ID_SEAT_HEIGHT_MOVE = 356518796; // 0x15400b8c
1020    field @Deprecated public static final int ID_SEAT_HEIGHT_POS = 356518795; // 0x15400b8b
1021    field @Deprecated public static final int ID_SEAT_LUMBAR_FORE_AFT_MOVE = 356518802; // 0x15400b92
1022    field @Deprecated public static final int ID_SEAT_LUMBAR_FORE_AFT_POS = 356518801; // 0x15400b91
1023    field @Deprecated public static final int ID_SEAT_LUMBAR_SIDE_SUPPORT_MOVE = 356518804; // 0x15400b94
1024    field @Deprecated public static final int ID_SEAT_LUMBAR_SIDE_SUPPORT_POS = 356518803; // 0x15400b93
1025    field @Deprecated public static final int ID_SEAT_MEMORY_SELECT = 356518784; // 0x15400b80
1026    field @Deprecated public static final int ID_SEAT_MEMORY_SET = 356518785; // 0x15400b81
1027    field @Deprecated public static final int ID_SEAT_TILT_MOVE = 356518800; // 0x15400b90
1028    field @Deprecated public static final int ID_SEAT_TILT_POS = 356518799; // 0x15400b8f
1029    field @Deprecated public static final int ID_WINDOW_LOCK = 322964420; // 0x13400bc4
1030    field @Deprecated public static final int ID_WINDOW_MOVE = 322964417; // 0x13400bc1
1031    field @Deprecated public static final int ID_WINDOW_POS = 322964416; // 0x13400bc0
1032  }
1033
1034  @Deprecated public static interface CarCabinManager.CarCabinEventCallback {
1035    method @Deprecated public void onChangeEvent(android.car.hardware.CarPropertyValue);
1036    method @Deprecated public void onErrorEvent(int, int);
1037  }
1038
1039}
1040
1041package android.car.hardware.hvac {
1042
1043  @Deprecated public final class CarHvacManager {
1044    method @Deprecated public boolean getBooleanProperty(int, int);
1045    method @Deprecated public float getFloatProperty(int, int);
1046    method @Deprecated public int getIntProperty(int, int);
1047    method @Deprecated public java.util.List<android.car.hardware.CarPropertyConfig> getPropertyList();
1048    method @Deprecated public boolean isPropertyAvailable(int, int);
1049    method @Deprecated public void registerCallback(android.car.hardware.hvac.CarHvacManager.CarHvacEventCallback);
1050    method @Deprecated public void setBooleanProperty(int, int, boolean);
1051    method @Deprecated public void setFloatProperty(int, int, float);
1052    method @Deprecated public void setIntProperty(int, int, int);
1053    method @Deprecated public void unregisterCallback(android.car.hardware.hvac.CarHvacManager.CarHvacEventCallback);
1054    field @Deprecated public static final int FAN_DIRECTION_DEFROST = 4; // 0x4
1055    field @Deprecated public static final int FAN_DIRECTION_FACE = 1; // 0x1
1056    field @Deprecated public static final int FAN_DIRECTION_FLOOR = 2; // 0x2
1057    field @Deprecated public static final int ID_MIRROR_DEFROSTER_ON = 339739916; // 0x1440050c
1058    field @Deprecated public static final int ID_OUTSIDE_AIR_TEMP = 291505923; // 0x11600703
1059    field @Deprecated public static final int ID_STEERING_WHEEL_HEAT = 289408269; // 0x1140050d
1060    field @Deprecated public static final int ID_TEMPERATURE_DISPLAY_UNITS = 289408270; // 0x1140050e
1061    field @Deprecated public static final int ID_WINDOW_DEFROSTER_ON = 320865540; // 0x13200504
1062    field @Deprecated public static final int ID_ZONED_AC_ON = 354419973; // 0x15200505
1063    field @Deprecated public static final int ID_ZONED_AIR_RECIRCULATION_ON = 354419976; // 0x15200508
1064    field @Deprecated public static final int ID_ZONED_AUTOMATIC_MODE_ON = 354419978; // 0x1520050a
1065    field @Deprecated public static final int ID_ZONED_DUAL_ZONE_ON = 354419977; // 0x15200509
1066    field @Deprecated public static final int ID_ZONED_FAN_DIRECTION = 356517121; // 0x15400501
1067    field @Deprecated public static final int ID_ZONED_FAN_DIRECTION_AVAILABLE = 356582673; // 0x15410511
1068    field @Deprecated public static final int ID_ZONED_FAN_SPEED_RPM = 356517135; // 0x1540050f
1069    field @Deprecated public static final int ID_ZONED_FAN_SPEED_SETPOINT = 356517120; // 0x15400500
1070    field @Deprecated public static final int ID_ZONED_HVAC_AUTO_RECIRC_ON = 354419986; // 0x15200512
1071    field @Deprecated public static final int ID_ZONED_HVAC_POWER_ON = 354419984; // 0x15200510
1072    field @Deprecated public static final int ID_ZONED_MAX_AC_ON = 354419974; // 0x15200506
1073    field @Deprecated public static final int ID_ZONED_MAX_DEFROST_ON = 354419975; // 0x15200507
1074    field @Deprecated public static final int ID_ZONED_SEAT_TEMP = 356517131; // 0x1540050b
1075    field @Deprecated public static final int ID_ZONED_TEMP_ACTUAL = 358614274; // 0x15600502
1076    field @Deprecated public static final int ID_ZONED_TEMP_SETPOINT = 358614275; // 0x15600503
1077  }
1078
1079  @Deprecated public static interface CarHvacManager.CarHvacEventCallback {
1080    method @Deprecated public void onChangeEvent(android.car.hardware.CarPropertyValue);
1081    method @Deprecated public void onErrorEvent(int, int);
1082  }
1083
1084}
1085
1086package android.car.hardware.power {
1087
1088  public class CarPowerManager {
1089    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_POWER_POLICY) public void applyPowerPolicy(@NonNull String);
1090    method @RequiresPermission(android.car.Car.PERMISSION_CAR_POWER) public void clearListener();
1091    method @RequiresPermission(android.car.Car.PERMISSION_CAR_POWER) public int getPowerState();
1092    method @RequiresPermission(android.car.Car.PERMISSION_CAR_POWER) public void setDisplayPowerState(int, boolean);
1093    method @RequiresPermission(android.car.Car.PERMISSION_CAR_POWER) public void setListener(@NonNull java.util.concurrent.Executor, @NonNull android.car.hardware.power.CarPowerManager.CarPowerStateListener);
1094    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_SHUTDOWN_PROCESS) public void setListenerWithCompletion(@NonNull java.util.concurrent.Executor, @NonNull android.car.hardware.power.CarPowerManager.CarPowerStateListenerWithCompletion);
1095    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_POWER_POLICY) public void setPowerPolicyGroup(@NonNull String);
1096    field public static final int STATE_HIBERNATION_ENTER = 9; // 0x9
1097    field public static final int STATE_HIBERNATION_EXIT = 10; // 0xa
1098    field public static final int STATE_INVALID = 0; // 0x0
1099    field public static final int STATE_ON = 6; // 0x6
1100    field public static final int STATE_POST_HIBERNATION_ENTER = 14; // 0xe
1101    field public static final int STATE_POST_SHUTDOWN_ENTER = 13; // 0xd
1102    field public static final int STATE_POST_SUSPEND_ENTER = 12; // 0xc
1103    field public static final int STATE_PRE_SHUTDOWN_PREPARE = 11; // 0xb
1104    field public static final int STATE_SHUTDOWN_CANCELLED = 8; // 0x8
1105    field public static final int STATE_SHUTDOWN_ENTER = 5; // 0x5
1106    field public static final int STATE_SHUTDOWN_PREPARE = 7; // 0x7
1107    field public static final int STATE_SUSPEND_ENTER = 2; // 0x2
1108    field public static final int STATE_SUSPEND_EXIT = 3; // 0x3
1109    field public static final int STATE_WAIT_FOR_VHAL = 1; // 0x1
1110  }
1111
1112  public static interface CarPowerManager.CarPowerStateListener {
1113    method public void onStateChanged(int);
1114  }
1115
1116  public static interface CarPowerManager.CarPowerStateListenerWithCompletion {
1117    method public void onStateChanged(int, @Nullable android.car.hardware.power.CarPowerManager.CompletablePowerStateChangeFuture);
1118  }
1119
1120  public static interface CarPowerManager.CompletablePowerStateChangeFuture {
1121    method public void complete();
1122    method public long getExpirationTime();
1123  }
1124
1125}
1126
1127package android.car.hardware.property {
1128
1129  @Deprecated public static final class AreaIdConfig.Builder<T> {
1130    ctor @Deprecated public AreaIdConfig.Builder(int);
1131    ctor @Deprecated @FlaggedApi("android.car.feature.area_id_config_access") public AreaIdConfig.Builder(int, int);
1132    method @Deprecated @NonNull public android.car.hardware.property.AreaIdConfig<T> build();
1133    method @Deprecated @NonNull public android.car.hardware.property.AreaIdConfig.Builder<T> setMaxValue(T);
1134    method @Deprecated @NonNull public android.car.hardware.property.AreaIdConfig.Builder<T> setMinValue(T);
1135    method @Deprecated @NonNull public android.car.hardware.property.AreaIdConfig.Builder<T> setSupportedEnumValues(@NonNull java.util.List<T>);
1136  }
1137
1138  public final class AutomaticEmergencyBrakingState {
1139    method @NonNull public static String toString(int);
1140    field public static final int ACTIVATED = 2; // 0x2
1141    field public static final int ENABLED = 1; // 0x1
1142    field public static final int OTHER = 0; // 0x0
1143    field public static final int USER_OVERRIDE = 3; // 0x3
1144  }
1145
1146  public final class BlindSpotWarningState {
1147    method @NonNull public static String toString(int);
1148    field public static final int NO_WARNING = 1; // 0x1
1149    field public static final int OTHER = 0; // 0x0
1150    field public static final int WARNING = 2; // 0x2
1151  }
1152
1153  public class CarInternalErrorException extends java.lang.RuntimeException {
1154    method public int getVendorErrorCode();
1155  }
1156
1157  public static final class CarPropertyManager.PropertyAsyncError {
1158    method public int getVendorErrorCode();
1159  }
1160
1161  @FlaggedApi("android.car.feature.car_property_simulation") public final class CarPropertySimulationManager {
1162    method @FlaggedApi("android.car.feature.car_property_simulation") @NonNull @RequiresPermission(android.car.Car.PERMISSION_INJECT_VEHICLE_PROPERTIES) public <T> android.car.hardware.CarPropertyValue<T> createCarPropertyValue(int, int, int, long, @NonNull T);
1163    method @FlaggedApi("android.car.feature.car_property_simulation") @RequiresPermission(android.car.Car.PERMISSION_INJECT_VEHICLE_PROPERTIES) public void disableInjectionMode();
1164    method @FlaggedApi("android.car.feature.car_property_simulation") @RequiresPermission(android.car.Car.PERMISSION_INJECT_VEHICLE_PROPERTIES) public void enableInjectionMode(@NonNull java.util.List<java.lang.Integer>);
1165    method @FlaggedApi("android.car.feature.car_property_simulation") @Nullable @RequiresPermission(android.car.Car.PERMISSION_INJECT_VEHICLE_PROPERTIES) public android.car.hardware.CarPropertyValue getLastInjectedVehicleProperty(int);
1166    method @FlaggedApi("android.car.feature.car_property_simulation") @RequiresPermission(android.car.Car.PERMISSION_INJECT_VEHICLE_PROPERTIES) public void injectVehicleProperties(@NonNull java.util.List<android.car.hardware.CarPropertyValue>);
1167    method @FlaggedApi("android.car.feature.car_property_simulation") @RequiresPermission(android.car.Car.PERMISSION_RECORD_VEHICLE_PROPERTIES) public boolean isRecordingVehicleProperties();
1168    method @FlaggedApi("android.car.feature.car_property_simulation") @RequiresPermission(android.car.Car.PERMISSION_INJECT_VEHICLE_PROPERTIES) public boolean isVehiclePropertyInjectionModeEnabled();
1169    method @FlaggedApi("android.car.feature.car_property_simulation") @NonNull @RequiresPermission(android.car.Car.PERMISSION_RECORD_VEHICLE_PROPERTIES) public java.util.List<android.car.hardware.CarPropertyConfig> startRecordingVehicleProperties(@Nullable java.util.concurrent.Executor, @NonNull android.car.hardware.property.CarPropertySimulationManager.CarRecorderListener);
1170    method @FlaggedApi("android.car.feature.car_property_simulation") @RequiresPermission(android.car.Car.PERMISSION_RECORD_VEHICLE_PROPERTIES) public void stopRecordingVehicleProperties();
1171  }
1172
1173  @FlaggedApi("android.car.feature.car_property_simulation") public static interface CarPropertySimulationManager.CarRecorderListener {
1174    method @FlaggedApi("android.car.feature.car_property_simulation") public void onCarPropertyEvents(@NonNull java.util.List<android.car.hardware.CarPropertyValue<?>>);
1175    method @FlaggedApi("android.car.feature.car_property_simulation") public void onRecordingFinished();
1176  }
1177
1178  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class CrossTrafficMonitoringWarningState {
1179    method @NonNull public static String toString(int);
1180    field public static final int NO_WARNING = 1; // 0x1
1181    field public static final int OTHER = 0; // 0x0
1182    field public static final int WARNING_FRONT_BOTH = 4; // 0x4
1183    field public static final int WARNING_FRONT_LEFT = 2; // 0x2
1184    field public static final int WARNING_FRONT_RIGHT = 3; // 0x3
1185    field public static final int WARNING_REAR_BOTH = 7; // 0x7
1186    field public static final int WARNING_REAR_LEFT = 5; // 0x5
1187    field public static final int WARNING_REAR_RIGHT = 6; // 0x6
1188  }
1189
1190  public class CruiseControlCommand {
1191    method @NonNull public static String toString(int);
1192    field public static final int ACTIVATE = 1; // 0x1
1193    field public static final int DECREASE_TARGET_SPEED = 4; // 0x4
1194    field public static final int DECREASE_TARGET_TIME_GAP = 6; // 0x6
1195    field public static final int INCREASE_TARGET_SPEED = 3; // 0x3
1196    field public static final int INCREASE_TARGET_TIME_GAP = 5; // 0x5
1197    field public static final int SUSPEND = 2; // 0x2
1198  }
1199
1200  public class CruiseControlState {
1201    method @NonNull public static String toString(int);
1202    field public static final int ACTIVATED = 2; // 0x2
1203    field public static final int ENABLED = 1; // 0x1
1204    field public static final int FORCED_DEACTIVATION_WARNING = 5; // 0x5
1205    field public static final int OTHER = 0; // 0x0
1206    field public static final int SUSPENDED = 4; // 0x4
1207    field public static final int USER_OVERRIDE = 3; // 0x3
1208  }
1209
1210  public class CruiseControlType {
1211    method @NonNull public static String toString(int);
1212    field public static final int ADAPTIVE = 2; // 0x2
1213    field public static final int OTHER = 0; // 0x0
1214    field public static final int PREDICTIVE = 3; // 0x3
1215    field public static final int STANDARD = 1; // 0x1
1216  }
1217
1218  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class DriverDistractionState {
1219    method @NonNull public static String toString(int);
1220    field public static final int DISTRACTED = 2; // 0x2
1221    field public static final int NOT_DISTRACTED = 1; // 0x1
1222    field public static final int OTHER = 0; // 0x0
1223  }
1224
1225  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class DriverDistractionWarning {
1226    method @NonNull public static String toString(int);
1227    field public static final int NO_WARNING = 1; // 0x1
1228    field public static final int OTHER = 0; // 0x0
1229    field public static final int WARNING = 2; // 0x2
1230  }
1231
1232  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class DriverDrowsinessAttentionState {
1233    method @NonNull public static String toString(int);
1234    field public static final int KSS_RATING_1_EXTREMELY_ALERT = 1; // 0x1
1235    field public static final int KSS_RATING_2_VERY_ALERT = 2; // 0x2
1236    field public static final int KSS_RATING_3_ALERT = 3; // 0x3
1237    field public static final int KSS_RATING_4_RATHER_ALERT = 4; // 0x4
1238    field public static final int KSS_RATING_5_NEITHER_ALERT_NOR_SLEEPY = 5; // 0x5
1239    field public static final int KSS_RATING_6_SOME_SLEEPINESS = 6; // 0x6
1240    field public static final int KSS_RATING_7_SLEEPY_NO_EFFORT = 7; // 0x7
1241    field public static final int KSS_RATING_8_SLEEPY_SOME_EFFORT = 8; // 0x8
1242    field public static final int KSS_RATING_9_VERY_SLEEPY = 9; // 0x9
1243    field public static final int OTHER = 0; // 0x0
1244  }
1245
1246  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class DriverDrowsinessAttentionWarning {
1247    method @NonNull public static String toString(int);
1248    field public static final int NO_WARNING = 1; // 0x1
1249    field public static final int OTHER = 0; // 0x0
1250    field public static final int WARNING = 2; // 0x2
1251  }
1252
1253  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class ElectronicStabilityControlState {
1254    method @NonNull public static String toString(int);
1255    field public static final int ACTIVATED = 2; // 0x2
1256    field public static final int ENABLED = 1; // 0x1
1257    field public static final int OTHER = 0; // 0x0
1258  }
1259
1260  public class EmergencyLaneKeepAssistState {
1261    method @NonNull public static String toString(int);
1262    field public static final int ACTIVATED_STEER_LEFT = 4; // 0x4
1263    field public static final int ACTIVATED_STEER_RIGHT = 5; // 0x5
1264    field public static final int ENABLED = 1; // 0x1
1265    field public static final int OTHER = 0; // 0x0
1266    field public static final int USER_OVERRIDE = 6; // 0x6
1267    field public static final int WARNING_LEFT = 2; // 0x2
1268    field public static final int WARNING_RIGHT = 3; // 0x3
1269  }
1270
1271  public final class ErrorState {
1272    method @NonNull public static String toString(int);
1273    field public static final int NOT_AVAILABLE_DISABLED = -2; // 0xfffffffe
1274    field public static final int NOT_AVAILABLE_POOR_VISIBILITY = -5; // 0xfffffffb
1275    field public static final int NOT_AVAILABLE_SAFETY = -6; // 0xfffffffa
1276    field public static final int NOT_AVAILABLE_SPEED_HIGH = -4; // 0xfffffffc
1277    field public static final int NOT_AVAILABLE_SPEED_LOW = -3; // 0xfffffffd
1278    field public static final int OTHER_ERROR_STATE = -1; // 0xffffffff
1279  }
1280
1281  public final class EvStoppingMode {
1282    method @NonNull public static String toString(int);
1283    field public static final int STATE_CREEP = 1; // 0x1
1284    field public static final int STATE_HOLD = 3; // 0x3
1285    field public static final int STATE_OTHER = 0; // 0x0
1286    field public static final int STATE_ROLL = 2; // 0x2
1287  }
1288
1289  public final class ForwardCollisionWarningState {
1290    method @NonNull public static String toString(int);
1291    field public static final int NO_WARNING = 1; // 0x1
1292    field public static final int OTHER = 0; // 0x0
1293    field public static final int WARNING = 2; // 0x2
1294  }
1295
1296  public class HandsOnDetectionDriverState {
1297    method @NonNull public static String toString(int);
1298    field public static final int HANDS_OFF = 2; // 0x2
1299    field public static final int HANDS_ON = 1; // 0x1
1300    field public static final int OTHER = 0; // 0x0
1301  }
1302
1303  public class HandsOnDetectionWarning {
1304    method @NonNull public static String toString(int);
1305    field public static final int NO_WARNING = 1; // 0x1
1306    field public static final int OTHER = 0; // 0x0
1307    field public static final int WARNING = 2; // 0x2
1308  }
1309
1310  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class ImpactSensorLocation {
1311    method @NonNull public static String toString(int);
1312    field public static final int FRONT = 2; // 0x2
1313    field public static final int FRONT_LEFT_DOOR_SIDE = 4; // 0x4
1314    field public static final int FRONT_RIGHT_DOOR_SIDE = 8; // 0x8
1315    field public static final int OTHER = 1; // 0x1
1316    field public static final int REAR = 64; // 0x40
1317    field public static final int REAR_LEFT_DOOR_SIDE = 16; // 0x10
1318    field public static final int REAR_RIGHT_DOOR_SIDE = 32; // 0x20
1319  }
1320
1321  public final class LaneCenteringAssistCommand {
1322    method @NonNull public static String toString(int);
1323    field public static final int ACTIVATE = 1; // 0x1
1324    field public static final int DEACTIVATE = 2; // 0x2
1325  }
1326
1327  public final class LaneCenteringAssistState {
1328    method @NonNull public static String toString(int);
1329    field public static final int ACTIVATED = 3; // 0x3
1330    field public static final int ACTIVATION_REQUESTED = 2; // 0x2
1331    field public static final int ENABLED = 1; // 0x1
1332    field public static final int FORCED_DEACTIVATION_WARNING = 5; // 0x5
1333    field public static final int OTHER = 0; // 0x0
1334    field public static final int USER_OVERRIDE = 4; // 0x4
1335  }
1336
1337  public final class LaneDepartureWarningState {
1338    method @NonNull public static String toString(int);
1339    field public static final int NO_WARNING = 1; // 0x1
1340    field public static final int OTHER = 0; // 0x0
1341    field public static final int WARNING_LEFT = 2; // 0x2
1342    field public static final int WARNING_RIGHT = 3; // 0x3
1343  }
1344
1345  public final class LaneKeepAssistState {
1346    method @NonNull public static String toString(int);
1347    field public static final int ACTIVATED_STEER_LEFT = 2; // 0x2
1348    field public static final int ACTIVATED_STEER_RIGHT = 3; // 0x3
1349    field public static final int ENABLED = 1; // 0x1
1350    field public static final int OTHER = 0; // 0x0
1351    field public static final int USER_OVERRIDE = 4; // 0x4
1352  }
1353
1354  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class LowSpeedAutomaticEmergencyBrakingState {
1355    method @NonNull public static String toString(int);
1356    field public static final int ACTIVATED = 2; // 0x2
1357    field public static final int ENABLED = 1; // 0x1
1358    field public static final int OTHER = 0; // 0x0
1359    field public static final int USER_OVERRIDE = 3; // 0x3
1360  }
1361
1362  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class LowSpeedCollisionWarningState {
1363    method @NonNull public static String toString(int);
1364    field public static final int NO_WARNING = 1; // 0x1
1365    field public static final int OTHER = 0; // 0x0
1366    field public static final int WARNING = 2; // 0x2
1367  }
1368
1369  public class PropertyNotAvailableException extends java.lang.IllegalStateException {
1370    method public int getVendorErrorCode();
1371  }
1372
1373  public final class TrailerState {
1374    method @NonNull public static String toString(int);
1375    field public static final int STATE_ERROR = 3; // 0x3
1376    field public static final int STATE_NOT_PRESENT = 1; // 0x1
1377    field public static final int STATE_PRESENT = 2; // 0x2
1378    field public static final int STATE_UNKNOWN = 0; // 0x0
1379  }
1380
1381  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class VehicleAirbagLocation {
1382    method @NonNull public static String toString(int);
1383    field public static final int CURTAIN = 32; // 0x20
1384    field public static final int FRONT = 2; // 0x2
1385    field public static final int KNEE = 4; // 0x4
1386    field public static final int LEFT_SIDE = 8; // 0x8
1387    field public static final int OTHER = 1; // 0x1
1388    field public static final int RIGHT_SIDE = 16; // 0x10
1389  }
1390
1391  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class VehicleAutonomousState {
1392    method @NonNull public static String toString(int);
1393    field public static final int LEVEL_0 = 0; // 0x0
1394    field public static final int LEVEL_1 = 1; // 0x1
1395    field public static final int LEVEL_2 = 2; // 0x2
1396    field public static final int LEVEL_3 = 3; // 0x3
1397    field public static final int LEVEL_4 = 4; // 0x4
1398    field public static final int LEVEL_5 = 5; // 0x5
1399  }
1400
1401  public final class VehicleLightState {
1402    method @NonNull public static String toString(int);
1403    field public static final int STATE_DAYTIME_RUNNING = 2; // 0x2
1404    field public static final int STATE_OFF = 0; // 0x0
1405    field public static final int STATE_ON = 1; // 0x1
1406  }
1407
1408  public final class VehicleLightSwitch {
1409    method @NonNull public static String toString(int);
1410    field public static final int STATE_AUTOMATIC = 256; // 0x100
1411    field public static final int STATE_DAYTIME_RUNNING = 2; // 0x2
1412    field public static final int STATE_OFF = 0; // 0x0
1413    field public static final int STATE_ON = 1; // 0x1
1414  }
1415
1416  public final class VehicleOilLevel {
1417    method @NonNull public static String toString(int);
1418    field public static final int LEVEL_CRITICALLY_LOW = 0; // 0x0
1419    field public static final int LEVEL_ERROR = 4; // 0x4
1420    field public static final int LEVEL_HIGH = 3; // 0x3
1421    field public static final int LEVEL_LOW = 1; // 0x1
1422    field public static final int LEVEL_NORMAL = 2; // 0x2
1423  }
1424
1425  public final class VehicleTurnSignal {
1426    method @NonNull public static String toString(int);
1427    field public static final int STATE_LEFT = 2; // 0x2
1428    field public static final int STATE_NONE = 0; // 0x0
1429    field public static final int STATE_RIGHT = 1; // 0x1
1430  }
1431
1432  public final class VehicleVendorPermission {
1433    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_1 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_1";
1434    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_10 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_10";
1435    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_2 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_2";
1436    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_3 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_3";
1437    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_4 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_4";
1438    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_5 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_5";
1439    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_6 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_6";
1440    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_7 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_7";
1441    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_8 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_8";
1442    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_9 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_9";
1443    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_DOOR = "android.car.permission.GET_CAR_VENDOR_CATEGORY_DOOR";
1444    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_ENGINE = "android.car.permission.GET_CAR_VENDOR_CATEGORY_ENGINE";
1445    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_HVAC = "android.car.permission.GET_CAR_VENDOR_CATEGORY_HVAC";
1446    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_INFO = "android.car.permission.GET_CAR_VENDOR_CATEGORY_INFO";
1447    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_LIGHT = "android.car.permission.GET_CAR_VENDOR_CATEGORY_LIGHT";
1448    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_MIRROR = "android.car.permission.GET_CAR_VENDOR_CATEGORY_MIRROR";
1449    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_SEAT = "android.car.permission.GET_CAR_VENDOR_CATEGORY_SEAT";
1450    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_WINDOW = "android.car.permission.GET_CAR_VENDOR_CATEGORY_WINDOW";
1451    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_1 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_1";
1452    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_10 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_10";
1453    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_2 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_2";
1454    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_3 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_3";
1455    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_4 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_4";
1456    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_5 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_5";
1457    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_6 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_6";
1458    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_7 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_7";
1459    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_8 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_8";
1460    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_9 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_9";
1461    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_DOOR = "android.car.permission.SET_CAR_VENDOR_CATEGORY_DOOR";
1462    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_ENGINE = "android.car.permission.SET_CAR_VENDOR_CATEGORY_ENGINE";
1463    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_HVAC = "android.car.permission.SET_CAR_VENDOR_CATEGORY_HVAC";
1464    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_INFO = "android.car.permission.SET_CAR_VENDOR_CATEGORY_INFO";
1465    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_LIGHT = "android.car.permission.SET_CAR_VENDOR_CATEGORY_LIGHT";
1466    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_MIRROR = "android.car.permission.SET_CAR_VENDOR_CATEGORY_MIRROR";
1467    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_SEAT = "android.car.permission.SET_CAR_VENDOR_CATEGORY_SEAT";
1468    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_WINDOW = "android.car.permission.SET_CAR_VENDOR_CATEGORY_WINDOW";
1469  }
1470
1471  public final class WindshieldWipersState {
1472    method @NonNull public static String toString(int);
1473    field public static final int OFF = 1; // 0x1
1474    field public static final int ON = 2; // 0x2
1475    field public static final int OTHER = 0; // 0x0
1476    field public static final int SERVICE = 3; // 0x3
1477  }
1478
1479  public final class WindshieldWipersSwitch {
1480    method @NonNull public static String toString(int);
1481    field public static final int AUTO = 13; // 0xd
1482    field public static final int CONTINUOUS_LEVEL_1 = 8; // 0x8
1483    field public static final int CONTINUOUS_LEVEL_2 = 9; // 0x9
1484    field public static final int CONTINUOUS_LEVEL_3 = 10; // 0xa
1485    field public static final int CONTINUOUS_LEVEL_4 = 11; // 0xb
1486    field public static final int CONTINUOUS_LEVEL_5 = 12; // 0xc
1487    field public static final int INTERMITTENT_LEVEL_1 = 3; // 0x3
1488    field public static final int INTERMITTENT_LEVEL_2 = 4; // 0x4
1489    field public static final int INTERMITTENT_LEVEL_3 = 5; // 0x5
1490    field public static final int INTERMITTENT_LEVEL_4 = 6; // 0x6
1491    field public static final int INTERMITTENT_LEVEL_5 = 7; // 0x7
1492    field public static final int MIST = 2; // 0x2
1493    field public static final int OFF = 1; // 0x1
1494    field public static final int OTHER = 0; // 0x0
1495    field public static final int SERVICE = 14; // 0xe
1496  }
1497
1498}
1499
1500package android.car.input {
1501
1502  public final class CarInputManager {
1503    method @RequiresPermission(android.Manifest.permission.INJECT_EVENTS) public void injectKeyEvent(@NonNull android.view.KeyEvent, int);
1504    method public void releaseInputEventCapture(int);
1505    method @RequiresPermission(anyOf={"android.permission.MONITOR_INPUT", android.car.Car.PERMISSION_CAR_MONITOR_INPUT}) public int requestInputEventCapture(int, @NonNull int[], int, @NonNull android.car.input.CarInputManager.CarInputCaptureCallback);
1506    method @RequiresPermission(anyOf={"android.permission.MONITOR_INPUT", android.car.Car.PERMISSION_CAR_MONITOR_INPUT}) public int requestInputEventCapture(int, @NonNull int[], int, @NonNull java.util.concurrent.Executor, @NonNull android.car.input.CarInputManager.CarInputCaptureCallback);
1507    field public static final int CAPTURE_REQ_FLAGS_ALLOW_DELAYED_GRANT = 1; // 0x1
1508    field public static final int CAPTURE_REQ_FLAGS_TAKE_ALL_EVENTS_FOR_DISPLAY = 2; // 0x2
1509    field public static final int INPUT_CAPTURE_RESPONSE_DELAYED = 2; // 0x2
1510    field public static final int INPUT_CAPTURE_RESPONSE_FAILED = 1; // 0x1
1511    field public static final int INPUT_CAPTURE_RESPONSE_SUCCEEDED = 0; // 0x0
1512    field public static final int INPUT_TYPE_ALL_INPUTS = 1; // 0x1
1513  }
1514
1515  public static interface CarInputManager.CarInputCaptureCallback {
1516    method public default void onCaptureStateChanged(int, @NonNull int[]);
1517    method public default void onCustomInputEvents(int, @NonNull java.util.List<android.car.input.CustomInputEvent>);
1518    method public default void onKeyEvents(int, @NonNull java.util.List<android.view.KeyEvent>);
1519    method public default void onRotaryEvents(int, @NonNull java.util.List<android.car.input.RotaryEvent>);
1520  }
1521
1522  public final class CustomInputEvent implements android.os.Parcelable {
1523    ctor public CustomInputEvent(int, int, int);
1524    method public int describeContents();
1525    method public int getInputCode();
1526    method public int getRepeatCounter();
1527    method public int getTargetDisplayType();
1528    method @NonNull public static String inputCodeToString(int);
1529    method public void writeToParcel(@NonNull android.os.Parcel, int);
1530    field @NonNull public static final android.os.Parcelable.Creator<android.car.input.CustomInputEvent> CREATOR;
1531    field public static final int INPUT_CODE_F1 = 1001; // 0x3e9
1532    field public static final int INPUT_CODE_F10 = 1010; // 0x3f2
1533    field public static final int INPUT_CODE_F2 = 1002; // 0x3ea
1534    field public static final int INPUT_CODE_F3 = 1003; // 0x3eb
1535    field public static final int INPUT_CODE_F4 = 1004; // 0x3ec
1536    field public static final int INPUT_CODE_F5 = 1005; // 0x3ed
1537    field public static final int INPUT_CODE_F6 = 1006; // 0x3ee
1538    field public static final int INPUT_CODE_F7 = 1007; // 0x3ef
1539    field public static final int INPUT_CODE_F8 = 1008; // 0x3f0
1540    field public static final int INPUT_CODE_F9 = 1009; // 0x3f1
1541  }
1542
1543  public final class RotaryEvent implements android.os.Parcelable {
1544    ctor public RotaryEvent(int, boolean, @NonNull long[]);
1545    method public int describeContents();
1546    method public int getInputType();
1547    method public int getNumberOfClicks();
1548    method public long getUptimeMillisForClick(int);
1549    method @NonNull public long[] getUptimeMillisForClicks();
1550    method public boolean isClockwise();
1551    method public void writeToParcel(@NonNull android.os.Parcel, int);
1552    field @NonNull public static final android.os.Parcelable.Creator<android.car.input.RotaryEvent> CREATOR;
1553  }
1554
1555}
1556
1557package android.car.media {
1558
1559  @FlaggedApi("android.car.feature.car_audio_dynamic_devices") public interface AudioZoneConfigurationsChangeCallback {
1560    method public default void onAudioZoneConfigurationsChanged(@NonNull java.util.List<android.car.media.CarAudioZoneConfigInfo>, int);
1561  }
1562
1563  public interface AudioZonesMirrorStatusCallback {
1564    method public void onAudioZonesMirrorStatusChanged(@NonNull java.util.List<java.lang.Integer>, int);
1565  }
1566
1567  public final class CarAudioManager {
1568    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public boolean allowMediaAudioOnPrimaryZone(long, boolean);
1569    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public int canEnableAudioMirror();
1570    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public boolean cancelMediaAudioOnPrimaryZone(long);
1571    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public void clearAudioZoneConfigsCallback();
1572    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public void clearAudioZonesMirrorStatusCallback();
1573    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public void clearPrimaryZoneMediaAudioRequestCallback();
1574    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public android.car.media.CarAudioPatchHandle createAudioPatch(String, int, int);
1575    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public void disableAudioMirror(long);
1576    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public void disableAudioMirrorForZone(int);
1577    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public long enableMirrorForAudioZones(@NonNull java.util.List<java.lang.Integer>);
1578    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public void extendAudioMirrorRequest(long, @NonNull java.util.List<java.lang.Integer>);
1579    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public java.util.List<android.media.AudioAttributes> getAudioAttributesForVolumeGroup(@NonNull android.car.media.CarVolumeGroupInfo);
1580    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public java.util.List<android.car.media.CarAudioZoneConfigInfo> getAudioZoneConfigInfos(int);
1581    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public java.util.List<java.lang.Integer> getAudioZoneIds();
1582    method @Nullable @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public android.car.media.CarAudioZoneConfigInfo getCurrentAudioZoneConfigInfo(int);
1583    method @Deprecated @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public String[] getExternalSources();
1584    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getGroupMaxVolume(int);
1585    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getGroupMaxVolume(int, int);
1586    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getGroupMinVolume(int);
1587    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getGroupMinVolume(int, int);
1588    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getGroupVolume(int);
1589    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getGroupVolume(int, int);
1590    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public java.util.List<android.media.AudioDeviceInfo> getInputDevicesForZoneId(int);
1591    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public java.util.List<java.lang.Integer> getMirrorAudioZonesForAudioZone(int);
1592    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public java.util.List<java.lang.Integer> getMirrorAudioZonesForMirrorRequest(long);
1593    method @Nullable @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public android.media.AudioDeviceInfo getOutputDeviceForUsage(int, int);
1594    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int[] getUsagesForVolumeGroupId(int);
1595    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int[] getUsagesForVolumeGroupId(int, int);
1596    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getVolumeGroupCount();
1597    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getVolumeGroupCount(int);
1598    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getVolumeGroupIdForUsage(int);
1599    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getVolumeGroupIdForUsage(int, int);
1600    method @Nullable @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public android.car.media.CarVolumeGroupInfo getVolumeGroupInfo(int, int);
1601    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public java.util.List<android.car.media.CarVolumeGroupInfo> getVolumeGroupInfosForZone(int);
1602    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public boolean isMediaAudioAllowedInPrimaryZone(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1603    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public boolean isPlaybackOnVolumeGroupActive(int, int);
1604    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public boolean isVolumeGroupMuted(int, int);
1605    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public boolean registerCarVolumeGroupEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.car.media.CarVolumeGroupEventCallback);
1606    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public void releaseAudioPatch(android.car.media.CarAudioPatchHandle);
1607    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public long requestMediaAudioOnPrimaryZone(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, @NonNull java.util.concurrent.Executor, @NonNull android.car.media.MediaAudioRequestStatusCallback);
1608    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public boolean resetMediaAudioOnPrimaryZone(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1609    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public boolean setAudioZoneConfigsChangeCallback(@NonNull java.util.concurrent.Executor, @NonNull android.car.media.AudioZoneConfigurationsChangeCallback);
1610    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public boolean setAudioZoneMirrorStatusCallback(@NonNull java.util.concurrent.Executor, @NonNull android.car.media.AudioZonesMirrorStatusCallback);
1611    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public void setBalanceTowardRight(float);
1612    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public void setFadeTowardFront(float);
1613    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public void setGroupVolume(int, int, int);
1614    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public void setGroupVolume(int, int, int, int);
1615    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public boolean setPrimaryZoneMediaAudioRequestCallback(@NonNull java.util.concurrent.Executor, @NonNull android.car.media.PrimaryZoneMediaAudioRequestCallback);
1616    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public void setVolumeGroupMute(int, int, boolean, int);
1617    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public void switchAudioZoneToConfig(@NonNull android.car.media.CarAudioZoneConfigInfo, @NonNull java.util.concurrent.Executor, @NonNull android.car.media.SwitchAudioZoneConfigCallback);
1618    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public void unregisterCarVolumeGroupEventCallback(@NonNull android.car.media.CarVolumeGroupEventCallback);
1619    field public static final String AUDIOFOCUS_EXTRA_RECEIVE_DUCKING_EVENTS = "android.car.media.AUDIOFOCUS_EXTRA_RECEIVE_DUCKING_EVENTS";
1620    field public static final int AUDIO_MIRROR_CAN_ENABLE = 1; // 0x1
1621    field public static final int AUDIO_MIRROR_INTERNAL_ERROR = -1; // 0xffffffff
1622    field public static final int AUDIO_MIRROR_OUT_OF_OUTPUT_DEVICES = 2; // 0x2
1623    field public static final int AUDIO_REQUEST_STATUS_APPROVED = 1; // 0x1
1624    field public static final int AUDIO_REQUEST_STATUS_CANCELLED = 3; // 0x3
1625    field public static final int AUDIO_REQUEST_STATUS_REJECTED = 2; // 0x2
1626    field public static final int AUDIO_REQUEST_STATUS_STOPPED = 4; // 0x4
1627    field @FlaggedApi("android.car.feature.car_audio_dynamic_devices") public static final int CONFIG_STATUS_AUTO_SWITCHED = 2; // 0x2
1628    field @FlaggedApi("android.car.feature.car_audio_dynamic_devices") public static final int CONFIG_STATUS_CHANGED = 1; // 0x1
1629    field public static final int INVALID_AUDIO_ZONE = -1; // 0xffffffff
1630    field public static final long INVALID_REQUEST_ID = -1L; // 0xffffffffffffffffL
1631    field public static final int PRIMARY_AUDIO_ZONE = 0; // 0x0
1632  }
1633
1634  public final class CarAudioPatchHandle implements android.os.Parcelable {
1635    method public int describeContents();
1636    method public void writeToParcel(android.os.Parcel, int);
1637    field public static final android.os.Parcelable.Creator<android.car.media.CarAudioPatchHandle> CREATOR;
1638  }
1639
1640  public final class CarAudioZoneConfigInfo implements android.os.Parcelable {
1641    method public int describeContents();
1642    method public int getConfigId();
1643    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") @NonNull public java.util.List<android.car.media.CarVolumeGroupInfo> getConfigVolumeGroups();
1644    method @NonNull public String getName();
1645    method public int getZoneId();
1646    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") public boolean hasSameConfigInfo(@NonNull android.car.media.CarAudioZoneConfigInfo);
1647    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") public boolean isActive();
1648    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") public boolean isDefault();
1649    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") public boolean isSelected();
1650    method public void writeToParcel(@NonNull android.os.Parcel, int);
1651    field @NonNull public static final android.os.Parcelable.Creator<android.car.media.CarAudioZoneConfigInfo> CREATOR;
1652  }
1653
1654  public final class CarMediaManager {
1655    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addMediaSourceListener(@NonNull android.car.media.CarMediaManager.MediaSourceChangedListener, int);
1656    method @NonNull @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public java.util.List<android.content.ComponentName> getLastMediaSources(int);
1657    method @NonNull @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public android.content.ComponentName getMediaSource(int);
1658    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeMediaSourceListener(@NonNull android.car.media.CarMediaManager.MediaSourceChangedListener, int);
1659    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void setMediaSource(@NonNull android.content.ComponentName, int);
1660    field public static final int MEDIA_SOURCE_MODE_BROWSE = 1; // 0x1
1661    field public static final int MEDIA_SOURCE_MODE_PLAYBACK = 0; // 0x0
1662  }
1663
1664  public static interface CarMediaManager.MediaSourceChangedListener {
1665    method public void onMediaSourceChanged(@NonNull android.content.ComponentName);
1666  }
1667
1668  public final class CarVolumeGroupEvent implements android.os.Parcelable {
1669    method public static int convertExtraInfoToFlags(@NonNull java.util.List<java.lang.Integer>);
1670    method @NonNull public static java.util.List<java.lang.Integer> convertFlagsToExtraInfo(int, int);
1671    method public int describeContents();
1672    method @NonNull public static String eventTypeToString(int);
1673    method @NonNull public static String extraInfosToString(@NonNull java.util.List<java.lang.Integer>);
1674    method @NonNull public java.util.List<android.car.media.CarVolumeGroupInfo> getCarVolumeGroupInfos();
1675    method public int getEventTypes();
1676    method @NonNull public java.util.List<java.lang.Integer> getExtraInfos();
1677    method public void writeToParcel(@NonNull android.os.Parcel, int);
1678    field @NonNull public static final android.os.Parcelable.Creator<android.car.media.CarVolumeGroupEvent> CREATOR;
1679    field public static final int EVENT_TYPE_ATTENUATION_CHANGED = 32; // 0x20
1680    field public static final int EVENT_TYPE_MUTE_CHANGED = 8; // 0x8
1681    field public static final int EVENT_TYPE_VOLUME_BLOCKED_CHANGED = 16; // 0x10
1682    field public static final int EVENT_TYPE_VOLUME_GAIN_INDEX_CHANGED = 1; // 0x1
1683    field public static final int EVENT_TYPE_VOLUME_MAX_INDEX_CHANGED = 4; // 0x4
1684    field public static final int EVENT_TYPE_VOLUME_MIN_INDEX_CHANGED = 2; // 0x2
1685    field public static final int EVENT_TYPE_ZONE_CONFIGURATION_CHANGED = 64; // 0x40
1686    field public static final int EXTRA_INFO_ATTENUATION_ACTIVATION = 110; // 0x6e
1687    field public static final int EXTRA_INFO_MUTE_LOCKED = 210; // 0xd2
1688    field public static final int EXTRA_INFO_MUTE_TOGGLED_BY_AUDIO_SYSTEM = 203; // 0xcb
1689    field public static final int EXTRA_INFO_MUTE_TOGGLED_BY_EMERGENCY = 202; // 0xca
1690    field public static final int EXTRA_INFO_MUTE_TOGGLED_BY_KEYEVENT = 201; // 0xc9
1691    field public static final int EXTRA_INFO_MUTE_TOGGLED_BY_UI = 200; // 0xc8
1692    field public static final int EXTRA_INFO_NONE = 100; // 0x64
1693    field public static final int EXTRA_INFO_PLAY_SOUND = 301; // 0x12d
1694    field public static final int EXTRA_INFO_SHOW_UI = 300; // 0x12c
1695    field public static final int EXTRA_INFO_TRANSIENT_ATTENUATION_DUCKED = 121; // 0x79
1696    field public static final int EXTRA_INFO_TRANSIENT_ATTENUATION_EXTERNAL = 124; // 0x7c
1697    field public static final int EXTRA_INFO_TRANSIENT_ATTENUATION_NAVIGATION = 123; // 0x7b
1698    field public static final int EXTRA_INFO_TRANSIENT_ATTENUATION_PROJECTION = 122; // 0x7a
1699    field public static final int EXTRA_INFO_TRANSIENT_ATTENUATION_THERMAL = 120; // 0x78
1700    field public static final int EXTRA_INFO_VOLUME_INDEX_CHANGED_BY_AUDIO_SYSTEM = 103; // 0x67
1701    field public static final int EXTRA_INFO_VOLUME_INDEX_CHANGED_BY_KEYEVENT = 102; // 0x66
1702    field public static final int EXTRA_INFO_VOLUME_INDEX_CHANGED_BY_UI = 101; // 0x65
1703  }
1704
1705  public static final class CarVolumeGroupEvent.Builder {
1706    ctor public CarVolumeGroupEvent.Builder(@NonNull java.util.List<android.car.media.CarVolumeGroupInfo>, int);
1707    ctor public CarVolumeGroupEvent.Builder(@NonNull java.util.List<android.car.media.CarVolumeGroupInfo>, int, @NonNull java.util.List<java.lang.Integer>);
1708    method @NonNull public android.car.media.CarVolumeGroupEvent.Builder addCarVolumeGroupInfo(@NonNull android.car.media.CarVolumeGroupInfo);
1709    method @NonNull public android.car.media.CarVolumeGroupEvent.Builder addEventType(int);
1710    method @NonNull public android.car.media.CarVolumeGroupEvent.Builder addExtraInfo(int);
1711    method @NonNull public android.car.media.CarVolumeGroupEvent build();
1712    method @NonNull public android.car.media.CarVolumeGroupEvent.Builder setExtraInfos(@NonNull java.util.List<java.lang.Integer>);
1713  }
1714
1715  public interface CarVolumeGroupEventCallback {
1716    method public void onVolumeGroupEvent(@NonNull java.util.List<android.car.media.CarVolumeGroupEvent>);
1717  }
1718
1719  public final class CarVolumeGroupInfo implements android.os.Parcelable {
1720    method public int describeContents();
1721    method @NonNull public java.util.List<android.media.AudioAttributes> getAudioAttributes();
1722    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") @NonNull public java.util.List<android.media.AudioDeviceAttributes> getAudioDeviceAttributes();
1723    method public int getId();
1724    method @FlaggedApi("android.car.feature.car_audio_min_max_activation_volume") public int getMaxActivationVolumeGainIndex();
1725    method public int getMaxVolumeGainIndex();
1726    method @FlaggedApi("android.car.feature.car_audio_min_max_activation_volume") public int getMinActivationVolumeGainIndex();
1727    method public int getMinVolumeGainIndex();
1728    method @NonNull public String getName();
1729    method public int getVolumeGainIndex();
1730    method public int getZoneId();
1731    method public boolean isAttenuated();
1732    method public boolean isBlocked();
1733    method public boolean isMuted();
1734    method @FlaggedApi("android.car.feature.car_audio_mute_ambiguity") public boolean isMutedBySystem();
1735    method public boolean isSameVolumeGroup(@Nullable android.car.media.CarVolumeGroupInfo);
1736    method public void writeToParcel(@NonNull android.os.Parcel, int);
1737    field @NonNull public static final android.os.Parcelable.Creator<android.car.media.CarVolumeGroupInfo> CREATOR;
1738  }
1739
1740  public static final class CarVolumeGroupInfo.Builder {
1741    ctor public CarVolumeGroupInfo.Builder(@NonNull String, int, int);
1742    ctor public CarVolumeGroupInfo.Builder(@NonNull android.car.media.CarVolumeGroupInfo);
1743    method @NonNull public android.car.media.CarVolumeGroupInfo build();
1744    method @NonNull public android.car.media.CarVolumeGroupInfo.Builder setAttenuated(boolean);
1745    method @NonNull public android.car.media.CarVolumeGroupInfo.Builder setAudioAttributes(@NonNull java.util.List<android.media.AudioAttributes>);
1746    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") @NonNull public android.car.media.CarVolumeGroupInfo.Builder setAudioDeviceAttributes(@NonNull java.util.List<android.media.AudioDeviceAttributes>);
1747    method @NonNull public android.car.media.CarVolumeGroupInfo.Builder setBlocked(boolean);
1748    method @FlaggedApi("android.car.feature.car_audio_min_max_activation_volume") @NonNull public android.car.media.CarVolumeGroupInfo.Builder setMaxActivationVolumeGainIndex(int);
1749    method @NonNull public android.car.media.CarVolumeGroupInfo.Builder setMaxVolumeGainIndex(int);
1750    method @FlaggedApi("android.car.feature.car_audio_min_max_activation_volume") @NonNull public android.car.media.CarVolumeGroupInfo.Builder setMinActivationVolumeGainIndex(int);
1751    method @NonNull public android.car.media.CarVolumeGroupInfo.Builder setMinVolumeGainIndex(int);
1752    method @NonNull public android.car.media.CarVolumeGroupInfo.Builder setMuted(boolean);
1753    method @NonNull public android.car.media.CarVolumeGroupInfo.Builder setVolumeGainIndex(int);
1754  }
1755
1756  public interface MediaAudioRequestStatusCallback {
1757    method public void onMediaAudioRequestStatusChanged(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, long, int);
1758  }
1759
1760  public interface PrimaryZoneMediaAudioRequestCallback {
1761    method public void onMediaAudioRequestStatusChanged(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, long, int);
1762    method public void onRequestMediaOnPrimaryZone(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, long);
1763  }
1764
1765  public interface SwitchAudioZoneConfigCallback {
1766    method public void onAudioZoneConfigSwitched(@NonNull android.car.media.CarAudioZoneConfigInfo, boolean);
1767  }
1768
1769}
1770
1771package android.car.navigation {
1772
1773  public final class CarNavigationInstrumentCluster implements android.os.Parcelable {
1774    ctor public CarNavigationInstrumentCluster(android.car.navigation.CarNavigationInstrumentCluster);
1775    method public static android.car.navigation.CarNavigationInstrumentCluster createCluster(int);
1776    method public static android.car.navigation.CarNavigationInstrumentCluster createCustomImageCluster(int, int, int, int);
1777    method public int describeContents();
1778    method public int getImageColorDepthBits();
1779    method public int getImageHeight();
1780    method public int getImageWidth();
1781    method public int getMinIntervalMillis();
1782    method public int getType();
1783    method public boolean supportsCustomImages();
1784    method public void writeToParcel(android.os.Parcel, int);
1785    field public static final int CLUSTER_TYPE_CUSTOM_IMAGES_SUPPORTED = 1; // 0x1
1786    field public static final int CLUSTER_TYPE_IMAGE_CODES_ONLY = 2; // 0x2
1787    field public static final android.os.Parcelable.Creator<android.car.navigation.CarNavigationInstrumentCluster> CREATOR;
1788  }
1789
1790  public final class CarNavigationStatusManager {
1791    method @RequiresPermission(android.car.Car.PERMISSION_CAR_NAVIGATION_MANAGER) public android.car.navigation.CarNavigationInstrumentCluster getInstrumentClusterInfo();
1792    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_CAR_NAVIGATION_MANAGER) public void sendEvent(int, android.os.Bundle);
1793    method @RequiresPermission(android.car.Car.PERMISSION_CAR_NAVIGATION_MANAGER) public void sendNavigationStateChange(android.os.Bundle);
1794  }
1795
1796}
1797
1798package android.car.occupantconnection {
1799
1800  public abstract class AbstractReceiverService extends android.app.Service {
1801    ctor public AbstractReceiverService();
1802    method public final void acceptConnection(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1803    method public void dump(@Nullable java.io.FileDescriptor, @NonNull java.io.PrintWriter, @Nullable String[]);
1804    method public final boolean forwardPayload(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, @NonNull String, @NonNull android.car.occupantconnection.Payload);
1805    method @NonNull public final java.util.Set<java.lang.String> getAllReceiverEndpoints();
1806    method public boolean isSenderAuthorized(@NonNull android.content.pm.SigningInfo);
1807    method public boolean isSenderCompatible(long);
1808    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
1809    method public void onConnected(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1810    method public void onConnectionCanceled(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1811    method public abstract void onConnectionInitiated(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1812    method public void onDisconnected(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1813    method @Nullable public android.os.IBinder onLocalServiceBind(@NonNull android.content.Intent);
1814    method public abstract void onPayloadReceived(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, @NonNull android.car.occupantconnection.Payload);
1815    method public void onReceiverRegistered(@NonNull String);
1816    method public final void rejectConnection(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, int);
1817  }
1818
1819  public final class CarOccupantConnectionManager {
1820    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_OCCUPANT_CONNECTION) public void cancelConnection(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1821    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_OCCUPANT_CONNECTION) public void disconnect(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1822    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_OCCUPANT_CONNECTION) public boolean isConnected(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1823    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_OCCUPANT_CONNECTION) public void registerReceiver(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.car.occupantconnection.CarOccupantConnectionManager.PayloadCallback);
1824    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_OCCUPANT_CONNECTION) public void requestConnection(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, @NonNull java.util.concurrent.Executor, @NonNull android.car.occupantconnection.CarOccupantConnectionManager.ConnectionRequestCallback);
1825    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_OCCUPANT_CONNECTION) public void sendPayload(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, @NonNull android.car.occupantconnection.Payload) throws android.car.occupantconnection.CarOccupantConnectionManager.PayloadTransferException;
1826    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_OCCUPANT_CONNECTION) public void unregisterReceiver(@NonNull String);
1827    field public static final int CONNECTION_ERROR_LONG_VERSION_NOT_MATCH = 4; // 0x4
1828    field public static final int CONNECTION_ERROR_NONE = 0; // 0x0
1829    field public static final int CONNECTION_ERROR_NOT_READY = 2; // 0x2
1830    field public static final int CONNECTION_ERROR_PEER_APP_NOT_INSTALLED = 3; // 0x3
1831    field public static final int CONNECTION_ERROR_PREDEFINED_MAXIMUM_VALUE = 10000; // 0x2710
1832    field public static final int CONNECTION_ERROR_SIGNATURE_NOT_MATCH = 5; // 0x5
1833    field public static final int CONNECTION_ERROR_UNKNOWN = 1; // 0x1
1834    field public static final int CONNECTION_ERROR_USER_REJECTED = 6; // 0x6
1835  }
1836
1837  public static interface CarOccupantConnectionManager.ConnectionRequestCallback {
1838    method public void onConnected(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1839    method public void onDisconnected(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1840    method public void onFailed(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, int);
1841  }
1842
1843  public static interface CarOccupantConnectionManager.PayloadCallback {
1844    method public void onPayloadReceived(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, @NonNull android.car.occupantconnection.Payload);
1845  }
1846
1847  public static final class CarOccupantConnectionManager.PayloadTransferException extends java.lang.Exception {
1848    ctor public CarOccupantConnectionManager.PayloadTransferException();
1849  }
1850
1851  public final class Payload implements java.io.Closeable android.os.Parcelable {
1852    ctor public Payload(@NonNull byte[]);
1853    ctor public Payload(@NonNull android.os.IBinder);
1854    method public void close();
1855    method public int describeContents();
1856    method public void deserialize(@NonNull android.os.Parcel);
1857    method @Nullable public android.os.IBinder getBinder();
1858    method @Nullable public byte[] getBytes();
1859    method public void serialize(@NonNull android.os.Parcel, int);
1860    method public void serializeNullPayload(@NonNull android.os.Parcel);
1861    method public void writeToParcel(@NonNull android.os.Parcel, int);
1862    field @NonNull public static final android.os.Parcelable.Creator<android.car.occupantconnection.Payload> CREATOR;
1863  }
1864
1865}
1866
1867package android.car.oem {
1868
1869  public final class AudioFocusEntry implements android.os.Parcelable {
1870    method public int describeContents();
1871    method public int getAudioContextId();
1872    method @NonNull public android.media.AudioFocusInfo getAudioFocusInfo();
1873    method public int getAudioFocusResult();
1874    method public int getAudioVolumeGroupId();
1875    method public void writeToParcel(@NonNull android.os.Parcel, int);
1876    field @NonNull public static final android.os.Parcelable.Creator<android.car.oem.AudioFocusEntry> CREATOR;
1877  }
1878
1879  public static final class AudioFocusEntry.Builder {
1880    ctor public AudioFocusEntry.Builder(@NonNull android.car.oem.AudioFocusEntry);
1881    ctor public AudioFocusEntry.Builder(@NonNull android.media.AudioFocusInfo, int, int, int);
1882    method @NonNull public android.car.oem.AudioFocusEntry build();
1883    method @NonNull public android.car.oem.AudioFocusEntry.Builder setAudioContextId(int);
1884    method @NonNull public android.car.oem.AudioFocusEntry.Builder setAudioFocusInfo(@NonNull android.media.AudioFocusInfo);
1885    method @NonNull public android.car.oem.AudioFocusEntry.Builder setAudioFocusResult(int);
1886    method @NonNull public android.car.oem.AudioFocusEntry.Builder setAudioVolumeGroupId(int);
1887  }
1888
1889  @FlaggedApi("android.car.feature.car_audio_fade_manager_configuration") public final class CarAudioFadeConfiguration implements android.os.Parcelable {
1890    method public int describeContents();
1891    method @NonNull public android.media.FadeManagerConfiguration getFadeManagerConfiguration();
1892    method @NonNull public String getName();
1893    method public void writeToParcel(@NonNull android.os.Parcel, int);
1894    field @NonNull public static final android.os.Parcelable.Creator<android.car.oem.CarAudioFadeConfiguration> CREATOR;
1895  }
1896
1897  @FlaggedApi("android.car.feature.car_audio_fade_manager_configuration") public static final class CarAudioFadeConfiguration.Builder {
1898    ctor public CarAudioFadeConfiguration.Builder(@NonNull android.media.FadeManagerConfiguration);
1899    method @NonNull public android.car.oem.CarAudioFadeConfiguration build();
1900    method @NonNull public android.car.oem.CarAudioFadeConfiguration.Builder setName(@NonNull String);
1901  }
1902
1903  @FlaggedApi("android.car.feature.car_audio_dynamic_devices") public final class CarAudioFeaturesInfo implements android.os.Parcelable {
1904    method public int describeContents();
1905    method public boolean isAudioFeatureEnabled(int);
1906    method public void writeToParcel(@NonNull android.os.Parcel, int);
1907    field public static final int AUDIO_FEATURE_FADE_MANAGER_CONFIGS = 2; // 0x2
1908    field public static final int AUDIO_FEATURE_ISOLATED_DEVICE_FOCUS = 1; // 0x1
1909    field @NonNull public static final android.os.Parcelable.Creator<android.car.oem.CarAudioFeaturesInfo> CREATOR;
1910  }
1911
1912  public interface OemCarAudioDuckingService extends android.car.oem.OemCarServiceComponent {
1913    method @NonNull public java.util.List<android.media.AudioAttributes> evaluateAttributesToDuck(@NonNull android.car.oem.OemCarAudioVolumeRequest);
1914  }
1915
1916  public final class OemCarAudioFocusEvaluationRequest implements android.os.Parcelable {
1917    method public int describeContents();
1918    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") @Nullable public android.car.oem.CarAudioFeaturesInfo getAudioFeaturesInfo();
1919    method @Nullable public android.car.oem.AudioFocusEntry getAudioFocusRequest();
1920    method public int getAudioZoneId();
1921    method @NonNull public java.util.List<android.car.oem.AudioFocusEntry> getFocusHolders();
1922    method @NonNull public java.util.List<android.car.oem.AudioFocusEntry> getFocusLosers();
1923    method @NonNull public java.util.List<android.car.media.CarVolumeGroupInfo> getMutedVolumeGroups();
1924    method public void writeToParcel(@NonNull android.os.Parcel, int);
1925    field @NonNull public static final android.os.Parcelable.Creator<android.car.oem.OemCarAudioFocusEvaluationRequest> CREATOR;
1926  }
1927
1928  public static final class OemCarAudioFocusEvaluationRequest.Builder {
1929    ctor public OemCarAudioFocusEvaluationRequest.Builder(@NonNull java.util.List<android.car.media.CarVolumeGroupInfo>, @NonNull java.util.List<android.car.oem.AudioFocusEntry>, @NonNull java.util.List<android.car.oem.AudioFocusEntry>, int);
1930    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder addFocusHolders(@NonNull android.car.oem.AudioFocusEntry);
1931    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder addFocusLosers(@NonNull android.car.oem.AudioFocusEntry);
1932    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder addMutedVolumeGroups(@NonNull android.car.media.CarVolumeGroupInfo);
1933    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest build();
1934    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder setAudioFeaturesInfo(@NonNull android.car.oem.CarAudioFeaturesInfo);
1935    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder setAudioFocusRequest(@NonNull android.car.oem.AudioFocusEntry);
1936    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder setAudioZoneId(int);
1937    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder setFocusHolders(@NonNull java.util.List<android.car.oem.AudioFocusEntry>);
1938    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder setFocusLosers(@NonNull java.util.List<android.car.oem.AudioFocusEntry>);
1939    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder setMutedVolumeGroups(@NonNull java.util.List<android.car.media.CarVolumeGroupInfo>);
1940  }
1941
1942  public final class OemCarAudioFocusResult implements android.os.Parcelable {
1943    method public int describeContents();
1944    method @FlaggedApi("android.car.feature.car_audio_fade_manager_configuration") @NonNull public java.util.Map<android.media.AudioAttributes,android.car.oem.CarAudioFadeConfiguration> getAudioAttributesToCarAudioFadeConfigurationMap();
1945    method @Nullable public android.car.oem.AudioFocusEntry getAudioFocusEntry();
1946    method public int getAudioFocusResult();
1947    method @FlaggedApi("android.car.feature.car_audio_fade_manager_configuration") @Nullable public android.car.oem.CarAudioFadeConfiguration getCarAudioFadeConfigurationForAudioAttributes(@NonNull android.media.AudioAttributes);
1948    method @NonNull public java.util.List<android.car.oem.AudioFocusEntry> getNewlyBlockedAudioFocusEntries();
1949    method @NonNull public java.util.List<android.car.oem.AudioFocusEntry> getNewlyLostAudioFocusEntries();
1950    method public void writeToParcel(@NonNull android.os.Parcel, int);
1951    field @NonNull public static final android.os.Parcelable.Creator<android.car.oem.OemCarAudioFocusResult> CREATOR;
1952    field @NonNull public static final android.car.oem.OemCarAudioFocusResult EMPTY_OEM_CAR_AUDIO_FOCUS_RESULTS;
1953  }
1954
1955  public static final class OemCarAudioFocusResult.Builder {
1956    ctor public OemCarAudioFocusResult.Builder(@NonNull java.util.List<android.car.oem.AudioFocusEntry>, @NonNull java.util.List<android.car.oem.AudioFocusEntry>, int);
1957    method @NonNull public android.car.oem.OemCarAudioFocusResult.Builder addNewlyBlockedAudioFocusEntry(@NonNull android.car.oem.AudioFocusEntry);
1958    method @NonNull public android.car.oem.OemCarAudioFocusResult.Builder addNewlyLostAudioFocusEntry(@NonNull android.car.oem.AudioFocusEntry);
1959    method @NonNull public android.car.oem.OemCarAudioFocusResult build();
1960    method @FlaggedApi("android.car.feature.car_audio_fade_manager_configuration") @NonNull public android.car.oem.OemCarAudioFocusResult.Builder setAudioAttributesToCarAudioFadeConfigurationMap(@NonNull java.util.Map<android.media.AudioAttributes,android.car.oem.CarAudioFadeConfiguration>);
1961    method @NonNull public android.car.oem.OemCarAudioFocusResult.Builder setAudioFocusEntry(@NonNull android.car.oem.AudioFocusEntry);
1962    method @NonNull public android.car.oem.OemCarAudioFocusResult.Builder setAudioFocusResult(int);
1963    method @NonNull public android.car.oem.OemCarAudioFocusResult.Builder setNewlyBlockedAudioFocusEntries(@NonNull java.util.List<android.car.oem.AudioFocusEntry>);
1964    method @NonNull public android.car.oem.OemCarAudioFocusResult.Builder setNewlyLostAudioFocusEntries(@NonNull java.util.List<android.car.oem.AudioFocusEntry>);
1965  }
1966
1967  public interface OemCarAudioFocusService extends android.car.oem.OemCarServiceComponent {
1968    method @NonNull public android.car.oem.OemCarAudioFocusResult evaluateAudioFocusRequest(@NonNull android.car.oem.OemCarAudioFocusEvaluationRequest);
1969    method public void notifyAudioFocusChange(@NonNull java.util.List<android.media.AudioFocusInfo>, @NonNull java.util.List<android.media.AudioFocusInfo>, int);
1970  }
1971
1972  public final class OemCarAudioVolumeRequest implements android.os.Parcelable {
1973    method public int describeContents();
1974    method @NonNull public java.util.List<android.media.AudioAttributes> getActivePlaybackAttributes();
1975    method public int getAudioZoneId();
1976    method public int getCallState();
1977    method @NonNull public java.util.List<android.car.media.CarVolumeGroupInfo> getCarVolumeGroupInfos();
1978    method @NonNull public java.util.List<android.media.AudioAttributes> getDuckedAudioAttributes();
1979    method public void writeToParcel(@NonNull android.os.Parcel, int);
1980    field @NonNull public static final android.os.Parcelable.Creator<android.car.oem.OemCarAudioVolumeRequest> CREATOR;
1981  }
1982
1983  public static final class OemCarAudioVolumeRequest.Builder {
1984    method @NonNull public android.car.oem.OemCarAudioVolumeRequest.Builder addActivePlaybackAttributes(@NonNull android.media.AudioAttributes);
1985    method @NonNull public android.car.oem.OemCarAudioVolumeRequest.Builder addCarVolumeGroupInfos(@NonNull android.car.media.CarVolumeGroupInfo);
1986    method @NonNull public android.car.oem.OemCarAudioVolumeRequest.Builder addDuckedAudioAttributes(@NonNull android.media.AudioAttributes);
1987    method @NonNull public android.car.oem.OemCarAudioVolumeRequest build();
1988    method @NonNull public android.car.oem.OemCarAudioVolumeRequest.Builder setActivePlaybackAttributes(@NonNull java.util.List<android.media.AudioAttributes>);
1989    method @NonNull public android.car.oem.OemCarAudioVolumeRequest.Builder setCallState(int);
1990    method @NonNull public android.car.oem.OemCarAudioVolumeRequest.Builder setCarVolumeGroupInfos(@NonNull java.util.List<android.car.media.CarVolumeGroupInfo>);
1991    method @NonNull public android.car.oem.OemCarAudioVolumeRequest.Builder setDuckedAudioAttributes(@NonNull java.util.List<android.media.AudioAttributes>);
1992  }
1993
1994  public interface OemCarAudioVolumeService extends android.car.oem.OemCarServiceComponent {
1995    method @NonNull public android.car.oem.OemCarVolumeChangeInfo getSuggestedGroupForVolumeChange(@NonNull android.car.oem.OemCarAudioVolumeRequest, int);
1996  }
1997
1998  public abstract class OemCarService extends android.app.Service {
1999    ctor public OemCarService();
2000    method @CallSuper public void dump(@Nullable java.io.FileDescriptor, @Nullable java.io.PrintWriter, @Nullable String[]);
2001    method @Nullable public android.car.oem.OemCarAudioDuckingService getOemAudioDuckingService();
2002    method @Nullable public android.car.oem.OemCarAudioFocusService getOemAudioFocusService();
2003    method @Nullable public android.car.oem.OemCarAudioVolumeService getOemAudioVolumeService();
2004    method @NonNull public abstract android.car.CarVersion getSupportedCarVersion();
2005    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
2006    method public abstract void onCarServiceReady();
2007    method public final int onStartCommand(@Nullable android.content.Intent, int, int);
2008  }
2009
2010  public interface OemCarServiceComponent {
2011    method public void dump(@Nullable java.io.PrintWriter, @Nullable String[]);
2012    method public void init();
2013    method public void onCarServiceReady();
2014    method public void release();
2015  }
2016
2017  public final class OemCarVolumeChangeInfo implements android.os.Parcelable {
2018    method public int describeContents();
2019    method @Nullable public android.car.media.CarVolumeGroupInfo getChangedVolumeGroup();
2020    method public boolean isVolumeChanged();
2021    method public void writeToParcel(@NonNull android.os.Parcel, int);
2022    field @NonNull public static final android.os.Parcelable.Creator<android.car.oem.OemCarVolumeChangeInfo> CREATOR;
2023    field @NonNull public static final android.car.oem.OemCarVolumeChangeInfo EMPTY_OEM_VOLUME_CHANGE;
2024  }
2025
2026  public static final class OemCarVolumeChangeInfo.Builder {
2027    ctor public OemCarVolumeChangeInfo.Builder(boolean);
2028    method @NonNull public android.car.oem.OemCarVolumeChangeInfo build();
2029    method @NonNull public android.car.oem.OemCarVolumeChangeInfo.Builder setChangedVolumeGroup(@NonNull android.car.media.CarVolumeGroupInfo);
2030  }
2031
2032}
2033
2034package android.car.os {
2035
2036  public final class CarPerformanceManager {
2037    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_MANAGE_THREAD_PRIORITY) public android.car.os.ThreadPolicyWithPriority getThreadPriority();
2038    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_THREAD_PRIORITY) public void setThreadPriority(@NonNull android.car.os.ThreadPolicyWithPriority) throws android.car.os.CarPerformanceManager.SetSchedulerFailedException;
2039  }
2040
2041  public static final class CarPerformanceManager.SetSchedulerFailedException extends java.lang.Exception {
2042  }
2043
2044  public final class ThreadPolicyWithPriority implements android.os.Parcelable {
2045    ctor public ThreadPolicyWithPriority(int, @IntRange(from=0, to=99) int);
2046    method public int describeContents();
2047    method public int getPolicy();
2048    method @IntRange(from=0, to=99) public int getPriority();
2049    method public void writeToParcel(@NonNull android.os.Parcel, int);
2050    field @NonNull public static final android.os.Parcelable.Creator<android.car.os.ThreadPolicyWithPriority> CREATOR;
2051    field public static final int PRIORITY_MAX = 99; // 0x63
2052    field public static final int PRIORITY_MIN = 1; // 0x1
2053    field public static final int SCHED_DEFAULT = 0; // 0x0
2054    field public static final int SCHED_FIFO = 1; // 0x1
2055    field public static final int SCHED_RR = 2; // 0x2
2056  }
2057
2058}
2059
2060package android.car.projection {
2061
2062  public class ProjectionOptions {
2063    ctor public ProjectionOptions(android.os.Bundle);
2064    method @Nullable public android.app.ActivityOptions getActivityOptions();
2065    method @Nullable public android.content.ComponentName getConsentActivity();
2066    method public int getProjectionAccessPointMode();
2067    method public int getUiMode();
2068    method @NonNull public android.os.Bundle toBundle();
2069    field public static final int AP_MODE_LOHS_DYNAMIC_CREDENTIALS = 2; // 0x2
2070    field public static final int AP_MODE_LOHS_STATIC_CREDENTIALS = 3; // 0x3
2071    field public static final int AP_MODE_NOT_SPECIFIED = 0; // 0x0
2072    field public static final int AP_MODE_TETHERED = 1; // 0x1
2073    field public static final int UI_MODE_BLENDED = 1; // 0x1
2074    field public static final int UI_MODE_FULL_SCREEN = 0; // 0x0
2075  }
2076
2077  public final class ProjectionStatus implements android.os.Parcelable {
2078    method @NonNull public static android.car.projection.ProjectionStatus.Builder builder(String, int);
2079    method public int describeContents();
2080    method @NonNull public java.util.List<android.car.projection.ProjectionStatus.MobileDevice> getConnectedMobileDevices();
2081    method @NonNull public android.os.Bundle getExtras();
2082    method @NonNull public String getPackageName();
2083    method public int getState();
2084    method public int getTransport();
2085    method public boolean isActive();
2086    method public void writeToParcel(android.os.Parcel, int);
2087    field public static final android.os.Parcelable.Creator<android.car.projection.ProjectionStatus> CREATOR;
2088    field public static final int PROJECTION_STATE_ACTIVE_BACKGROUND = 3; // 0x3
2089    field public static final int PROJECTION_STATE_ACTIVE_FOREGROUND = 2; // 0x2
2090    field public static final int PROJECTION_STATE_ATTEMPTING = 4; // 0x4
2091    field public static final int PROJECTION_STATE_FINISHING = 5; // 0x5
2092    field public static final int PROJECTION_STATE_INACTIVE = 0; // 0x0
2093    field public static final int PROJECTION_STATE_READY_TO_PROJECT = 1; // 0x1
2094    field public static final int PROJECTION_TRANSPORT_NONE = 0; // 0x0
2095    field public static final int PROJECTION_TRANSPORT_USB = 1; // 0x1
2096    field public static final int PROJECTION_TRANSPORT_WIFI = 2; // 0x2
2097  }
2098
2099  public static final class ProjectionStatus.Builder {
2100    method @NonNull public android.car.projection.ProjectionStatus.Builder addMobileDevice(android.car.projection.ProjectionStatus.MobileDevice);
2101    method public android.car.projection.ProjectionStatus build();
2102    method @NonNull public android.car.projection.ProjectionStatus.Builder setExtras(android.os.Bundle);
2103    method @NonNull public android.car.projection.ProjectionStatus.Builder setProjectionTransport(int);
2104  }
2105
2106  public static final class ProjectionStatus.MobileDevice implements android.os.Parcelable {
2107    method @NonNull public static android.car.projection.ProjectionStatus.MobileDevice.Builder builder(int, String);
2108    method public int describeContents();
2109    method @NonNull public java.util.List<java.lang.Integer> getAvailableTransports();
2110    method @NonNull public android.os.Bundle getExtras();
2111    method public int getId();
2112    method @NonNull public String getName();
2113    method public boolean isProjecting();
2114    method public void writeToParcel(android.os.Parcel, int);
2115    field public static final android.os.Parcelable.Creator<android.car.projection.ProjectionStatus.MobileDevice> CREATOR;
2116  }
2117
2118  public static final class ProjectionStatus.MobileDevice.Builder {
2119    method @NonNull public android.car.projection.ProjectionStatus.MobileDevice.Builder addTransport(int);
2120    method @NonNull public android.car.projection.ProjectionStatus.MobileDevice build();
2121    method @NonNull public android.car.projection.ProjectionStatus.MobileDevice.Builder setExtras(android.os.Bundle);
2122    method @NonNull public android.car.projection.ProjectionStatus.MobileDevice.Builder setProjecting(boolean);
2123  }
2124
2125}
2126
2127package android.car.remoteaccess {
2128
2129  public final class CarRemoteAccessManager {
2130    method @FlaggedApi("android.car.feature.serverless_remote_access") @Nullable @RequiresPermission(android.car.Car.PERMISSION_CONTROL_REMOTE_ACCESS) public android.car.remoteaccess.CarRemoteAccessManager.InVehicleTaskScheduler getInVehicleTaskScheduler();
2131    method @FlaggedApi("android.car.feature.serverless_remote_access") @RequiresPermission(android.car.Car.PERMISSION_CONTROL_REMOTE_ACCESS) public boolean isTaskScheduleSupported();
2132    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_REMOTE_ACCESS) public void setPowerStatePostTaskExecution(int, boolean);
2133    field public static final int NEXT_POWER_STATE_OFF = 2; // 0x2
2134    field public static final int NEXT_POWER_STATE_ON = 1; // 0x1
2135    field public static final int NEXT_POWER_STATE_SUSPEND_TO_DISK = 4; // 0x4
2136    field public static final int NEXT_POWER_STATE_SUSPEND_TO_RAM = 3; // 0x3
2137    field @FlaggedApi("android.car.feature.serverless_remote_access") public static final int TASK_TYPE_CUSTOM = 0; // 0x0
2138    field @FlaggedApi("android.car.feature.serverless_remote_access") public static final int TASK_TYPE_ENTER_GARAGE_MODE = 1; // 0x1
2139  }
2140
2141  @FlaggedApi("android.car.feature.serverless_remote_access") public final class CarRemoteAccessManager.InVehicleTaskScheduler {
2142    method @FlaggedApi("android.car.feature.serverless_remote_access") @NonNull @RequiresPermission(android.car.Car.PERMISSION_CONTROL_REMOTE_ACCESS) public java.util.List<android.car.remoteaccess.CarRemoteAccessManager.ScheduleInfo> getAllPendingScheduledTasks() throws android.car.remoteaccess.CarRemoteAccessManager.InVehicleTaskSchedulerException;
2143    method @FlaggedApi("android.car.feature.serverless_remote_access") @NonNull @RequiresPermission(android.car.Car.PERMISSION_CONTROL_REMOTE_ACCESS) public int[] getSupportedTaskTypes() throws android.car.remoteaccess.CarRemoteAccessManager.InVehicleTaskSchedulerException;
2144    method @FlaggedApi("android.car.feature.serverless_remote_access") @RequiresPermission(android.car.Car.PERMISSION_CONTROL_REMOTE_ACCESS) public boolean isTaskScheduled(@NonNull String) throws android.car.remoteaccess.CarRemoteAccessManager.InVehicleTaskSchedulerException;
2145    method @FlaggedApi("android.car.feature.serverless_remote_access") @RequiresPermission(android.car.Car.PERMISSION_CONTROL_REMOTE_ACCESS) public void scheduleTask(@NonNull android.car.remoteaccess.CarRemoteAccessManager.ScheduleInfo) throws android.car.remoteaccess.CarRemoteAccessManager.InVehicleTaskSchedulerException;
2146    method @FlaggedApi("android.car.feature.serverless_remote_access") @RequiresPermission(android.car.Car.PERMISSION_CONTROL_REMOTE_ACCESS) public void unscheduleAllTasks() throws android.car.remoteaccess.CarRemoteAccessManager.InVehicleTaskSchedulerException;
2147    method @FlaggedApi("android.car.feature.serverless_remote_access") @RequiresPermission(android.car.Car.PERMISSION_CONTROL_REMOTE_ACCESS) public void unscheduleTask(@NonNull String) throws android.car.remoteaccess.CarRemoteAccessManager.InVehicleTaskSchedulerException;
2148  }
2149
2150  @FlaggedApi("android.car.feature.serverless_remote_access") public static final class CarRemoteAccessManager.InVehicleTaskSchedulerException extends java.lang.Exception {
2151  }
2152
2153  @FlaggedApi("android.car.feature.serverless_remote_access") public static final class CarRemoteAccessManager.ScheduleInfo {
2154    method @FlaggedApi("android.car.feature.serverless_remote_access") public int getCount();
2155    method @FlaggedApi("android.car.feature.serverless_remote_access") @NonNull public java.time.Duration getPeriodic();
2156    method @FlaggedApi("android.car.feature.serverless_remote_access") @NonNull public String getScheduleId();
2157    method @FlaggedApi("android.car.feature.serverless_remote_access") public long getStartTimeInEpochSeconds();
2158    method @FlaggedApi("android.car.feature.serverless_remote_access") @NonNull public byte[] getTaskData();
2159    method @FlaggedApi("android.car.feature.serverless_remote_access") public int getTaskType();
2160    field @NonNull public static final java.time.Duration PERIODIC_DAILY;
2161    field @NonNull public static final java.time.Duration PERIODIC_WEEKLY;
2162  }
2163
2164  @FlaggedApi("android.car.feature.serverless_remote_access") public static final class CarRemoteAccessManager.ScheduleInfo.Builder {
2165    ctor @FlaggedApi("android.car.feature.serverless_remote_access") public CarRemoteAccessManager.ScheduleInfo.Builder(@NonNull String, int, long);
2166    method @FlaggedApi("android.car.feature.serverless_remote_access") @NonNull public android.car.remoteaccess.CarRemoteAccessManager.ScheduleInfo build();
2167    method @FlaggedApi("android.car.feature.serverless_remote_access") @NonNull public android.car.remoteaccess.CarRemoteAccessManager.ScheduleInfo.Builder setCount(int);
2168    method @FlaggedApi("android.car.feature.serverless_remote_access") @NonNull public android.car.remoteaccess.CarRemoteAccessManager.ScheduleInfo.Builder setPeriodic(@NonNull java.time.Duration);
2169    method @FlaggedApi("android.car.feature.serverless_remote_access") @NonNull public android.car.remoteaccess.CarRemoteAccessManager.ScheduleInfo.Builder setTaskData(@NonNull byte[]);
2170  }
2171
2172}
2173
2174package android.car.settings {
2175
2176  public class CarSettings {
2177  }
2178
2179  public static final class CarSettings.Global {
2180    field public static final String DISPLAY_INPUT_LOCK = "android.car.DISPLAY_INPUT_LOCK";
2181    field public static final String DISPLAY_POWER_MODE = "android.car.DISPLAY_POWER_MODE";
2182    field @FlaggedApi("android.car.feature.persist_ap_settings") public static final String ENABLE_PERSISTENT_TETHERING = "android.car.ENABLE_PERSISTENT_TETHERING";
2183    field @FlaggedApi("android.car.feature.car_night_global_setting") public static final String FORCED_DAY_NIGHT_MODE = "android.car.FORCED_DAY_NIGHT_MODE";
2184    field public static final String GLOBAL_VISIBLE_USER_ALLOCATION_PER_ZONE = "android.car.GLOBAL_VISIBLE_USER_ALLOCATION_PER_ZONE";
2185  }
2186
2187  public static final class CarSettings.Secure {
2188    field public static final String KEY_AUDIO_FOCUS_NAVIGATION_REJECTED_DURING_CALL = "android.car.KEY_AUDIO_FOCUS_NAVIGATION_REJECTED_DURING_CALL";
2189    field public static final String KEY_AUDIO_PERSIST_VOLUME_GROUP_MUTE_STATES = "android.car.KEY_AUDIO_PERSIST_VOLUME_GROUP_MUTE_STATES";
2190    field public static final String KEY_DRIVER_ALLOWED_TO_CONTROL_MEDIA = "android.car.DRIVER_ALLOWED_TO_CONTROL_MEDIA";
2191    field public static final String KEY_ENABLE_INITIAL_NOTICE_SCREEN_TO_USER = "android.car.ENABLE_INITIAL_NOTICE_SCREEN_TO_USER";
2192    field public static final String KEY_PACKAGES_DISABLED_ON_RESOURCE_OVERUSE = "android.car.KEY_PACKAGES_DISABLED_ON_RESOURCE_OVERUSE";
2193    field public static final String KEY_ROTARY_KEY_EVENT_FILTER = "android.car.ROTARY_KEY_EVENT_FILTER";
2194    field public static final String KEY_SETUP_WIZARD_IN_PROGRESS = "android.car.SETUP_WIZARD_IN_PROGRESS";
2195    field public static final String KEY_UNACCEPTED_TOS_DISABLED_APPS = "android.car.KEY_UNACCEPTED_TOS_DISABLED_APPS";
2196    field public static final String KEY_USER_TOS_ACCEPTED = "android.car.KEY_USER_TOS_ACCEPTED";
2197    field public static final String VISIBLE_USER_ALLOCATION_PER_ZONE = "android.car.VISIBLE_USER_ALLOCATION_PER_ZONE";
2198  }
2199
2200}
2201
2202package android.car.storagemonitoring {
2203
2204  public final class CarStorageMonitoringManager {
2205    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public java.util.List<android.car.storagemonitoring.IoStatsEntry> getAggregateIoStats();
2206    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public java.util.List<android.car.storagemonitoring.IoStatsEntry> getBootIoStats();
2207    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public java.util.List<android.car.storagemonitoring.IoStats> getIoStatsDeltas();
2208    method @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public int getPreEolIndicatorStatus();
2209    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public long getShutdownDiskWriteAmount();
2210    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public android.car.storagemonitoring.WearEstimate getWearEstimate();
2211    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public java.util.List<android.car.storagemonitoring.WearEstimateChange> getWearEstimateHistory();
2212    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public void registerListener(android.car.storagemonitoring.CarStorageMonitoringManager.IoStatsListener);
2213    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public void unregisterListener(android.car.storagemonitoring.CarStorageMonitoringManager.IoStatsListener);
2214    field public static final String INTENT_EXCESSIVE_IO = "android.car.storagemonitoring.EXCESSIVE_IO";
2215    field public static final int PRE_EOL_INFO_NORMAL = 1; // 0x1
2216    field public static final int PRE_EOL_INFO_UNKNOWN = 0; // 0x0
2217    field public static final int PRE_EOL_INFO_URGENT = 3; // 0x3
2218    field public static final int PRE_EOL_INFO_WARNING = 2; // 0x2
2219    field public static final long SHUTDOWN_COST_INFO_MISSING = -1L; // 0xffffffffffffffffL
2220  }
2221
2222  @Deprecated public static interface CarStorageMonitoringManager.IoStatsListener {
2223    method @Deprecated public void onSnapshot(android.car.storagemonitoring.IoStats);
2224  }
2225
2226  @Deprecated public final class IoStats implements android.os.Parcelable {
2227    ctor @Deprecated public IoStats(java.util.List<android.car.storagemonitoring.IoStatsEntry>, long);
2228    ctor @Deprecated public IoStats(android.os.Parcel);
2229    method @Deprecated public int describeContents();
2230    method @Deprecated public android.car.storagemonitoring.IoStatsEntry.Metrics getBackgroundTotals();
2231    method @Deprecated public android.car.storagemonitoring.IoStatsEntry.Metrics getForegroundTotals();
2232    method @Deprecated public java.util.List<android.car.storagemonitoring.IoStatsEntry> getStats();
2233    method @Deprecated public long getTimestamp();
2234    method @Deprecated public android.car.storagemonitoring.IoStatsEntry.Metrics getTotals();
2235    method @Deprecated public android.car.storagemonitoring.IoStatsEntry getUserIdStats(int);
2236    method @Deprecated public void writeToParcel(android.os.Parcel, int);
2237    field @Deprecated public static final android.os.Parcelable.Creator<android.car.storagemonitoring.IoStats> CREATOR;
2238  }
2239
2240  @Deprecated public final class IoStatsEntry implements android.os.Parcelable {
2241    ctor @Deprecated public IoStatsEntry(int, long, android.car.storagemonitoring.IoStatsEntry.Metrics, android.car.storagemonitoring.IoStatsEntry.Metrics);
2242    ctor @Deprecated public IoStatsEntry(android.os.Parcel);
2243    ctor @Deprecated public IoStatsEntry(android.car.storagemonitoring.UidIoRecord, long);
2244    method @Deprecated public int describeContents();
2245    method @Deprecated public void writeToParcel(android.os.Parcel, int);
2246    field @Deprecated public static final android.os.Parcelable.Creator<android.car.storagemonitoring.IoStatsEntry> CREATOR;
2247    field @Deprecated public final android.car.storagemonitoring.IoStatsEntry.Metrics background;
2248    field @Deprecated public final android.car.storagemonitoring.IoStatsEntry.Metrics foreground;
2249    field @Deprecated public final long runtimeMillis;
2250    field @Deprecated public final int uid;
2251  }
2252
2253  @Deprecated public static final class IoStatsEntry.Metrics implements android.os.Parcelable {
2254    ctor @Deprecated public IoStatsEntry.Metrics(long, long, long, long, long);
2255    ctor @Deprecated public IoStatsEntry.Metrics(android.os.Parcel);
2256    method @Deprecated public int describeContents();
2257    method @Deprecated public void writeToParcel(android.os.Parcel, int);
2258    field @Deprecated public static final android.os.Parcelable.Creator<android.car.storagemonitoring.IoStatsEntry.Metrics> CREATOR;
2259    field @Deprecated public final long bytesRead;
2260    field @Deprecated public final long bytesReadFromStorage;
2261    field @Deprecated public final long bytesWritten;
2262    field @Deprecated public final long bytesWrittenToStorage;
2263    field @Deprecated public final long fsyncCalls;
2264  }
2265
2266  public final class LifetimeWriteInfo implements android.os.Parcelable {
2267    ctor public LifetimeWriteInfo(String, String, long);
2268    ctor public LifetimeWriteInfo(android.os.Parcel);
2269    method public int describeContents();
2270    method public void writeToParcel(android.os.Parcel, int);
2271    field public static final android.os.Parcelable.Creator<android.car.storagemonitoring.LifetimeWriteInfo> CREATOR;
2272    field public final String fstype;
2273    field public final String partition;
2274    field public final long writtenBytes;
2275  }
2276
2277  public final class UidIoRecord {
2278    ctor public UidIoRecord(int, long, long, long, long, long, long, long, long, long, long);
2279    field public final long background_fsync;
2280    field public final long background_rchar;
2281    field public final long background_read_bytes;
2282    field public final long background_wchar;
2283    field public final long background_write_bytes;
2284    field public final long foreground_fsync;
2285    field public final long foreground_rchar;
2286    field public final long foreground_read_bytes;
2287    field public final long foreground_wchar;
2288    field public final long foreground_write_bytes;
2289    field public final int uid;
2290  }
2291
2292  public final class WearEstimate implements android.os.Parcelable {
2293    ctor public WearEstimate(int, int);
2294    ctor public WearEstimate(android.os.Parcel);
2295    method public int describeContents();
2296    method public void writeToParcel(android.os.Parcel, int);
2297    field public static final android.os.Parcelable.Creator<android.car.storagemonitoring.WearEstimate> CREATOR;
2298    field public static final int UNKNOWN = -1; // 0xffffffff
2299    field @IntRange(from=0xffffffff, to=100) public final int typeA;
2300    field @IntRange(from=0xffffffff, to=100) public final int typeB;
2301  }
2302
2303  public final class WearEstimateChange implements android.os.Parcelable {
2304    ctor public WearEstimateChange(android.car.storagemonitoring.WearEstimate, android.car.storagemonitoring.WearEstimate, long, java.time.Instant, boolean);
2305    ctor public WearEstimateChange(android.os.Parcel);
2306    method public int describeContents();
2307    method public void writeToParcel(android.os.Parcel, int);
2308    field public static final android.os.Parcelable.Creator<android.car.storagemonitoring.WearEstimateChange> CREATOR;
2309    field @NonNull public final java.time.Instant dateAtChange;
2310    field public final boolean isAcceptableDegradation;
2311    field @NonNull public final android.car.storagemonitoring.WearEstimate newEstimate;
2312    field @NonNull public final android.car.storagemonitoring.WearEstimate oldEstimate;
2313    field public final long uptimeAtChange;
2314  }
2315
2316}
2317
2318package android.car.telemetry {
2319
2320  public final class CarTelemetryManager {
2321    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void addMetricsConfig(@NonNull String, @NonNull byte[], @NonNull java.util.concurrent.Executor, @NonNull android.car.telemetry.CarTelemetryManager.AddMetricsConfigCallback);
2322    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void clearReportReadyListener();
2323    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void getAllFinishedReports(@NonNull java.util.concurrent.Executor, @NonNull android.car.telemetry.CarTelemetryManager.MetricsReportCallback);
2324    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void getFinishedReport(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.car.telemetry.CarTelemetryManager.MetricsReportCallback);
2325    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void removeAllMetricsConfigs();
2326    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void removeMetricsConfig(@NonNull String);
2327    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void setReportReadyListener(@NonNull java.util.concurrent.Executor, @NonNull android.car.telemetry.CarTelemetryManager.ReportReadyListener);
2328    field public static final int STATUS_ADD_METRICS_CONFIG_ALREADY_EXISTS = 1; // 0x1
2329    field public static final int STATUS_ADD_METRICS_CONFIG_PARSE_FAILED = 3; // 0x3
2330    field public static final int STATUS_ADD_METRICS_CONFIG_SIGNATURE_VERIFICATION_FAILED = 4; // 0x4
2331    field public static final int STATUS_ADD_METRICS_CONFIG_SUCCEEDED = 0; // 0x0
2332    field public static final int STATUS_ADD_METRICS_CONFIG_UNKNOWN = 5; // 0x5
2333    field public static final int STATUS_ADD_METRICS_CONFIG_VERSION_TOO_OLD = 2; // 0x2
2334    field public static final int STATUS_GET_METRICS_CONFIG_DOES_NOT_EXIST = 4; // 0x4
2335    field public static final int STATUS_GET_METRICS_CONFIG_FINISHED = 0; // 0x0
2336    field public static final int STATUS_GET_METRICS_CONFIG_INTERIM_RESULTS = 2; // 0x2
2337    field public static final int STATUS_GET_METRICS_CONFIG_PENDING = 1; // 0x1
2338    field public static final int STATUS_GET_METRICS_CONFIG_RUNTIME_ERROR = 3; // 0x3
2339  }
2340
2341  public static interface CarTelemetryManager.AddMetricsConfigCallback {
2342    method public void onAddMetricsConfigStatus(@NonNull String, int);
2343  }
2344
2345  public static interface CarTelemetryManager.MetricsReportCallback {
2346    method public void onResult(@NonNull String, @Nullable android.os.PersistableBundle, @Nullable byte[], int);
2347  }
2348
2349  public static interface CarTelemetryManager.ReportReadyListener {
2350    method public void onReady(@NonNull String);
2351  }
2352
2353}
2354
2355package android.car.user {
2356
2357  public final class CarUserManager {
2358    method @RequiresPermission(anyOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public void addListener(@NonNull java.util.concurrent.Executor, @NonNull android.car.user.CarUserManager.UserLifecycleListener);
2359    method @RequiresPermission(anyOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public void addListener(@NonNull java.util.concurrent.Executor, @NonNull android.car.user.UserLifecycleEventFilter, @NonNull android.car.user.CarUserManager.UserLifecycleListener);
2360    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public void createUser(@NonNull android.car.user.UserCreationRequest, @NonNull java.util.concurrent.Executor, @NonNull android.car.ResultCallback<android.car.user.UserCreationResult>);
2361    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isValidUser(@NonNull android.os.UserHandle);
2362    method @NonNull public static String lifecycleEventTypeToString(int);
2363    method @RequiresPermission(anyOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public void removeListener(@NonNull android.car.user.CarUserManager.UserLifecycleListener);
2364    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public void removeUser(@NonNull android.car.user.UserRemovalRequest, @NonNull java.util.concurrent.Executor, @NonNull android.car.ResultCallback<android.car.user.UserRemovalResult>);
2365    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserSwitchUiCallback(@NonNull java.util.concurrent.Executor, @NonNull android.car.user.CarUserManager.UserHandleSwitchUiCallback);
2366    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public void startUser(@NonNull android.car.user.UserStartRequest, @NonNull java.util.concurrent.Executor, @NonNull android.car.ResultCallback<android.car.user.UserStartResponse>);
2367    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public void stopUser(@NonNull android.car.user.UserStopRequest, @NonNull java.util.concurrent.Executor, @NonNull android.car.ResultCallback<android.car.user.UserStopResponse>);
2368    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public void switchUser(@NonNull android.car.user.UserSwitchRequest, @NonNull java.util.concurrent.Executor, @NonNull android.car.ResultCallback<android.car.user.UserSwitchResult>);
2369    method @FlaggedApi("android.car.feature.switch_user_ignoring_uxr") @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public void switchUserIgnoringUxRestriction(@NonNull android.car.user.UserSwitchRequest, @NonNull java.util.concurrent.Executor, @NonNull android.car.ResultCallback<android.car.user.UserSwitchResult>);
2370    field public static final int USER_LIFECYCLE_EVENT_TYPE_CREATED = 8; // 0x8
2371    field public static final int USER_LIFECYCLE_EVENT_TYPE_INVISIBLE = 11; // 0xb
2372    field public static final int USER_LIFECYCLE_EVENT_TYPE_REMOVED = 9; // 0x9
2373    field public static final int USER_LIFECYCLE_EVENT_TYPE_STARTING = 1; // 0x1
2374    field public static final int USER_LIFECYCLE_EVENT_TYPE_STOPPED = 6; // 0x6
2375    field public static final int USER_LIFECYCLE_EVENT_TYPE_STOPPING = 5; // 0x5
2376    field public static final int USER_LIFECYCLE_EVENT_TYPE_SWITCHING = 2; // 0x2
2377    field public static final int USER_LIFECYCLE_EVENT_TYPE_UNLOCKED = 4; // 0x4
2378    field public static final int USER_LIFECYCLE_EVENT_TYPE_UNLOCKING = 3; // 0x3
2379    field public static final int USER_LIFECYCLE_EVENT_TYPE_VISIBLE = 10; // 0xa
2380  }
2381
2382  public static interface CarUserManager.UserHandleSwitchUiCallback {
2383    method public void onUserSwitchStart(@NonNull android.os.UserHandle);
2384  }
2385
2386  public static final class CarUserManager.UserLifecycleEvent {
2387    method public int getEventType();
2388    method @Nullable public android.os.UserHandle getPreviousUserHandle();
2389    method @NonNull public android.os.UserHandle getUserHandle();
2390  }
2391
2392  public static interface CarUserManager.UserLifecycleListener {
2393    method public void onEvent(@NonNull android.car.user.CarUserManager.UserLifecycleEvent);
2394  }
2395
2396  public final class UserCreationRequest implements android.os.Parcelable {
2397    method public int describeContents();
2398    method @Nullable public String getName();
2399    method public boolean isAdmin();
2400    method public boolean isEphemeral();
2401    method public boolean isGuest();
2402    method public void writeToParcel(@NonNull android.os.Parcel, int);
2403    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserCreationRequest> CREATOR;
2404  }
2405
2406  public static final class UserCreationRequest.Builder {
2407    ctor public UserCreationRequest.Builder();
2408    method @NonNull public android.car.user.UserCreationRequest build();
2409    method @NonNull public android.car.user.UserCreationRequest.Builder setAdmin();
2410    method @NonNull public android.car.user.UserCreationRequest.Builder setEphemeral();
2411    method @NonNull public android.car.user.UserCreationRequest.Builder setGuest();
2412    method @NonNull public android.car.user.UserCreationRequest.Builder setName(@NonNull String);
2413  }
2414
2415  public final class UserCreationResult implements android.os.Parcelable {
2416    method public int describeContents();
2417    method @Nullable public Integer getAndroidFailureStatus();
2418    method @Nullable public String getErrorMessage();
2419    method @Nullable public String getInternalErrorMessage();
2420    method public int getStatus();
2421    method @Nullable public android.os.UserHandle getUser();
2422    method public boolean isSuccess();
2423    method @NonNull public static String statusToString(int);
2424    method public void writeToParcel(@NonNull android.os.Parcel, int);
2425    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserCreationResult> CREATOR;
2426    field public static final int STATUS_ANDROID_FAILURE = 2; // 0x2
2427    field public static final int STATUS_HAL_FAILURE = 3; // 0x3
2428    field public static final int STATUS_HAL_INTERNAL_FAILURE = 4; // 0x4
2429    field public static final int STATUS_INVALID_REQUEST = 5; // 0x5
2430    field public static final int STATUS_SUCCESSFUL = 1; // 0x1
2431  }
2432
2433  public final class UserLifecycleEventFilter implements android.os.Parcelable {
2434    method public boolean apply(@NonNull android.car.user.CarUserManager.UserLifecycleEvent);
2435    method public int describeContents();
2436    method public void writeToParcel(@NonNull android.os.Parcel, int);
2437    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserLifecycleEventFilter> CREATOR;
2438  }
2439
2440  public static final class UserLifecycleEventFilter.Builder {
2441    ctor public UserLifecycleEventFilter.Builder();
2442    method @NonNull public android.car.user.UserLifecycleEventFilter.Builder addEventType(int);
2443    method @NonNull public android.car.user.UserLifecycleEventFilter.Builder addUser(@NonNull android.os.UserHandle);
2444    method @NonNull public android.car.user.UserLifecycleEventFilter build();
2445  }
2446
2447  public final class UserRemovalRequest implements android.os.Parcelable {
2448    method public int describeContents();
2449    method @NonNull public android.os.UserHandle getUserHandle();
2450    method public void writeToParcel(@NonNull android.os.Parcel, int);
2451    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserRemovalRequest> CREATOR;
2452  }
2453
2454  public static final class UserRemovalRequest.Builder {
2455    ctor public UserRemovalRequest.Builder(@NonNull android.os.UserHandle);
2456    method @NonNull public android.car.user.UserRemovalRequest build();
2457  }
2458
2459  public final class UserRemovalResult implements android.os.Parcelable {
2460    method public int describeContents();
2461    method public int getStatus();
2462    method public boolean isSuccess();
2463    method @NonNull public static String statusToString(int);
2464    method public void writeToParcel(@NonNull android.os.Parcel, int);
2465    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserRemovalResult> CREATOR;
2466    field public static final int STATUS_ANDROID_FAILURE = 2; // 0x2
2467    field public static final int STATUS_INVALID_REQUEST = 5; // 0x5
2468    field public static final int STATUS_SUCCESSFUL = 1; // 0x1
2469    field public static final int STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED = 102; // 0x66
2470    field public static final int STATUS_SUCCESSFUL_LAST_ADMIN_SET_EPHEMERAL = 104; // 0x68
2471    field public static final int STATUS_SUCCESSFUL_SET_EPHEMERAL = 103; // 0x67
2472    field public static final int STATUS_USER_DOES_NOT_EXIST = 101; // 0x65
2473  }
2474
2475  public final class UserStartRequest implements android.os.Parcelable {
2476    method public int describeContents();
2477    method public int getDisplayId();
2478    method @NonNull public android.os.UserHandle getUserHandle();
2479    method public void writeToParcel(@NonNull android.os.Parcel, int);
2480    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserStartRequest> CREATOR;
2481  }
2482
2483  public static final class UserStartRequest.Builder {
2484    ctor public UserStartRequest.Builder(@NonNull android.os.UserHandle);
2485    method @NonNull public android.car.user.UserStartRequest build();
2486    method @NonNull public android.car.user.UserStartRequest.Builder setDisplayId(int);
2487  }
2488
2489  public final class UserStartResponse implements android.os.Parcelable {
2490    method public int describeContents();
2491    method public int getStatus();
2492    method public boolean isSuccess();
2493    method @NonNull public static String statusToString(int);
2494    method public void writeToParcel(@NonNull android.os.Parcel, int);
2495    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserStartResponse> CREATOR;
2496    field public static final int STATUS_ANDROID_FAILURE = 2; // 0x2
2497    field public static final int STATUS_DISPLAY_INVALID = 104; // 0x68
2498    field public static final int STATUS_DISPLAY_UNAVAILABLE = 105; // 0x69
2499    field public static final int STATUS_SUCCESSFUL = 1; // 0x1
2500    field public static final int STATUS_SUCCESSFUL_USER_ALREADY_VISIBLE_ON_DISPLAY = 103; // 0x67
2501    field public static final int STATUS_SUCCESSFUL_USER_IS_CURRENT_USER = 101; // 0x65
2502    field public static final int STATUS_UNSUPPORTED_PLATFORM_FAILURE = 7; // 0x7
2503    field public static final int STATUS_USER_ASSIGNED_TO_ANOTHER_DISPLAY = 107; // 0x6b
2504    field public static final int STATUS_USER_DOES_NOT_EXIST = 102; // 0x66
2505    field public static final int STATUS_USER_INVALID = 106; // 0x6a
2506  }
2507
2508  public final class UserStopRequest implements android.os.Parcelable {
2509    method public int describeContents();
2510    method @NonNull public android.os.UserHandle getUserHandle();
2511    method public boolean isForce();
2512    method public boolean isWithDelayedLocking();
2513    method public void writeToParcel(@NonNull android.os.Parcel, int);
2514    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserStopRequest> CREATOR;
2515  }
2516
2517  public static final class UserStopRequest.Builder {
2518    ctor public UserStopRequest.Builder(@NonNull android.os.UserHandle);
2519    method @NonNull public android.car.user.UserStopRequest build();
2520    method @NonNull public android.car.user.UserStopRequest.Builder setForce();
2521    method @NonNull public android.car.user.UserStopRequest.Builder withDelayedLocking(boolean);
2522  }
2523
2524  public final class UserStopResponse implements android.os.Parcelable {
2525    method public int describeContents();
2526    method public int getStatus();
2527    method public static boolean isSuccess(int);
2528    method public boolean isSuccess();
2529    method @NonNull public static String statusToString(int);
2530    method public void writeToParcel(@NonNull android.os.Parcel, int);
2531    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserStopResponse> CREATOR;
2532    field public static final int STATUS_ANDROID_FAILURE = 2; // 0x2
2533    field public static final int STATUS_FAILURE_CURRENT_USER = 103; // 0x67
2534    field public static final int STATUS_FAILURE_SYSTEM_USER = 102; // 0x66
2535    field public static final int STATUS_SUCCESSFUL = 1; // 0x1
2536    field public static final int STATUS_USER_DOES_NOT_EXIST = 101; // 0x65
2537  }
2538
2539  public final class UserSwitchRequest implements android.os.Parcelable {
2540    method public int describeContents();
2541    method @NonNull public android.os.UserHandle getUserHandle();
2542    method public void writeToParcel(@NonNull android.os.Parcel, int);
2543    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserSwitchRequest> CREATOR;
2544  }
2545
2546  public static final class UserSwitchRequest.Builder {
2547    ctor public UserSwitchRequest.Builder(@NonNull android.os.UserHandle);
2548    method @NonNull public android.car.user.UserSwitchRequest build();
2549  }
2550
2551  public final class UserSwitchResult implements android.os.Parcelable {
2552    method public int describeContents();
2553    method @Nullable public Integer getAndroidFailureStatus();
2554    method @Nullable public String getErrorMessage();
2555    method public int getStatus();
2556    method public boolean isSuccess();
2557    method @NonNull public static String statusToString(int);
2558    method public void writeToParcel(@NonNull android.os.Parcel, int);
2559    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserSwitchResult> CREATOR;
2560    field public static final int STATUS_ANDROID_FAILURE = 2; // 0x2
2561    field public static final int STATUS_HAL_FAILURE = 3; // 0x3
2562    field public static final int STATUS_HAL_INTERNAL_FAILURE = 4; // 0x4
2563    field public static final int STATUS_INVALID_REQUEST = 5; // 0x5
2564    field public static final int STATUS_NOT_LOGGED_IN = 105; // 0x69
2565    field public static final int STATUS_NOT_SWITCHABLE = 104; // 0x68
2566    field public static final int STATUS_OK_USER_ALREADY_IN_FOREGROUND = 101; // 0x65
2567    field public static final int STATUS_SUCCESSFUL = 1; // 0x1
2568    field public static final int STATUS_TARGET_USER_ABANDONED_DUE_TO_A_NEW_REQUEST = 103; // 0x67
2569    field public static final int STATUS_TARGET_USER_ALREADY_BEING_SWITCHED_TO = 102; // 0x66
2570    field public static final int STATUS_UX_RESTRICTION_FAILURE = 6; // 0x6
2571  }
2572
2573}
2574
2575package android.car.view {
2576
2577  public final class DisplayHelper {
2578    method public static int getPhysicalPort(@NonNull android.view.Display);
2579    method @Nullable public static String getUniqueId(@NonNull android.view.Display);
2580    field public static final int INVALID_PORT = -1; // 0xffffffff
2581  }
2582
2583  public final class MirroredSurfaceView extends android.view.SurfaceView {
2584    ctor public MirroredSurfaceView(@NonNull android.content.Context);
2585    ctor public MirroredSurfaceView(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
2586    ctor public MirroredSurfaceView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int);
2587    ctor public MirroredSurfaceView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int, int);
2588    method @MainThread @RequiresPermission(android.car.Car.PERMISSION_ACCESS_MIRRORRED_SURFACE) public boolean mirrorSurface(@NonNull android.os.IBinder);
2589    method @MainThread public void release();
2590    method @MainThread public void setObscuredTouchRegion(@Nullable android.graphics.Region);
2591  }
2592
2593  public final class WindowManagerHelper {
2594    method public static void setInputFeatureSpy(@NonNull android.view.WindowManager.LayoutParams);
2595    method @RequiresPermission(android.Manifest.permission.INTERNAL_SYSTEM_WINDOW) public static void setTrustedOverlay(@NonNull android.view.WindowManager.LayoutParams);
2596  }
2597
2598}
2599
2600package android.car.vms {
2601
2602  public final class VmsAssociatedLayer implements android.os.Parcelable {
2603    ctor public VmsAssociatedLayer(@NonNull android.car.vms.VmsLayer, @NonNull java.util.Set<java.lang.Integer>);
2604    method public int describeContents();
2605    method @NonNull public java.util.Set<java.lang.Integer> getProviderIds();
2606    method @Deprecated @NonNull public java.util.Set<java.lang.Integer> getPublisherIds();
2607    method @NonNull public android.car.vms.VmsLayer getVmsLayer();
2608    method public void writeToParcel(@NonNull android.os.Parcel, int);
2609    field @NonNull public static final android.os.Parcelable.Creator<android.car.vms.VmsAssociatedLayer> CREATOR;
2610  }
2611
2612  public final class VmsAvailableLayers implements android.os.Parcelable {
2613    ctor @Deprecated public VmsAvailableLayers(@NonNull java.util.Set<android.car.vms.VmsAssociatedLayer>, int);
2614    ctor public VmsAvailableLayers(int, @NonNull java.util.Set<android.car.vms.VmsAssociatedLayer>);
2615    method public int describeContents();
2616    method @NonNull public java.util.Set<android.car.vms.VmsAssociatedLayer> getAssociatedLayers();
2617    method @Deprecated public int getSequence();
2618    method public int getSequenceNumber();
2619    method public void writeToParcel(@NonNull android.os.Parcel, int);
2620    field @NonNull public static final android.os.Parcelable.Creator<android.car.vms.VmsAvailableLayers> CREATOR;
2621  }
2622
2623  public final class VmsClient {
2624    method @NonNull @RequiresPermission(anyOf={android.car.Car.PERMISSION_VMS_PUBLISHER, android.car.Car.PERMISSION_VMS_SUBSCRIBER}) public android.car.vms.VmsAvailableLayers getAvailableLayers();
2625    method @Nullable @RequiresPermission(anyOf={android.car.Car.PERMISSION_VMS_PUBLISHER, android.car.Car.PERMISSION_VMS_SUBSCRIBER}) public byte[] getProviderDescription(int);
2626    method @NonNull @RequiresPermission(anyOf={android.car.Car.PERMISSION_VMS_PUBLISHER, android.car.Car.PERMISSION_VMS_SUBSCRIBER}) public android.car.vms.VmsSubscriptionState getSubscriptionState();
2627    method @RequiresPermission(android.car.Car.PERMISSION_VMS_SUBSCRIBER) public boolean isMonitoringEnabled();
2628    method @RequiresPermission(android.car.Car.PERMISSION_VMS_PUBLISHER) public void publishPacket(int, @NonNull android.car.vms.VmsLayer, @NonNull byte[]);
2629    method @RequiresPermission(android.car.Car.PERMISSION_VMS_PUBLISHER) public int registerProvider(@NonNull byte[]);
2630    method @RequiresPermission(android.car.Car.PERMISSION_VMS_SUBSCRIBER) public void setMonitoringEnabled(boolean);
2631    method @RequiresPermission(android.car.Car.PERMISSION_VMS_PUBLISHER) public void setProviderOfferings(int, @NonNull java.util.Set<android.car.vms.VmsLayerDependency>);
2632    method @RequiresPermission(android.car.Car.PERMISSION_VMS_SUBSCRIBER) public void setSubscriptions(@NonNull java.util.Set<android.car.vms.VmsAssociatedLayer>);
2633    method @RequiresPermission(android.car.Car.PERMISSION_VMS_PUBLISHER) public void unregisterProvider(int);
2634  }
2635
2636  public final class VmsClientManager {
2637    method @RequiresPermission(anyOf={android.car.Car.PERMISSION_VMS_PUBLISHER, android.car.Car.PERMISSION_VMS_SUBSCRIBER}) public void registerVmsClientCallback(@NonNull java.util.concurrent.Executor, @NonNull android.car.vms.VmsClientManager.VmsClientCallback);
2638    method @RequiresPermission(anyOf={android.car.Car.PERMISSION_VMS_PUBLISHER, android.car.Car.PERMISSION_VMS_SUBSCRIBER}) public void unregisterVmsClientCallback(@NonNull android.car.vms.VmsClientManager.VmsClientCallback);
2639  }
2640
2641  public static interface VmsClientManager.VmsClientCallback {
2642    method public void onClientConnected(@NonNull android.car.vms.VmsClient);
2643    method public void onLayerAvailabilityChanged(@NonNull android.car.vms.VmsAvailableLayers);
2644    method public void onPacketReceived(int, @NonNull android.car.vms.VmsLayer, @NonNull byte[]);
2645    method public void onSubscriptionStateChanged(@NonNull android.car.vms.VmsSubscriptionState);
2646  }
2647
2648  public final class VmsLayer implements android.os.Parcelable {
2649    ctor public VmsLayer(int, int, int);
2650    method public int describeContents();
2651    method public int getChannel();
2652    method @Deprecated public int getSubtype();
2653    method public int getType();
2654    method public int getVersion();
2655    method public void writeToParcel(@NonNull android.os.Parcel, int);
2656    field @NonNull public static final android.os.Parcelable.Creator<android.car.vms.VmsLayer> CREATOR;
2657  }
2658
2659  public final class VmsLayerDependency implements android.os.Parcelable {
2660    ctor public VmsLayerDependency(@NonNull android.car.vms.VmsLayer);
2661    ctor public VmsLayerDependency(@NonNull android.car.vms.VmsLayer, @NonNull java.util.Set<android.car.vms.VmsLayer>);
2662    method public int describeContents();
2663    method @NonNull public java.util.Set<android.car.vms.VmsLayer> getDependencies();
2664    method @NonNull public android.car.vms.VmsLayer getLayer();
2665    method public void writeToParcel(@NonNull android.os.Parcel, int);
2666    field @NonNull public static final android.os.Parcelable.Creator<android.car.vms.VmsLayerDependency> CREATOR;
2667  }
2668
2669  @Deprecated public final class VmsLayersOffering implements android.os.Parcelable {
2670    ctor @Deprecated public VmsLayersOffering(@NonNull java.util.Set<android.car.vms.VmsLayerDependency>, int);
2671    method @Deprecated public int describeContents();
2672    method @Deprecated @NonNull public java.util.Set<android.car.vms.VmsLayerDependency> getDependencies();
2673    method @Deprecated public int getPublisherId();
2674    method @Deprecated public void writeToParcel(@NonNull android.os.Parcel, int);
2675    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.car.vms.VmsLayersOffering> CREATOR;
2676  }
2677
2678  @Deprecated public final class VmsOperationRecorder {
2679    method @Deprecated public void addHalSubscription(int, android.car.vms.VmsLayer);
2680    method @Deprecated public void addPromiscuousSubscription(int);
2681    method @Deprecated public void addSubscription(int, android.car.vms.VmsLayer);
2682    method @Deprecated public static android.car.vms.VmsOperationRecorder get();
2683    method @Deprecated public void getPublisherId(int);
2684    method @Deprecated public void removeHalSubscription(int, android.car.vms.VmsLayer);
2685    method @Deprecated public void removePromiscuousSubscription(int);
2686    method @Deprecated public void removeSubscription(int, android.car.vms.VmsLayer);
2687    method @Deprecated public void setHalPublisherLayersOffering(android.car.vms.VmsLayersOffering);
2688    method @Deprecated public void setLayersOffering(android.car.vms.VmsLayersOffering);
2689    method @Deprecated public void setPublisherLayersOffering(android.car.vms.VmsLayersOffering);
2690    method @Deprecated public void startMonitoring();
2691    method @Deprecated public void stopMonitoring();
2692    method @Deprecated public void subscribe(android.car.vms.VmsLayer);
2693    method @Deprecated public void subscribe(android.car.vms.VmsLayer, int);
2694    method @Deprecated public void unsubscribe(android.car.vms.VmsLayer);
2695    method @Deprecated public void unsubscribe(android.car.vms.VmsLayer, int);
2696  }
2697
2698  @Deprecated public abstract class VmsPublisherClientService extends android.app.Service {
2699    ctor @Deprecated public VmsPublisherClientService();
2700    method @Deprecated public final int getPublisherId(byte[]);
2701    method @Deprecated public final android.car.vms.VmsSubscriptionState getSubscriptions();
2702    method @Deprecated public android.os.IBinder onBind(android.content.Intent);
2703    method @Deprecated protected abstract void onVmsPublisherServiceReady();
2704    method @Deprecated public abstract void onVmsSubscriptionChange(@NonNull android.car.vms.VmsSubscriptionState);
2705    method @Deprecated public final void publish(@NonNull android.car.vms.VmsLayer, int, byte[]);
2706    method @Deprecated public final void setLayersOffering(@NonNull android.car.vms.VmsLayersOffering);
2707  }
2708
2709  @Deprecated public final class VmsSubscriberManager {
2710    method @Deprecated public void clearVmsSubscriberClientCallback();
2711    method @Deprecated @NonNull public android.car.vms.VmsAvailableLayers getAvailableLayers();
2712    method @Deprecated @NonNull public byte[] getPublisherInfo(int);
2713    method @Deprecated public void setVmsSubscriberClientCallback(@NonNull java.util.concurrent.Executor, @NonNull android.car.vms.VmsSubscriberManager.VmsSubscriberClientCallback);
2714    method @Deprecated public void startMonitoring();
2715    method @Deprecated public void stopMonitoring();
2716    method @Deprecated public void subscribe(@NonNull android.car.vms.VmsLayer);
2717    method @Deprecated public void subscribe(@NonNull android.car.vms.VmsLayer, int);
2718    method @Deprecated public void unsubscribe(@NonNull android.car.vms.VmsLayer);
2719    method @Deprecated public void unsubscribe(@NonNull android.car.vms.VmsLayer, int);
2720  }
2721
2722  @Deprecated public static interface VmsSubscriberManager.VmsSubscriberClientCallback {
2723    method @Deprecated public void onLayersAvailabilityChanged(@NonNull android.car.vms.VmsAvailableLayers);
2724    method @Deprecated public void onVmsMessageReceived(@NonNull android.car.vms.VmsLayer, byte[]);
2725  }
2726
2727  public final class VmsSubscriptionState implements android.os.Parcelable {
2728    ctor public VmsSubscriptionState(int, @NonNull java.util.Set<android.car.vms.VmsLayer>, @NonNull java.util.Set<android.car.vms.VmsAssociatedLayer>);
2729    method public int describeContents();
2730    method @NonNull public java.util.Set<android.car.vms.VmsAssociatedLayer> getAssociatedLayers();
2731    method @NonNull public java.util.Set<android.car.vms.VmsLayer> getLayers();
2732    method public int getSequenceNumber();
2733    method public void writeToParcel(@NonNull android.os.Parcel, int);
2734    field @NonNull public static final android.os.Parcelable.Creator<android.car.vms.VmsSubscriptionState> CREATOR;
2735  }
2736
2737}
2738
2739package android.car.watchdog {
2740
2741  public final class CarWatchdogManager {
2742    method @RequiresPermission(android.car.Car.PERMISSION_COLLECT_CAR_WATCHDOG_METRICS) public void addResourceOveruseListenerForSystem(@NonNull java.util.concurrent.Executor, int, @NonNull android.car.watchdog.CarWatchdogManager.ResourceOveruseListener);
2743    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_COLLECT_CAR_WATCHDOG_METRICS) public java.util.List<android.car.watchdog.ResourceOveruseStats> getAllResourceOveruseStats(int, int, int);
2744    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_WATCHDOG_CONFIG) public java.util.List<android.car.watchdog.PackageKillableState> getPackageKillableStatesAsUser(@NonNull android.os.UserHandle);
2745    method @Nullable @RequiresPermission(anyOf={android.car.Car.PERMISSION_CONTROL_CAR_WATCHDOG_CONFIG, android.car.Car.PERMISSION_COLLECT_CAR_WATCHDOG_METRICS}) public java.util.List<android.car.watchdog.ResourceOveruseConfiguration> getResourceOveruseConfigurations(int);
2746    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_COLLECT_CAR_WATCHDOG_METRICS) public android.car.watchdog.ResourceOveruseStats getResourceOveruseStatsForUserPackage(@NonNull String, @NonNull android.os.UserHandle, int, int);
2747    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_WATCHDOG) public void registerClient(@NonNull java.util.concurrent.Executor, @NonNull android.car.watchdog.CarWatchdogManager.CarWatchdogClientCallback, int);
2748    method @RequiresPermission(android.car.Car.PERMISSION_COLLECT_CAR_WATCHDOG_METRICS) public void removeResourceOveruseListenerForSystem(@NonNull android.car.watchdog.CarWatchdogManager.ResourceOveruseListener);
2749    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_WATCHDOG_CONFIG) public void setKillablePackageAsUser(@NonNull String, @NonNull android.os.UserHandle, boolean);
2750    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_WATCHDOG_CONFIG) public int setResourceOveruseConfigurations(@NonNull java.util.List<android.car.watchdog.ResourceOveruseConfiguration>, int);
2751    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_WATCHDOG) public void tellClientAlive(@NonNull android.car.watchdog.CarWatchdogManager.CarWatchdogClientCallback, int);
2752    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_WATCHDOG) public void unregisterClient(@NonNull android.car.watchdog.CarWatchdogManager.CarWatchdogClientCallback);
2753    field public static final int FLAG_MINIMUM_STATS_IO_100_MB = 2; // 0x2
2754    field public static final int FLAG_MINIMUM_STATS_IO_1_GB = 4; // 0x4
2755    field public static final int FLAG_MINIMUM_STATS_IO_1_MB = 1; // 0x1
2756    field public static final int RETURN_CODE_ERROR = -1; // 0xffffffff
2757    field public static final int RETURN_CODE_SUCCESS = 0; // 0x0
2758    field public static final int TIMEOUT_CRITICAL = 0; // 0x0
2759    field public static final int TIMEOUT_MODERATE = 1; // 0x1
2760    field public static final int TIMEOUT_NORMAL = 2; // 0x2
2761  }
2762
2763  public abstract static class CarWatchdogManager.CarWatchdogClientCallback {
2764    ctor public CarWatchdogManager.CarWatchdogClientCallback();
2765    method public boolean onCheckHealthStatus(int, int);
2766    method public void onPrepareProcessTermination();
2767  }
2768
2769  public final class IoOveruseAlertThreshold implements android.os.Parcelable {
2770    method public int describeContents();
2771    method public long getDurationInSeconds();
2772    method public long getWrittenBytesPerSecond();
2773    method public void writeToParcel(@NonNull android.os.Parcel, int);
2774    field @NonNull public static final android.os.Parcelable.Creator<android.car.watchdog.IoOveruseAlertThreshold> CREATOR;
2775  }
2776
2777  public final class IoOveruseConfiguration implements android.os.Parcelable {
2778    method public int describeContents();
2779    method @NonNull public java.util.Map<java.lang.String,android.car.watchdog.PerStateBytes> getAppCategorySpecificThresholds();
2780    method @NonNull public android.car.watchdog.PerStateBytes getComponentLevelThresholds();
2781    method @NonNull public java.util.Map<java.lang.String,android.car.watchdog.PerStateBytes> getPackageSpecificThresholds();
2782    method @NonNull public java.util.List<android.car.watchdog.IoOveruseAlertThreshold> getSystemWideThresholds();
2783    method public void writeToParcel(@NonNull android.os.Parcel, int);
2784    field @NonNull public static final android.os.Parcelable.Creator<android.car.watchdog.IoOveruseConfiguration> CREATOR;
2785  }
2786
2787  public static final class IoOveruseConfiguration.Builder {
2788    ctor public IoOveruseConfiguration.Builder(@NonNull android.car.watchdog.PerStateBytes, @NonNull java.util.Map<java.lang.String,android.car.watchdog.PerStateBytes>, @NonNull java.util.Map<java.lang.String,android.car.watchdog.PerStateBytes>, @NonNull java.util.List<android.car.watchdog.IoOveruseAlertThreshold>);
2789    method @NonNull public android.car.watchdog.IoOveruseConfiguration.Builder addAppCategorySpecificThresholds(@NonNull String, @NonNull android.car.watchdog.PerStateBytes);
2790    method @NonNull public android.car.watchdog.IoOveruseConfiguration.Builder addPackageSpecificThresholds(@NonNull String, @NonNull android.car.watchdog.PerStateBytes);
2791    method @NonNull public android.car.watchdog.IoOveruseConfiguration.Builder addSystemWideThresholds(@NonNull android.car.watchdog.IoOveruseAlertThreshold);
2792    method @NonNull public android.car.watchdog.IoOveruseConfiguration build();
2793    method @NonNull public android.car.watchdog.IoOveruseConfiguration.Builder setAppCategorySpecificThresholds(@NonNull java.util.Map<java.lang.String,android.car.watchdog.PerStateBytes>);
2794    method @NonNull public android.car.watchdog.IoOveruseConfiguration.Builder setComponentLevelThresholds(@NonNull android.car.watchdog.PerStateBytes);
2795    method @NonNull public android.car.watchdog.IoOveruseConfiguration.Builder setPackageSpecificThresholds(@NonNull java.util.Map<java.lang.String,android.car.watchdog.PerStateBytes>);
2796    method @NonNull public android.car.watchdog.IoOveruseConfiguration.Builder setSystemWideThresholds(@NonNull java.util.List<android.car.watchdog.IoOveruseAlertThreshold>);
2797  }
2798
2799  public final class PackageKillableState implements android.os.Parcelable {
2800    method public int describeContents();
2801    method public int getKillableState();
2802    method @NonNull public String getPackageName();
2803    method public int getUserId();
2804    method public void writeToParcel(@NonNull android.os.Parcel, int);
2805    field @NonNull public static final android.os.Parcelable.Creator<android.car.watchdog.PackageKillableState> CREATOR;
2806    field public static final int KILLABLE_STATE_NEVER = 3; // 0x3
2807    field public static final int KILLABLE_STATE_NO = 2; // 0x2
2808    field public static final int KILLABLE_STATE_YES = 1; // 0x1
2809  }
2810
2811  public final class ResourceOveruseConfiguration implements android.os.Parcelable {
2812    method public int describeContents();
2813    method public int getComponentType();
2814    method @Nullable public android.car.watchdog.IoOveruseConfiguration getIoOveruseConfiguration();
2815    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getPackagesToAppCategoryTypes();
2816    method @NonNull public java.util.List<java.lang.String> getSafeToKillPackages();
2817    method @NonNull public java.util.List<java.lang.String> getVendorPackagePrefixes();
2818    method public void writeToParcel(@NonNull android.os.Parcel, int);
2819    field public static final String APPLICATION_CATEGORY_TYPE_MAPS = "android.car.watchdog.app.category.MAPS";
2820    field public static final String APPLICATION_CATEGORY_TYPE_MEDIA = "android.car.watchdog.app.category.MEDIA";
2821    field public static final int COMPONENT_TYPE_SYSTEM = 1; // 0x1
2822    field public static final int COMPONENT_TYPE_THIRD_PARTY = 3; // 0x3
2823    field public static final int COMPONENT_TYPE_VENDOR = 2; // 0x2
2824    field @NonNull public static final android.os.Parcelable.Creator<android.car.watchdog.ResourceOveruseConfiguration> CREATOR;
2825  }
2826
2827  public static final class ResourceOveruseConfiguration.Builder {
2828    ctor public ResourceOveruseConfiguration.Builder(int, @NonNull java.util.List<java.lang.String>, @NonNull java.util.List<java.lang.String>, @NonNull java.util.Map<java.lang.String,java.lang.String>);
2829    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration.Builder addPackagesToAppCategoryTypes(@NonNull String, @NonNull String);
2830    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration.Builder addSafeToKillPackages(@NonNull String);
2831    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration.Builder addVendorPackagePrefixes(@NonNull String);
2832    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration build();
2833    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration.Builder setComponentType(int);
2834    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration.Builder setIoOveruseConfiguration(@NonNull android.car.watchdog.IoOveruseConfiguration);
2835    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration.Builder setPackagesToAppCategoryTypes(@NonNull java.util.Map<java.lang.String,java.lang.String>);
2836    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration.Builder setSafeToKillPackages(@NonNull java.util.List<java.lang.String>);
2837    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration.Builder setVendorPackagePrefixes(@NonNull java.util.List<java.lang.String>);
2838  }
2839
2840}
2841
2842package android.car.wifi {
2843
2844  @FlaggedApi("android.car.feature.persist_ap_settings") public final class CarWifiManager {
2845    method @FlaggedApi("android.car.feature.persist_ap_settings") @RequiresPermission(android.car.Car.PERMISSION_READ_PERSIST_TETHERING_SETTINGS) public boolean canControlPersistTetheringSettings();
2846  }
2847
2848}
2849
2850