• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 @FlaggedApi("android.car.feature.car_property_simulation") public boolean isPropertyIdSimulationPropId();
949    method @Deprecated public static <T> android.car.hardware.CarPropertyConfig.Builder<T> newBuilder(Class<T>, int, int, int);
950  }
951
952  @Deprecated public static class CarPropertyConfig.Builder<T> {
953    method @Deprecated @NonNull public android.car.hardware.CarPropertyConfig.Builder<T> addAreaIdConfig(@NonNull android.car.hardware.property.AreaIdConfig<T>);
954    method @Deprecated public android.car.hardware.CarPropertyConfig<T> build();
955    method @Deprecated public android.car.hardware.CarPropertyConfig.Builder<T> setAccess(int);
956    method @Deprecated public android.car.hardware.CarPropertyConfig.Builder<T> setChangeMode(int);
957    method @Deprecated public android.car.hardware.CarPropertyConfig.Builder<T> setConfigArray(java.util.ArrayList<java.lang.Integer>);
958    method @Deprecated public android.car.hardware.CarPropertyConfig.Builder<T> setConfigString(String);
959    method @Deprecated public android.car.hardware.CarPropertyConfig.Builder<T> setMaxSampleRate(float);
960    method @Deprecated public android.car.hardware.CarPropertyConfig.Builder<T> setMinSampleRate(float);
961    method @Deprecated public android.car.hardware.CarPropertyConfig.Builder<T> setPropertyIdIsSimulationPropId(boolean);
962  }
963
964  public final class CarPropertyValue<T> implements android.os.Parcelable {
965    method @FlaggedApi("android.car.feature.car_property_simulation") public boolean isPropertyIdSimulationPropId();
966  }
967
968  @Deprecated public final class CarVendorExtensionManager {
969    method @Deprecated public <E> E getGlobalProperty(Class<E>, int);
970    method @Deprecated public java.util.List<android.car.hardware.CarPropertyConfig> getProperties();
971    method @Deprecated public <E> E getProperty(Class<E>, int, int);
972    method @Deprecated public boolean isPropertyAvailable(int, int);
973    method @Deprecated public void registerCallback(android.car.hardware.CarVendorExtensionManager.CarVendorExtensionCallback);
974    method @Deprecated public <E> void setGlobalProperty(Class<E>, int, E);
975    method @Deprecated public <E> void setProperty(Class<E>, int, int, E);
976    method @Deprecated public void unregisterCallback(android.car.hardware.CarVendorExtensionManager.CarVendorExtensionCallback);
977  }
978
979  @Deprecated public static interface CarVendorExtensionManager.CarVendorExtensionCallback {
980    method @Deprecated public void onChangeEvent(android.car.hardware.CarPropertyValue);
981    method @Deprecated public void onErrorEvent(int, int);
982  }
983
984}
985
986package android.car.hardware.cabin {
987
988  @Deprecated public final class CarCabinManager {
989    method @Deprecated public boolean getBooleanProperty(int, int);
990    method @Deprecated public float getFloatProperty(int, int);
991    method @Deprecated public int getIntProperty(int, int);
992    method @Deprecated public java.util.List<android.car.hardware.CarPropertyConfig> getPropertyList();
993    method @Deprecated public static boolean isZonedProperty(int);
994    method @Deprecated public void registerCallback(android.car.hardware.cabin.CarCabinManager.CarCabinEventCallback);
995    method @Deprecated public void setBooleanProperty(int, int, boolean);
996    method @Deprecated public void setFloatProperty(int, int, float);
997    method @Deprecated public void setIntProperty(int, int, int);
998    method @Deprecated public void unregisterCallback(android.car.hardware.cabin.CarCabinManager.CarCabinEventCallback);
999    field @Deprecated public static final int ID_DOOR_LOCK = 371198722; // 0x16200b02
1000    field @Deprecated public static final int ID_DOOR_MOVE = 373295873; // 0x16400b01
1001    field @Deprecated public static final int ID_DOOR_POS = 373295872; // 0x16400b00
1002    field @Deprecated public static final int ID_MIRROR_FOLD = 287312709; // 0x11200b45
1003    field @Deprecated public static final int ID_MIRROR_LOCK = 287312708; // 0x11200b44
1004    field @Deprecated public static final int ID_MIRROR_Y_MOVE = 339741507; // 0x14400b43
1005    field @Deprecated public static final int ID_MIRROR_Y_POS = 339741506; // 0x14400b42
1006    field @Deprecated public static final int ID_MIRROR_Z_MOVE = 339741505; // 0x14400b41
1007    field @Deprecated public static final int ID_MIRROR_Z_POS = 339741504; // 0x14400b40
1008    field @Deprecated public static final int ID_SEAT_BACKREST_ANGLE_1_MOVE = 356518792; // 0x15400b88
1009    field @Deprecated public static final int ID_SEAT_BACKREST_ANGLE_1_POS = 356518791; // 0x15400b87
1010    field @Deprecated public static final int ID_SEAT_BACKREST_ANGLE_2_MOVE = 356518794; // 0x15400b8a
1011    field @Deprecated public static final int ID_SEAT_BACKREST_ANGLE_2_POS = 356518793; // 0x15400b89
1012    field @Deprecated public static final int ID_SEAT_BELT_BUCKLED = 354421634; // 0x15200b82
1013    field @Deprecated public static final int ID_SEAT_BELT_HEIGHT_MOVE = 356518788; // 0x15400b84
1014    field @Deprecated public static final int ID_SEAT_BELT_HEIGHT_POS = 356518787; // 0x15400b83
1015    field @Deprecated public static final int ID_SEAT_DEPTH_MOVE = 356518798; // 0x15400b8e
1016    field @Deprecated public static final int ID_SEAT_DEPTH_POS = 356518797; // 0x15400b8d
1017    field @Deprecated public static final int ID_SEAT_FORE_AFT_MOVE = 356518790; // 0x15400b86
1018    field @Deprecated public static final int ID_SEAT_FORE_AFT_POS = 356518789; // 0x15400b85
1019    field @Deprecated public static final int ID_SEAT_HEADREST_ANGLE_MOVE = 356518808; // 0x15400b98
1020    field @Deprecated public static final int ID_SEAT_HEADREST_ANGLE_POS = 356518807; // 0x15400b97
1021    field @Deprecated public static final int ID_SEAT_HEADREST_FORE_AFT_MOVE = 356518810; // 0x15400b9a
1022    field @Deprecated public static final int ID_SEAT_HEADREST_FORE_AFT_POS = 356518809; // 0x15400b99
1023    field @Deprecated public static final int ID_SEAT_HEADREST_HEIGHT_MOVE = 356518806; // 0x15400b96
1024    field @Deprecated public static final int ID_SEAT_HEADREST_HEIGHT_POS = 356518805; // 0x15400b95
1025    field @Deprecated public static final int ID_SEAT_HEIGHT_MOVE = 356518796; // 0x15400b8c
1026    field @Deprecated public static final int ID_SEAT_HEIGHT_POS = 356518795; // 0x15400b8b
1027    field @Deprecated public static final int ID_SEAT_LUMBAR_FORE_AFT_MOVE = 356518802; // 0x15400b92
1028    field @Deprecated public static final int ID_SEAT_LUMBAR_FORE_AFT_POS = 356518801; // 0x15400b91
1029    field @Deprecated public static final int ID_SEAT_LUMBAR_SIDE_SUPPORT_MOVE = 356518804; // 0x15400b94
1030    field @Deprecated public static final int ID_SEAT_LUMBAR_SIDE_SUPPORT_POS = 356518803; // 0x15400b93
1031    field @Deprecated public static final int ID_SEAT_MEMORY_SELECT = 356518784; // 0x15400b80
1032    field @Deprecated public static final int ID_SEAT_MEMORY_SET = 356518785; // 0x15400b81
1033    field @Deprecated public static final int ID_SEAT_TILT_MOVE = 356518800; // 0x15400b90
1034    field @Deprecated public static final int ID_SEAT_TILT_POS = 356518799; // 0x15400b8f
1035    field @Deprecated public static final int ID_WINDOW_LOCK = 322964420; // 0x13400bc4
1036    field @Deprecated public static final int ID_WINDOW_MOVE = 322964417; // 0x13400bc1
1037    field @Deprecated public static final int ID_WINDOW_POS = 322964416; // 0x13400bc0
1038  }
1039
1040  @Deprecated public static interface CarCabinManager.CarCabinEventCallback {
1041    method @Deprecated public void onChangeEvent(android.car.hardware.CarPropertyValue);
1042    method @Deprecated public void onErrorEvent(int, int);
1043  }
1044
1045}
1046
1047package android.car.hardware.hvac {
1048
1049  @Deprecated public final class CarHvacManager {
1050    method @Deprecated public boolean getBooleanProperty(int, int);
1051    method @Deprecated public float getFloatProperty(int, int);
1052    method @Deprecated public int getIntProperty(int, int);
1053    method @Deprecated public java.util.List<android.car.hardware.CarPropertyConfig> getPropertyList();
1054    method @Deprecated public boolean isPropertyAvailable(int, int);
1055    method @Deprecated public void registerCallback(android.car.hardware.hvac.CarHvacManager.CarHvacEventCallback);
1056    method @Deprecated public void setBooleanProperty(int, int, boolean);
1057    method @Deprecated public void setFloatProperty(int, int, float);
1058    method @Deprecated public void setIntProperty(int, int, int);
1059    method @Deprecated public void unregisterCallback(android.car.hardware.hvac.CarHvacManager.CarHvacEventCallback);
1060    field @Deprecated public static final int FAN_DIRECTION_DEFROST = 4; // 0x4
1061    field @Deprecated public static final int FAN_DIRECTION_FACE = 1; // 0x1
1062    field @Deprecated public static final int FAN_DIRECTION_FLOOR = 2; // 0x2
1063    field @Deprecated public static final int ID_MIRROR_DEFROSTER_ON = 339739916; // 0x1440050c
1064    field @Deprecated public static final int ID_OUTSIDE_AIR_TEMP = 291505923; // 0x11600703
1065    field @Deprecated public static final int ID_STEERING_WHEEL_HEAT = 289408269; // 0x1140050d
1066    field @Deprecated public static final int ID_TEMPERATURE_DISPLAY_UNITS = 289408270; // 0x1140050e
1067    field @Deprecated public static final int ID_WINDOW_DEFROSTER_ON = 320865540; // 0x13200504
1068    field @Deprecated public static final int ID_ZONED_AC_ON = 354419973; // 0x15200505
1069    field @Deprecated public static final int ID_ZONED_AIR_RECIRCULATION_ON = 354419976; // 0x15200508
1070    field @Deprecated public static final int ID_ZONED_AUTOMATIC_MODE_ON = 354419978; // 0x1520050a
1071    field @Deprecated public static final int ID_ZONED_DUAL_ZONE_ON = 354419977; // 0x15200509
1072    field @Deprecated public static final int ID_ZONED_FAN_DIRECTION = 356517121; // 0x15400501
1073    field @Deprecated public static final int ID_ZONED_FAN_DIRECTION_AVAILABLE = 356582673; // 0x15410511
1074    field @Deprecated public static final int ID_ZONED_FAN_SPEED_RPM = 356517135; // 0x1540050f
1075    field @Deprecated public static final int ID_ZONED_FAN_SPEED_SETPOINT = 356517120; // 0x15400500
1076    field @Deprecated public static final int ID_ZONED_HVAC_AUTO_RECIRC_ON = 354419986; // 0x15200512
1077    field @Deprecated public static final int ID_ZONED_HVAC_POWER_ON = 354419984; // 0x15200510
1078    field @Deprecated public static final int ID_ZONED_MAX_AC_ON = 354419974; // 0x15200506
1079    field @Deprecated public static final int ID_ZONED_MAX_DEFROST_ON = 354419975; // 0x15200507
1080    field @Deprecated public static final int ID_ZONED_SEAT_TEMP = 356517131; // 0x1540050b
1081    field @Deprecated public static final int ID_ZONED_TEMP_ACTUAL = 358614274; // 0x15600502
1082    field @Deprecated public static final int ID_ZONED_TEMP_SETPOINT = 358614275; // 0x15600503
1083  }
1084
1085  @Deprecated public static interface CarHvacManager.CarHvacEventCallback {
1086    method @Deprecated public void onChangeEvent(android.car.hardware.CarPropertyValue);
1087    method @Deprecated public void onErrorEvent(int, int);
1088  }
1089
1090}
1091
1092package android.car.hardware.power {
1093
1094  public class CarPowerManager {
1095    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_POWER_POLICY) public void applyPowerPolicy(@NonNull String);
1096    method @RequiresPermission(android.car.Car.PERMISSION_CAR_POWER) public void clearListener();
1097    method @RequiresPermission(android.car.Car.PERMISSION_CAR_POWER) public int getPowerState();
1098    method @RequiresPermission(android.car.Car.PERMISSION_CAR_POWER) public void setDisplayPowerState(int, boolean);
1099    method @RequiresPermission(android.car.Car.PERMISSION_CAR_POWER) public void setListener(@NonNull java.util.concurrent.Executor, @NonNull android.car.hardware.power.CarPowerManager.CarPowerStateListener);
1100    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_SHUTDOWN_PROCESS) public void setListenerWithCompletion(@NonNull java.util.concurrent.Executor, @NonNull android.car.hardware.power.CarPowerManager.CarPowerStateListenerWithCompletion);
1101    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_POWER_POLICY) public void setPowerPolicyGroup(@NonNull String);
1102    field public static final int STATE_HIBERNATION_ENTER = 9; // 0x9
1103    field public static final int STATE_HIBERNATION_EXIT = 10; // 0xa
1104    field public static final int STATE_INVALID = 0; // 0x0
1105    field public static final int STATE_ON = 6; // 0x6
1106    field public static final int STATE_POST_HIBERNATION_ENTER = 14; // 0xe
1107    field public static final int STATE_POST_SHUTDOWN_ENTER = 13; // 0xd
1108    field public static final int STATE_POST_SUSPEND_ENTER = 12; // 0xc
1109    field public static final int STATE_PRE_SHUTDOWN_PREPARE = 11; // 0xb
1110    field public static final int STATE_SHUTDOWN_CANCELLED = 8; // 0x8
1111    field public static final int STATE_SHUTDOWN_ENTER = 5; // 0x5
1112    field public static final int STATE_SHUTDOWN_PREPARE = 7; // 0x7
1113    field public static final int STATE_SUSPEND_ENTER = 2; // 0x2
1114    field public static final int STATE_SUSPEND_EXIT = 3; // 0x3
1115    field public static final int STATE_WAIT_FOR_VHAL = 1; // 0x1
1116  }
1117
1118  public static interface CarPowerManager.CarPowerStateListener {
1119    method public void onStateChanged(int);
1120  }
1121
1122  public static interface CarPowerManager.CarPowerStateListenerWithCompletion {
1123    method public void onStateChanged(int, @Nullable android.car.hardware.power.CarPowerManager.CompletablePowerStateChangeFuture);
1124  }
1125
1126  public static interface CarPowerManager.CompletablePowerStateChangeFuture {
1127    method public void complete();
1128    method public long getExpirationTime();
1129  }
1130
1131}
1132
1133package android.car.hardware.property {
1134
1135  @Deprecated public static final class AreaIdConfig.Builder<T> {
1136    ctor @Deprecated public AreaIdConfig.Builder(int);
1137    ctor @Deprecated @FlaggedApi("android.car.feature.area_id_config_access") public AreaIdConfig.Builder(int, int);
1138    method @Deprecated @NonNull public android.car.hardware.property.AreaIdConfig<T> build();
1139    method @Deprecated @NonNull public android.car.hardware.property.AreaIdConfig.Builder<T> setMaxValue(T);
1140    method @Deprecated @NonNull public android.car.hardware.property.AreaIdConfig.Builder<T> setMinValue(T);
1141    method @Deprecated @NonNull public android.car.hardware.property.AreaIdConfig.Builder<T> setSupportedEnumValues(@NonNull java.util.List<T>);
1142  }
1143
1144  public final class AutomaticEmergencyBrakingState {
1145    method @NonNull public static String toString(int);
1146    field public static final int ACTIVATED = 2; // 0x2
1147    field public static final int ENABLED = 1; // 0x1
1148    field public static final int OTHER = 0; // 0x0
1149    field public static final int USER_OVERRIDE = 3; // 0x3
1150  }
1151
1152  public final class BlindSpotWarningState {
1153    method @NonNull public static String toString(int);
1154    field public static final int NO_WARNING = 1; // 0x1
1155    field public static final int OTHER = 0; // 0x0
1156    field public static final int WARNING = 2; // 0x2
1157  }
1158
1159  public class CarInternalErrorException extends java.lang.RuntimeException {
1160    method public int getVendorErrorCode();
1161  }
1162
1163  public static final class CarPropertyManager.PropertyAsyncError {
1164    method public int getVendorErrorCode();
1165  }
1166
1167  @FlaggedApi("android.car.feature.car_property_simulation") public final class CarPropertySimulationManager {
1168    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);
1169    method @FlaggedApi("android.car.feature.car_property_simulation") @RequiresPermission(android.car.Car.PERMISSION_INJECT_VEHICLE_PROPERTIES) public void disableInjectionMode();
1170    method @FlaggedApi("android.car.feature.car_property_simulation") @RequiresPermission(android.car.Car.PERMISSION_INJECT_VEHICLE_PROPERTIES) public long enableInjectionMode(@NonNull java.util.List<java.lang.Integer>);
1171    method @FlaggedApi("android.car.feature.car_property_simulation") @Nullable @RequiresPermission(android.car.Car.PERMISSION_INJECT_VEHICLE_PROPERTIES) public android.car.hardware.CarPropertyValue getLastInjectedVehicleProperty(int);
1172    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>);
1173    method @FlaggedApi("android.car.feature.car_property_simulation") @RequiresPermission(android.car.Car.PERMISSION_RECORD_VEHICLE_PROPERTIES) public boolean isRecordingVehicleProperties();
1174    method @FlaggedApi("android.car.feature.car_property_simulation") @RequiresPermission(android.car.Car.PERMISSION_INJECT_VEHICLE_PROPERTIES) public boolean isVehiclePropertyInjectionModeEnabled();
1175    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);
1176    method @FlaggedApi("android.car.feature.car_property_simulation") @RequiresPermission(android.car.Car.PERMISSION_RECORD_VEHICLE_PROPERTIES) public void stopRecordingVehicleProperties();
1177  }
1178
1179  @FlaggedApi("android.car.feature.car_property_simulation") public static interface CarPropertySimulationManager.CarRecorderListener {
1180    method @FlaggedApi("android.car.feature.car_property_simulation") public void onCarPropertyEvents(@NonNull java.util.List<android.car.hardware.CarPropertyValue<?>>);
1181    method @FlaggedApi("android.car.feature.car_property_simulation") public void onRecordingFinished();
1182  }
1183
1184  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class CrossTrafficMonitoringWarningState {
1185    method @NonNull public static String toString(int);
1186    field public static final int NO_WARNING = 1; // 0x1
1187    field public static final int OTHER = 0; // 0x0
1188    field public static final int WARNING_FRONT_BOTH = 4; // 0x4
1189    field public static final int WARNING_FRONT_LEFT = 2; // 0x2
1190    field public static final int WARNING_FRONT_RIGHT = 3; // 0x3
1191    field public static final int WARNING_REAR_BOTH = 7; // 0x7
1192    field public static final int WARNING_REAR_LEFT = 5; // 0x5
1193    field public static final int WARNING_REAR_RIGHT = 6; // 0x6
1194  }
1195
1196  public class CruiseControlCommand {
1197    method @NonNull public static String toString(int);
1198    field public static final int ACTIVATE = 1; // 0x1
1199    field public static final int DECREASE_TARGET_SPEED = 4; // 0x4
1200    field public static final int DECREASE_TARGET_TIME_GAP = 6; // 0x6
1201    field public static final int INCREASE_TARGET_SPEED = 3; // 0x3
1202    field public static final int INCREASE_TARGET_TIME_GAP = 5; // 0x5
1203    field public static final int SUSPEND = 2; // 0x2
1204  }
1205
1206  public class CruiseControlState {
1207    method @NonNull public static String toString(int);
1208    field public static final int ACTIVATED = 2; // 0x2
1209    field public static final int ENABLED = 1; // 0x1
1210    field public static final int FORCED_DEACTIVATION_WARNING = 5; // 0x5
1211    field public static final int OTHER = 0; // 0x0
1212    field public static final int SUSPENDED = 4; // 0x4
1213    field public static final int USER_OVERRIDE = 3; // 0x3
1214  }
1215
1216  public class CruiseControlType {
1217    method @NonNull public static String toString(int);
1218    field public static final int ADAPTIVE = 2; // 0x2
1219    field public static final int OTHER = 0; // 0x0
1220    field public static final int PREDICTIVE = 3; // 0x3
1221    field public static final int STANDARD = 1; // 0x1
1222  }
1223
1224  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class DriverDistractionState {
1225    method @NonNull public static String toString(int);
1226    field public static final int DISTRACTED = 2; // 0x2
1227    field public static final int NOT_DISTRACTED = 1; // 0x1
1228    field public static final int OTHER = 0; // 0x0
1229  }
1230
1231  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class DriverDistractionWarning {
1232    method @NonNull public static String toString(int);
1233    field public static final int NO_WARNING = 1; // 0x1
1234    field public static final int OTHER = 0; // 0x0
1235    field public static final int WARNING = 2; // 0x2
1236  }
1237
1238  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class DriverDrowsinessAttentionState {
1239    method @NonNull public static String toString(int);
1240    field public static final int KSS_RATING_1_EXTREMELY_ALERT = 1; // 0x1
1241    field public static final int KSS_RATING_2_VERY_ALERT = 2; // 0x2
1242    field public static final int KSS_RATING_3_ALERT = 3; // 0x3
1243    field public static final int KSS_RATING_4_RATHER_ALERT = 4; // 0x4
1244    field public static final int KSS_RATING_5_NEITHER_ALERT_NOR_SLEEPY = 5; // 0x5
1245    field public static final int KSS_RATING_6_SOME_SLEEPINESS = 6; // 0x6
1246    field public static final int KSS_RATING_7_SLEEPY_NO_EFFORT = 7; // 0x7
1247    field public static final int KSS_RATING_8_SLEEPY_SOME_EFFORT = 8; // 0x8
1248    field public static final int KSS_RATING_9_VERY_SLEEPY = 9; // 0x9
1249    field public static final int OTHER = 0; // 0x0
1250  }
1251
1252  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class DriverDrowsinessAttentionWarning {
1253    method @NonNull public static String toString(int);
1254    field public static final int NO_WARNING = 1; // 0x1
1255    field public static final int OTHER = 0; // 0x0
1256    field public static final int WARNING = 2; // 0x2
1257  }
1258
1259  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class ElectronicStabilityControlState {
1260    method @NonNull public static String toString(int);
1261    field public static final int ACTIVATED = 2; // 0x2
1262    field public static final int ENABLED = 1; // 0x1
1263    field public static final int OTHER = 0; // 0x0
1264  }
1265
1266  public class EmergencyLaneKeepAssistState {
1267    method @NonNull public static String toString(int);
1268    field public static final int ACTIVATED_STEER_LEFT = 4; // 0x4
1269    field public static final int ACTIVATED_STEER_RIGHT = 5; // 0x5
1270    field public static final int ENABLED = 1; // 0x1
1271    field public static final int OTHER = 0; // 0x0
1272    field public static final int USER_OVERRIDE = 6; // 0x6
1273    field public static final int WARNING_LEFT = 2; // 0x2
1274    field public static final int WARNING_RIGHT = 3; // 0x3
1275  }
1276
1277  public final class ErrorState {
1278    method @NonNull public static String toString(int);
1279    field public static final int NOT_AVAILABLE_DISABLED = -2; // 0xfffffffe
1280    field public static final int NOT_AVAILABLE_POOR_VISIBILITY = -5; // 0xfffffffb
1281    field public static final int NOT_AVAILABLE_SAFETY = -6; // 0xfffffffa
1282    field public static final int NOT_AVAILABLE_SPEED_HIGH = -4; // 0xfffffffc
1283    field public static final int NOT_AVAILABLE_SPEED_LOW = -3; // 0xfffffffd
1284    field public static final int OTHER_ERROR_STATE = -1; // 0xffffffff
1285  }
1286
1287  public final class EvStoppingMode {
1288    method @NonNull public static String toString(int);
1289    field public static final int STATE_CREEP = 1; // 0x1
1290    field public static final int STATE_HOLD = 3; // 0x3
1291    field public static final int STATE_OTHER = 0; // 0x0
1292    field public static final int STATE_ROLL = 2; // 0x2
1293  }
1294
1295  public final class ForwardCollisionWarningState {
1296    method @NonNull public static String toString(int);
1297    field public static final int NO_WARNING = 1; // 0x1
1298    field public static final int OTHER = 0; // 0x0
1299    field public static final int WARNING = 2; // 0x2
1300  }
1301
1302  public class HandsOnDetectionDriverState {
1303    method @NonNull public static String toString(int);
1304    field public static final int HANDS_OFF = 2; // 0x2
1305    field public static final int HANDS_ON = 1; // 0x1
1306    field public static final int OTHER = 0; // 0x0
1307  }
1308
1309  public class HandsOnDetectionWarning {
1310    method @NonNull public static String toString(int);
1311    field public static final int NO_WARNING = 1; // 0x1
1312    field public static final int OTHER = 0; // 0x0
1313    field public static final int WARNING = 2; // 0x2
1314  }
1315
1316  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class ImpactSensorLocation {
1317    method @NonNull public static String toString(int);
1318    field public static final int FRONT = 2; // 0x2
1319    field public static final int FRONT_LEFT_DOOR_SIDE = 4; // 0x4
1320    field public static final int FRONT_RIGHT_DOOR_SIDE = 8; // 0x8
1321    field public static final int OTHER = 1; // 0x1
1322    field public static final int REAR = 64; // 0x40
1323    field public static final int REAR_LEFT_DOOR_SIDE = 16; // 0x10
1324    field public static final int REAR_RIGHT_DOOR_SIDE = 32; // 0x20
1325  }
1326
1327  public final class LaneCenteringAssistCommand {
1328    method @NonNull public static String toString(int);
1329    field public static final int ACTIVATE = 1; // 0x1
1330    field public static final int DEACTIVATE = 2; // 0x2
1331  }
1332
1333  public final class LaneCenteringAssistState {
1334    method @NonNull public static String toString(int);
1335    field public static final int ACTIVATED = 3; // 0x3
1336    field public static final int ACTIVATION_REQUESTED = 2; // 0x2
1337    field public static final int ENABLED = 1; // 0x1
1338    field public static final int FORCED_DEACTIVATION_WARNING = 5; // 0x5
1339    field public static final int OTHER = 0; // 0x0
1340    field public static final int USER_OVERRIDE = 4; // 0x4
1341  }
1342
1343  public final class LaneDepartureWarningState {
1344    method @NonNull public static String toString(int);
1345    field public static final int NO_WARNING = 1; // 0x1
1346    field public static final int OTHER = 0; // 0x0
1347    field public static final int WARNING_LEFT = 2; // 0x2
1348    field public static final int WARNING_RIGHT = 3; // 0x3
1349  }
1350
1351  public final class LaneKeepAssistState {
1352    method @NonNull public static String toString(int);
1353    field public static final int ACTIVATED_STEER_LEFT = 2; // 0x2
1354    field public static final int ACTIVATED_STEER_RIGHT = 3; // 0x3
1355    field public static final int ENABLED = 1; // 0x1
1356    field public static final int OTHER = 0; // 0x0
1357    field public static final int USER_OVERRIDE = 4; // 0x4
1358  }
1359
1360  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class LowSpeedAutomaticEmergencyBrakingState {
1361    method @NonNull public static String toString(int);
1362    field public static final int ACTIVATED = 2; // 0x2
1363    field public static final int ENABLED = 1; // 0x1
1364    field public static final int OTHER = 0; // 0x0
1365    field public static final int USER_OVERRIDE = 3; // 0x3
1366  }
1367
1368  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class LowSpeedCollisionWarningState {
1369    method @NonNull public static String toString(int);
1370    field public static final int NO_WARNING = 1; // 0x1
1371    field public static final int OTHER = 0; // 0x0
1372    field public static final int WARNING = 2; // 0x2
1373  }
1374
1375  public class PropertyNotAvailableException extends java.lang.IllegalStateException {
1376    method public int getVendorErrorCode();
1377  }
1378
1379  public final class TrailerState {
1380    method @NonNull public static String toString(int);
1381    field public static final int STATE_ERROR = 3; // 0x3
1382    field public static final int STATE_NOT_PRESENT = 1; // 0x1
1383    field public static final int STATE_PRESENT = 2; // 0x2
1384    field public static final int STATE_UNKNOWN = 0; // 0x0
1385  }
1386
1387  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class VehicleAirbagLocation {
1388    method @NonNull public static String toString(int);
1389    field public static final int CURTAIN = 32; // 0x20
1390    field public static final int FRONT = 2; // 0x2
1391    field public static final int KNEE = 4; // 0x4
1392    field public static final int LEFT_SIDE = 8; // 0x8
1393    field public static final int OTHER = 1; // 0x1
1394    field public static final int RIGHT_SIDE = 16; // 0x10
1395  }
1396
1397  @FlaggedApi("android.car.feature.android_vic_vehicle_properties") public final class VehicleAutonomousState {
1398    method @NonNull public static String toString(int);
1399    field public static final int LEVEL_0 = 0; // 0x0
1400    field public static final int LEVEL_1 = 1; // 0x1
1401    field public static final int LEVEL_2 = 2; // 0x2
1402    field public static final int LEVEL_3 = 3; // 0x3
1403    field public static final int LEVEL_4 = 4; // 0x4
1404    field public static final int LEVEL_5 = 5; // 0x5
1405  }
1406
1407  public final class VehicleLightState {
1408    method @NonNull public static String toString(int);
1409    field public static final int STATE_DAYTIME_RUNNING = 2; // 0x2
1410    field public static final int STATE_OFF = 0; // 0x0
1411    field public static final int STATE_ON = 1; // 0x1
1412  }
1413
1414  public final class VehicleLightSwitch {
1415    method @NonNull public static String toString(int);
1416    field public static final int STATE_AUTOMATIC = 256; // 0x100
1417    field public static final int STATE_DAYTIME_RUNNING = 2; // 0x2
1418    field public static final int STATE_OFF = 0; // 0x0
1419    field public static final int STATE_ON = 1; // 0x1
1420  }
1421
1422  public final class VehicleOilLevel {
1423    method @NonNull public static String toString(int);
1424    field public static final int LEVEL_CRITICALLY_LOW = 0; // 0x0
1425    field public static final int LEVEL_ERROR = 4; // 0x4
1426    field public static final int LEVEL_HIGH = 3; // 0x3
1427    field public static final int LEVEL_LOW = 1; // 0x1
1428    field public static final int LEVEL_NORMAL = 2; // 0x2
1429  }
1430
1431  public final class VehicleTurnSignal {
1432    method @NonNull public static String toString(int);
1433    field public static final int STATE_LEFT = 2; // 0x2
1434    field public static final int STATE_NONE = 0; // 0x0
1435    field public static final int STATE_RIGHT = 1; // 0x1
1436  }
1437
1438  public final class VehicleVendorPermission {
1439    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_1 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_1";
1440    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_10 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_10";
1441    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_2 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_2";
1442    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_3 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_3";
1443    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_4 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_4";
1444    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_5 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_5";
1445    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_6 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_6";
1446    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_7 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_7";
1447    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_8 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_8";
1448    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_9 = "android.car.permission.GET_CAR_VENDOR_CATEGORY_9";
1449    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_DOOR = "android.car.permission.GET_CAR_VENDOR_CATEGORY_DOOR";
1450    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_ENGINE = "android.car.permission.GET_CAR_VENDOR_CATEGORY_ENGINE";
1451    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_HVAC = "android.car.permission.GET_CAR_VENDOR_CATEGORY_HVAC";
1452    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_INFO = "android.car.permission.GET_CAR_VENDOR_CATEGORY_INFO";
1453    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_LIGHT = "android.car.permission.GET_CAR_VENDOR_CATEGORY_LIGHT";
1454    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_MIRROR = "android.car.permission.GET_CAR_VENDOR_CATEGORY_MIRROR";
1455    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_SEAT = "android.car.permission.GET_CAR_VENDOR_CATEGORY_SEAT";
1456    field public static final String PERMISSION_GET_CAR_VENDOR_CATEGORY_WINDOW = "android.car.permission.GET_CAR_VENDOR_CATEGORY_WINDOW";
1457    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_1 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_1";
1458    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_10 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_10";
1459    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_2 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_2";
1460    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_3 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_3";
1461    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_4 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_4";
1462    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_5 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_5";
1463    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_6 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_6";
1464    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_7 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_7";
1465    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_8 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_8";
1466    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_9 = "android.car.permission.SET_CAR_VENDOR_CATEGORY_9";
1467    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_DOOR = "android.car.permission.SET_CAR_VENDOR_CATEGORY_DOOR";
1468    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_ENGINE = "android.car.permission.SET_CAR_VENDOR_CATEGORY_ENGINE";
1469    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_HVAC = "android.car.permission.SET_CAR_VENDOR_CATEGORY_HVAC";
1470    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_INFO = "android.car.permission.SET_CAR_VENDOR_CATEGORY_INFO";
1471    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_LIGHT = "android.car.permission.SET_CAR_VENDOR_CATEGORY_LIGHT";
1472    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_MIRROR = "android.car.permission.SET_CAR_VENDOR_CATEGORY_MIRROR";
1473    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_SEAT = "android.car.permission.SET_CAR_VENDOR_CATEGORY_SEAT";
1474    field public static final String PERMISSION_SET_CAR_VENDOR_CATEGORY_WINDOW = "android.car.permission.SET_CAR_VENDOR_CATEGORY_WINDOW";
1475  }
1476
1477  public final class WindshieldWipersState {
1478    method @NonNull public static String toString(int);
1479    field public static final int OFF = 1; // 0x1
1480    field public static final int ON = 2; // 0x2
1481    field public static final int OTHER = 0; // 0x0
1482    field public static final int SERVICE = 3; // 0x3
1483  }
1484
1485  public final class WindshieldWipersSwitch {
1486    method @NonNull public static String toString(int);
1487    field public static final int AUTO = 13; // 0xd
1488    field public static final int CONTINUOUS_LEVEL_1 = 8; // 0x8
1489    field public static final int CONTINUOUS_LEVEL_2 = 9; // 0x9
1490    field public static final int CONTINUOUS_LEVEL_3 = 10; // 0xa
1491    field public static final int CONTINUOUS_LEVEL_4 = 11; // 0xb
1492    field public static final int CONTINUOUS_LEVEL_5 = 12; // 0xc
1493    field public static final int INTERMITTENT_LEVEL_1 = 3; // 0x3
1494    field public static final int INTERMITTENT_LEVEL_2 = 4; // 0x4
1495    field public static final int INTERMITTENT_LEVEL_3 = 5; // 0x5
1496    field public static final int INTERMITTENT_LEVEL_4 = 6; // 0x6
1497    field public static final int INTERMITTENT_LEVEL_5 = 7; // 0x7
1498    field public static final int MIST = 2; // 0x2
1499    field public static final int OFF = 1; // 0x1
1500    field public static final int OTHER = 0; // 0x0
1501    field public static final int SERVICE = 14; // 0xe
1502  }
1503
1504}
1505
1506package android.car.input {
1507
1508  public final class CarInputManager {
1509    method @RequiresPermission(android.Manifest.permission.INJECT_EVENTS) public void injectKeyEvent(@NonNull android.view.KeyEvent, int);
1510    method public void releaseInputEventCapture(int);
1511    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);
1512    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);
1513    field public static final int CAPTURE_REQ_FLAGS_ALLOW_DELAYED_GRANT = 1; // 0x1
1514    field public static final int CAPTURE_REQ_FLAGS_TAKE_ALL_EVENTS_FOR_DISPLAY = 2; // 0x2
1515    field public static final int INPUT_CAPTURE_RESPONSE_DELAYED = 2; // 0x2
1516    field public static final int INPUT_CAPTURE_RESPONSE_FAILED = 1; // 0x1
1517    field public static final int INPUT_CAPTURE_RESPONSE_SUCCEEDED = 0; // 0x0
1518    field public static final int INPUT_TYPE_ALL_INPUTS = 1; // 0x1
1519  }
1520
1521  public static interface CarInputManager.CarInputCaptureCallback {
1522    method public default void onCaptureStateChanged(int, @NonNull int[]);
1523    method public default void onCustomInputEvents(int, @NonNull java.util.List<android.car.input.CustomInputEvent>);
1524    method public default void onKeyEvents(int, @NonNull java.util.List<android.view.KeyEvent>);
1525    method public default void onRotaryEvents(int, @NonNull java.util.List<android.car.input.RotaryEvent>);
1526  }
1527
1528  public final class CustomInputEvent implements android.os.Parcelable {
1529    ctor public CustomInputEvent(int, int, int);
1530    method public int describeContents();
1531    method public int getInputCode();
1532    method public int getRepeatCounter();
1533    method public int getTargetDisplayType();
1534    method @NonNull public static String inputCodeToString(int);
1535    method public void writeToParcel(@NonNull android.os.Parcel, int);
1536    field @NonNull public static final android.os.Parcelable.Creator<android.car.input.CustomInputEvent> CREATOR;
1537    field public static final int INPUT_CODE_F1 = 1001; // 0x3e9
1538    field public static final int INPUT_CODE_F10 = 1010; // 0x3f2
1539    field public static final int INPUT_CODE_F2 = 1002; // 0x3ea
1540    field public static final int INPUT_CODE_F3 = 1003; // 0x3eb
1541    field public static final int INPUT_CODE_F4 = 1004; // 0x3ec
1542    field public static final int INPUT_CODE_F5 = 1005; // 0x3ed
1543    field public static final int INPUT_CODE_F6 = 1006; // 0x3ee
1544    field public static final int INPUT_CODE_F7 = 1007; // 0x3ef
1545    field public static final int INPUT_CODE_F8 = 1008; // 0x3f0
1546    field public static final int INPUT_CODE_F9 = 1009; // 0x3f1
1547  }
1548
1549  public final class RotaryEvent implements android.os.Parcelable {
1550    ctor public RotaryEvent(int, boolean, @NonNull long[]);
1551    method public int describeContents();
1552    method public int getInputType();
1553    method public int getNumberOfClicks();
1554    method public long getUptimeMillisForClick(int);
1555    method @NonNull public long[] getUptimeMillisForClicks();
1556    method public boolean isClockwise();
1557    method public void writeToParcel(@NonNull android.os.Parcel, int);
1558    field @NonNull public static final android.os.Parcelable.Creator<android.car.input.RotaryEvent> CREATOR;
1559  }
1560
1561}
1562
1563package android.car.media {
1564
1565  @FlaggedApi("android.car.feature.car_audio_dynamic_devices") public interface AudioZoneConfigurationsChangeCallback {
1566    method public default void onAudioZoneConfigurationsChanged(@NonNull java.util.List<android.car.media.CarAudioZoneConfigInfo>, int);
1567  }
1568
1569  public interface AudioZonesMirrorStatusCallback {
1570    method public void onAudioZonesMirrorStatusChanged(@NonNull java.util.List<java.lang.Integer>, int);
1571  }
1572
1573  public final class CarAudioManager {
1574    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public boolean allowMediaAudioOnPrimaryZone(long, boolean);
1575    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public int canEnableAudioMirror();
1576    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public boolean cancelMediaAudioOnPrimaryZone(long);
1577    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public void clearAudioZoneConfigsCallback();
1578    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public void clearAudioZonesMirrorStatusCallback();
1579    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public void clearPrimaryZoneMediaAudioRequestCallback();
1580    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public android.car.media.CarAudioPatchHandle createAudioPatch(String, int, int);
1581    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public void disableAudioMirror(long);
1582    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public void disableAudioMirrorForZone(int);
1583    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public long enableMirrorForAudioZones(@NonNull java.util.List<java.lang.Integer>);
1584    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public void extendAudioMirrorRequest(long, @NonNull java.util.List<java.lang.Integer>);
1585    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public java.util.List<android.media.AudioAttributes> getAudioAttributesForVolumeGroup(@NonNull android.car.media.CarVolumeGroupInfo);
1586    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public java.util.List<android.car.media.CarAudioZoneConfigInfo> getAudioZoneConfigInfos(int);
1587    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public java.util.List<java.lang.Integer> getAudioZoneIds();
1588    method @Nullable @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public android.car.media.CarAudioZoneConfigInfo getCurrentAudioZoneConfigInfo(int);
1589    method @Deprecated @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public String[] getExternalSources();
1590    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getGroupMaxVolume(int);
1591    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getGroupMaxVolume(int, int);
1592    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getGroupMinVolume(int);
1593    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getGroupMinVolume(int, int);
1594    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getGroupVolume(int);
1595    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getGroupVolume(int, int);
1596    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public java.util.List<android.media.AudioDeviceInfo> getInputDevicesForZoneId(int);
1597    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public java.util.List<java.lang.Integer> getMirrorAudioZonesForAudioZone(int);
1598    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public java.util.List<java.lang.Integer> getMirrorAudioZonesForMirrorRequest(long);
1599    method @Nullable @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public android.media.AudioDeviceInfo getOutputDeviceForUsage(int, int);
1600    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int[] getUsagesForVolumeGroupId(int);
1601    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int[] getUsagesForVolumeGroupId(int, int);
1602    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getVolumeGroupCount();
1603    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getVolumeGroupCount(int);
1604    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getVolumeGroupIdForUsage(int);
1605    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public int getVolumeGroupIdForUsage(int, int);
1606    method @Nullable @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public android.car.media.CarVolumeGroupInfo getVolumeGroupInfo(int, int);
1607    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public java.util.List<android.car.media.CarVolumeGroupInfo> getVolumeGroupInfosForZone(int);
1608    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public boolean isMediaAudioAllowedInPrimaryZone(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1609    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public boolean isPlaybackOnVolumeGroupActive(int, int);
1610    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public boolean isVolumeGroupMuted(int, int);
1611    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public boolean registerCarVolumeGroupEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.car.media.CarVolumeGroupEventCallback);
1612    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public void releaseAudioPatch(android.car.media.CarAudioPatchHandle);
1613    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);
1614    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public boolean resetMediaAudioOnPrimaryZone(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1615    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);
1616    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public boolean setAudioZoneMirrorStatusCallback(@NonNull java.util.concurrent.Executor, @NonNull android.car.media.AudioZonesMirrorStatusCallback);
1617    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public void setBalanceTowardRight(float);
1618    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public void setFadeTowardFront(float);
1619    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public void setGroupVolume(int, int, int);
1620    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public void setGroupVolume(int, int, int, int);
1621    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_SETTINGS) public boolean setPrimaryZoneMediaAudioRequestCallback(@NonNull java.util.concurrent.Executor, @NonNull android.car.media.PrimaryZoneMediaAudioRequestCallback);
1622    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public void setVolumeGroupMute(int, int, boolean, int);
1623    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);
1624    method @RequiresPermission(android.car.Car.PERMISSION_CAR_CONTROL_AUDIO_VOLUME) public void unregisterCarVolumeGroupEventCallback(@NonNull android.car.media.CarVolumeGroupEventCallback);
1625    field public static final String AUDIOFOCUS_EXTRA_RECEIVE_DUCKING_EVENTS = "android.car.media.AUDIOFOCUS_EXTRA_RECEIVE_DUCKING_EVENTS";
1626    field public static final int AUDIO_MIRROR_CAN_ENABLE = 1; // 0x1
1627    field public static final int AUDIO_MIRROR_INTERNAL_ERROR = -1; // 0xffffffff
1628    field public static final int AUDIO_MIRROR_OUT_OF_OUTPUT_DEVICES = 2; // 0x2
1629    field public static final int AUDIO_REQUEST_STATUS_APPROVED = 1; // 0x1
1630    field public static final int AUDIO_REQUEST_STATUS_CANCELLED = 3; // 0x3
1631    field public static final int AUDIO_REQUEST_STATUS_REJECTED = 2; // 0x2
1632    field public static final int AUDIO_REQUEST_STATUS_STOPPED = 4; // 0x4
1633    field @FlaggedApi("android.car.feature.car_audio_dynamic_devices") public static final int CONFIG_STATUS_AUTO_SWITCHED = 2; // 0x2
1634    field @FlaggedApi("android.car.feature.car_audio_dynamic_devices") public static final int CONFIG_STATUS_CHANGED = 1; // 0x1
1635    field public static final int INVALID_AUDIO_ZONE = -1; // 0xffffffff
1636    field public static final long INVALID_REQUEST_ID = -1L; // 0xffffffffffffffffL
1637    field public static final int PRIMARY_AUDIO_ZONE = 0; // 0x0
1638  }
1639
1640  public final class CarAudioPatchHandle implements android.os.Parcelable {
1641    method public int describeContents();
1642    method public void writeToParcel(android.os.Parcel, int);
1643    field public static final android.os.Parcelable.Creator<android.car.media.CarAudioPatchHandle> CREATOR;
1644  }
1645
1646  public final class CarAudioZoneConfigInfo implements android.os.Parcelable {
1647    method public int describeContents();
1648    method public int getConfigId();
1649    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") @NonNull public java.util.List<android.car.media.CarVolumeGroupInfo> getConfigVolumeGroups();
1650    method @NonNull public String getName();
1651    method public int getZoneId();
1652    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") public boolean hasSameConfigInfo(@NonNull android.car.media.CarAudioZoneConfigInfo);
1653    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") public boolean isActive();
1654    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") public boolean isDefault();
1655    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") public boolean isSelected();
1656    method public void writeToParcel(@NonNull android.os.Parcel, int);
1657    field @NonNull public static final android.os.Parcelable.Creator<android.car.media.CarAudioZoneConfigInfo> CREATOR;
1658  }
1659
1660  public final class CarMediaManager {
1661    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addMediaSourceListener(@NonNull android.car.media.CarMediaManager.MediaSourceChangedListener, int);
1662    method @NonNull @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public java.util.List<android.content.ComponentName> getLastMediaSources(int);
1663    method @NonNull @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public android.content.ComponentName getMediaSource(int);
1664    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeMediaSourceListener(@NonNull android.car.media.CarMediaManager.MediaSourceChangedListener, int);
1665    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void setMediaSource(@NonNull android.content.ComponentName, int);
1666    field public static final int MEDIA_SOURCE_MODE_BROWSE = 1; // 0x1
1667    field public static final int MEDIA_SOURCE_MODE_PLAYBACK = 0; // 0x0
1668  }
1669
1670  public static interface CarMediaManager.MediaSourceChangedListener {
1671    method public void onMediaSourceChanged(@NonNull android.content.ComponentName);
1672  }
1673
1674  public final class CarVolumeGroupEvent implements android.os.Parcelable {
1675    method public static int convertExtraInfoToFlags(@NonNull java.util.List<java.lang.Integer>);
1676    method @NonNull public static java.util.List<java.lang.Integer> convertFlagsToExtraInfo(int, int);
1677    method public int describeContents();
1678    method @NonNull public static String eventTypeToString(int);
1679    method @NonNull public static String extraInfosToString(@NonNull java.util.List<java.lang.Integer>);
1680    method @NonNull public java.util.List<android.car.media.CarVolumeGroupInfo> getCarVolumeGroupInfos();
1681    method public int getEventTypes();
1682    method @NonNull public java.util.List<java.lang.Integer> getExtraInfos();
1683    method public void writeToParcel(@NonNull android.os.Parcel, int);
1684    field @NonNull public static final android.os.Parcelable.Creator<android.car.media.CarVolumeGroupEvent> CREATOR;
1685    field public static final int EVENT_TYPE_ATTENUATION_CHANGED = 32; // 0x20
1686    field public static final int EVENT_TYPE_MUTE_CHANGED = 8; // 0x8
1687    field public static final int EVENT_TYPE_VOLUME_BLOCKED_CHANGED = 16; // 0x10
1688    field public static final int EVENT_TYPE_VOLUME_GAIN_INDEX_CHANGED = 1; // 0x1
1689    field public static final int EVENT_TYPE_VOLUME_MAX_INDEX_CHANGED = 4; // 0x4
1690    field public static final int EVENT_TYPE_VOLUME_MIN_INDEX_CHANGED = 2; // 0x2
1691    field public static final int EVENT_TYPE_ZONE_CONFIGURATION_CHANGED = 64; // 0x40
1692    field public static final int EXTRA_INFO_ATTENUATION_ACTIVATION = 110; // 0x6e
1693    field public static final int EXTRA_INFO_MUTE_LOCKED = 210; // 0xd2
1694    field public static final int EXTRA_INFO_MUTE_TOGGLED_BY_AUDIO_SYSTEM = 203; // 0xcb
1695    field public static final int EXTRA_INFO_MUTE_TOGGLED_BY_EMERGENCY = 202; // 0xca
1696    field public static final int EXTRA_INFO_MUTE_TOGGLED_BY_KEYEVENT = 201; // 0xc9
1697    field public static final int EXTRA_INFO_MUTE_TOGGLED_BY_UI = 200; // 0xc8
1698    field public static final int EXTRA_INFO_NONE = 100; // 0x64
1699    field public static final int EXTRA_INFO_PLAY_SOUND = 301; // 0x12d
1700    field public static final int EXTRA_INFO_SHOW_UI = 300; // 0x12c
1701    field public static final int EXTRA_INFO_TRANSIENT_ATTENUATION_DUCKED = 121; // 0x79
1702    field public static final int EXTRA_INFO_TRANSIENT_ATTENUATION_EXTERNAL = 124; // 0x7c
1703    field public static final int EXTRA_INFO_TRANSIENT_ATTENUATION_NAVIGATION = 123; // 0x7b
1704    field public static final int EXTRA_INFO_TRANSIENT_ATTENUATION_PROJECTION = 122; // 0x7a
1705    field public static final int EXTRA_INFO_TRANSIENT_ATTENUATION_THERMAL = 120; // 0x78
1706    field public static final int EXTRA_INFO_VOLUME_INDEX_CHANGED_BY_AUDIO_SYSTEM = 103; // 0x67
1707    field public static final int EXTRA_INFO_VOLUME_INDEX_CHANGED_BY_KEYEVENT = 102; // 0x66
1708    field public static final int EXTRA_INFO_VOLUME_INDEX_CHANGED_BY_UI = 101; // 0x65
1709  }
1710
1711  public static final class CarVolumeGroupEvent.Builder {
1712    ctor public CarVolumeGroupEvent.Builder(@NonNull java.util.List<android.car.media.CarVolumeGroupInfo>, int);
1713    ctor public CarVolumeGroupEvent.Builder(@NonNull java.util.List<android.car.media.CarVolumeGroupInfo>, int, @NonNull java.util.List<java.lang.Integer>);
1714    method @NonNull public android.car.media.CarVolumeGroupEvent.Builder addCarVolumeGroupInfo(@NonNull android.car.media.CarVolumeGroupInfo);
1715    method @NonNull public android.car.media.CarVolumeGroupEvent.Builder addEventType(int);
1716    method @NonNull public android.car.media.CarVolumeGroupEvent.Builder addExtraInfo(int);
1717    method @NonNull public android.car.media.CarVolumeGroupEvent build();
1718    method @NonNull public android.car.media.CarVolumeGroupEvent.Builder setExtraInfos(@NonNull java.util.List<java.lang.Integer>);
1719  }
1720
1721  public interface CarVolumeGroupEventCallback {
1722    method public void onVolumeGroupEvent(@NonNull java.util.List<android.car.media.CarVolumeGroupEvent>);
1723  }
1724
1725  public final class CarVolumeGroupInfo implements android.os.Parcelable {
1726    method public int describeContents();
1727    method @NonNull public java.util.List<android.media.AudioAttributes> getAudioAttributes();
1728    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") @NonNull public java.util.List<android.media.AudioDeviceAttributes> getAudioDeviceAttributes();
1729    method public int getId();
1730    method @FlaggedApi("android.car.feature.car_audio_min_max_activation_volume") public int getMaxActivationVolumeGainIndex();
1731    method public int getMaxVolumeGainIndex();
1732    method @FlaggedApi("android.car.feature.car_audio_min_max_activation_volume") public int getMinActivationVolumeGainIndex();
1733    method public int getMinVolumeGainIndex();
1734    method @NonNull public String getName();
1735    method public int getVolumeGainIndex();
1736    method public int getZoneId();
1737    method public boolean isAttenuated();
1738    method public boolean isBlocked();
1739    method public boolean isMuted();
1740    method @FlaggedApi("android.car.feature.car_audio_mute_ambiguity") public boolean isMutedBySystem();
1741    method public boolean isSameVolumeGroup(@Nullable android.car.media.CarVolumeGroupInfo);
1742    method public void writeToParcel(@NonNull android.os.Parcel, int);
1743    field @NonNull public static final android.os.Parcelable.Creator<android.car.media.CarVolumeGroupInfo> CREATOR;
1744  }
1745
1746  public static final class CarVolumeGroupInfo.Builder {
1747    ctor public CarVolumeGroupInfo.Builder(@NonNull String, int, int);
1748    ctor public CarVolumeGroupInfo.Builder(@NonNull android.car.media.CarVolumeGroupInfo);
1749    method @NonNull public android.car.media.CarVolumeGroupInfo build();
1750    method @NonNull public android.car.media.CarVolumeGroupInfo.Builder setAttenuated(boolean);
1751    method @NonNull public android.car.media.CarVolumeGroupInfo.Builder setAudioAttributes(@NonNull java.util.List<android.media.AudioAttributes>);
1752    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") @NonNull public android.car.media.CarVolumeGroupInfo.Builder setAudioDeviceAttributes(@NonNull java.util.List<android.media.AudioDeviceAttributes>);
1753    method @NonNull public android.car.media.CarVolumeGroupInfo.Builder setBlocked(boolean);
1754    method @FlaggedApi("android.car.feature.car_audio_min_max_activation_volume") @NonNull public android.car.media.CarVolumeGroupInfo.Builder setMaxActivationVolumeGainIndex(int);
1755    method @NonNull public android.car.media.CarVolumeGroupInfo.Builder setMaxVolumeGainIndex(int);
1756    method @FlaggedApi("android.car.feature.car_audio_min_max_activation_volume") @NonNull public android.car.media.CarVolumeGroupInfo.Builder setMinActivationVolumeGainIndex(int);
1757    method @NonNull public android.car.media.CarVolumeGroupInfo.Builder setMinVolumeGainIndex(int);
1758    method @NonNull public android.car.media.CarVolumeGroupInfo.Builder setMuted(boolean);
1759    method @NonNull public android.car.media.CarVolumeGroupInfo.Builder setVolumeGainIndex(int);
1760  }
1761
1762  public interface MediaAudioRequestStatusCallback {
1763    method public void onMediaAudioRequestStatusChanged(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, long, int);
1764  }
1765
1766  public interface PrimaryZoneMediaAudioRequestCallback {
1767    method public void onMediaAudioRequestStatusChanged(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, long, int);
1768    method public void onRequestMediaOnPrimaryZone(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, long);
1769  }
1770
1771  public interface SwitchAudioZoneConfigCallback {
1772    method public void onAudioZoneConfigSwitched(@NonNull android.car.media.CarAudioZoneConfigInfo, boolean);
1773  }
1774
1775}
1776
1777package android.car.navigation {
1778
1779  public final class CarNavigationInstrumentCluster implements android.os.Parcelable {
1780    ctor public CarNavigationInstrumentCluster(android.car.navigation.CarNavigationInstrumentCluster);
1781    method public static android.car.navigation.CarNavigationInstrumentCluster createCluster(int);
1782    method public static android.car.navigation.CarNavigationInstrumentCluster createCustomImageCluster(int, int, int, int);
1783    method public int describeContents();
1784    method public int getImageColorDepthBits();
1785    method public int getImageHeight();
1786    method public int getImageWidth();
1787    method public int getMinIntervalMillis();
1788    method public int getType();
1789    method public boolean supportsCustomImages();
1790    method public void writeToParcel(android.os.Parcel, int);
1791    field public static final int CLUSTER_TYPE_CUSTOM_IMAGES_SUPPORTED = 1; // 0x1
1792    field public static final int CLUSTER_TYPE_IMAGE_CODES_ONLY = 2; // 0x2
1793    field public static final android.os.Parcelable.Creator<android.car.navigation.CarNavigationInstrumentCluster> CREATOR;
1794  }
1795
1796  public final class CarNavigationStatusManager {
1797    method @RequiresPermission(android.car.Car.PERMISSION_CAR_NAVIGATION_MANAGER) public android.car.navigation.CarNavigationInstrumentCluster getInstrumentClusterInfo();
1798    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_CAR_NAVIGATION_MANAGER) public void sendEvent(int, android.os.Bundle);
1799    method @RequiresPermission(android.car.Car.PERMISSION_CAR_NAVIGATION_MANAGER) public void sendNavigationStateChange(android.os.Bundle);
1800  }
1801
1802}
1803
1804package android.car.occupantconnection {
1805
1806  public abstract class AbstractReceiverService extends android.app.Service {
1807    ctor public AbstractReceiverService();
1808    method public final void acceptConnection(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1809    method public void dump(@Nullable java.io.FileDescriptor, @NonNull java.io.PrintWriter, @Nullable String[]);
1810    method public final boolean forwardPayload(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, @NonNull String, @NonNull android.car.occupantconnection.Payload);
1811    method @NonNull public final java.util.Set<java.lang.String> getAllReceiverEndpoints();
1812    method public boolean isSenderAuthorized(@NonNull android.content.pm.SigningInfo);
1813    method public boolean isSenderCompatible(long);
1814    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
1815    method public void onConnected(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1816    method public void onConnectionCanceled(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1817    method public abstract void onConnectionInitiated(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1818    method public void onDisconnected(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1819    method @Nullable public android.os.IBinder onLocalServiceBind(@NonNull android.content.Intent);
1820    method public abstract void onPayloadReceived(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, @NonNull android.car.occupantconnection.Payload);
1821    method public void onReceiverRegistered(@NonNull String);
1822    method public final void rejectConnection(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, int);
1823  }
1824
1825  public final class CarOccupantConnectionManager {
1826    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_OCCUPANT_CONNECTION) public void cancelConnection(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1827    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_OCCUPANT_CONNECTION) public void disconnect(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1828    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_OCCUPANT_CONNECTION) public boolean isConnected(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1829    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);
1830    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);
1831    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;
1832    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_OCCUPANT_CONNECTION) public void unregisterReceiver(@NonNull String);
1833    field public static final int CONNECTION_ERROR_LONG_VERSION_NOT_MATCH = 4; // 0x4
1834    field public static final int CONNECTION_ERROR_NONE = 0; // 0x0
1835    field public static final int CONNECTION_ERROR_NOT_READY = 2; // 0x2
1836    field public static final int CONNECTION_ERROR_PEER_APP_NOT_INSTALLED = 3; // 0x3
1837    field public static final int CONNECTION_ERROR_PREDEFINED_MAXIMUM_VALUE = 10000; // 0x2710
1838    field public static final int CONNECTION_ERROR_SIGNATURE_NOT_MATCH = 5; // 0x5
1839    field public static final int CONNECTION_ERROR_UNKNOWN = 1; // 0x1
1840    field public static final int CONNECTION_ERROR_USER_REJECTED = 6; // 0x6
1841  }
1842
1843  public static interface CarOccupantConnectionManager.ConnectionRequestCallback {
1844    method public void onConnected(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1845    method public void onDisconnected(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo);
1846    method public void onFailed(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, int);
1847  }
1848
1849  public static interface CarOccupantConnectionManager.PayloadCallback {
1850    method public void onPayloadReceived(@NonNull android.car.CarOccupantZoneManager.OccupantZoneInfo, @NonNull android.car.occupantconnection.Payload);
1851  }
1852
1853  public static final class CarOccupantConnectionManager.PayloadTransferException extends java.lang.Exception {
1854    ctor public CarOccupantConnectionManager.PayloadTransferException();
1855  }
1856
1857  public final class Payload implements java.io.Closeable android.os.Parcelable {
1858    ctor public Payload(@NonNull byte[]);
1859    ctor public Payload(@NonNull android.os.IBinder);
1860    method public void close();
1861    method public int describeContents();
1862    method public void deserialize(@NonNull android.os.Parcel);
1863    method @Nullable public android.os.IBinder getBinder();
1864    method @Nullable public byte[] getBytes();
1865    method public void serialize(@NonNull android.os.Parcel, int);
1866    method public void serializeNullPayload(@NonNull android.os.Parcel);
1867    method public void writeToParcel(@NonNull android.os.Parcel, int);
1868    field @NonNull public static final android.os.Parcelable.Creator<android.car.occupantconnection.Payload> CREATOR;
1869  }
1870
1871}
1872
1873package android.car.oem {
1874
1875  public final class AudioFocusEntry implements android.os.Parcelable {
1876    method public int describeContents();
1877    method public int getAudioContextId();
1878    method @NonNull public android.media.AudioFocusInfo getAudioFocusInfo();
1879    method public int getAudioFocusResult();
1880    method public int getAudioVolumeGroupId();
1881    method public void writeToParcel(@NonNull android.os.Parcel, int);
1882    field @NonNull public static final android.os.Parcelable.Creator<android.car.oem.AudioFocusEntry> CREATOR;
1883  }
1884
1885  public static final class AudioFocusEntry.Builder {
1886    ctor public AudioFocusEntry.Builder(@NonNull android.car.oem.AudioFocusEntry);
1887    ctor public AudioFocusEntry.Builder(@NonNull android.media.AudioFocusInfo, int, int, int);
1888    method @NonNull public android.car.oem.AudioFocusEntry build();
1889    method @NonNull public android.car.oem.AudioFocusEntry.Builder setAudioContextId(int);
1890    method @NonNull public android.car.oem.AudioFocusEntry.Builder setAudioFocusInfo(@NonNull android.media.AudioFocusInfo);
1891    method @NonNull public android.car.oem.AudioFocusEntry.Builder setAudioFocusResult(int);
1892    method @NonNull public android.car.oem.AudioFocusEntry.Builder setAudioVolumeGroupId(int);
1893  }
1894
1895  @FlaggedApi("android.car.feature.car_audio_fade_manager_configuration") public final class CarAudioFadeConfiguration implements android.os.Parcelable {
1896    method public int describeContents();
1897    method @NonNull public android.media.FadeManagerConfiguration getFadeManagerConfiguration();
1898    method @NonNull public String getName();
1899    method public void writeToParcel(@NonNull android.os.Parcel, int);
1900    field @NonNull public static final android.os.Parcelable.Creator<android.car.oem.CarAudioFadeConfiguration> CREATOR;
1901  }
1902
1903  @FlaggedApi("android.car.feature.car_audio_fade_manager_configuration") public static final class CarAudioFadeConfiguration.Builder {
1904    ctor public CarAudioFadeConfiguration.Builder(@NonNull android.media.FadeManagerConfiguration);
1905    method @NonNull public android.car.oem.CarAudioFadeConfiguration build();
1906    method @NonNull public android.car.oem.CarAudioFadeConfiguration.Builder setName(@NonNull String);
1907  }
1908
1909  @FlaggedApi("android.car.feature.car_audio_dynamic_devices") public final class CarAudioFeaturesInfo implements android.os.Parcelable {
1910    method public int describeContents();
1911    method public boolean isAudioFeatureEnabled(int);
1912    method public void writeToParcel(@NonNull android.os.Parcel, int);
1913    field public static final int AUDIO_FEATURE_FADE_MANAGER_CONFIGS = 2; // 0x2
1914    field public static final int AUDIO_FEATURE_ISOLATED_DEVICE_FOCUS = 1; // 0x1
1915    field @NonNull public static final android.os.Parcelable.Creator<android.car.oem.CarAudioFeaturesInfo> CREATOR;
1916  }
1917
1918  public interface OemCarAudioDuckingService extends android.car.oem.OemCarServiceComponent {
1919    method @NonNull public java.util.List<android.media.AudioAttributes> evaluateAttributesToDuck(@NonNull android.car.oem.OemCarAudioVolumeRequest);
1920  }
1921
1922  public final class OemCarAudioFocusEvaluationRequest implements android.os.Parcelable {
1923    method public int describeContents();
1924    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") @Nullable public android.car.oem.CarAudioFeaturesInfo getAudioFeaturesInfo();
1925    method @Nullable public android.car.oem.AudioFocusEntry getAudioFocusRequest();
1926    method public int getAudioZoneId();
1927    method @NonNull public java.util.List<android.car.oem.AudioFocusEntry> getFocusHolders();
1928    method @NonNull public java.util.List<android.car.oem.AudioFocusEntry> getFocusLosers();
1929    method @NonNull public java.util.List<android.car.media.CarVolumeGroupInfo> getMutedVolumeGroups();
1930    method public void writeToParcel(@NonNull android.os.Parcel, int);
1931    field @NonNull public static final android.os.Parcelable.Creator<android.car.oem.OemCarAudioFocusEvaluationRequest> CREATOR;
1932  }
1933
1934  public static final class OemCarAudioFocusEvaluationRequest.Builder {
1935    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);
1936    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder addFocusHolders(@NonNull android.car.oem.AudioFocusEntry);
1937    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder addFocusLosers(@NonNull android.car.oem.AudioFocusEntry);
1938    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder addMutedVolumeGroups(@NonNull android.car.media.CarVolumeGroupInfo);
1939    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest build();
1940    method @FlaggedApi("android.car.feature.car_audio_dynamic_devices") @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder setAudioFeaturesInfo(@NonNull android.car.oem.CarAudioFeaturesInfo);
1941    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder setAudioFocusRequest(@NonNull android.car.oem.AudioFocusEntry);
1942    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder setAudioZoneId(int);
1943    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder setFocusHolders(@NonNull java.util.List<android.car.oem.AudioFocusEntry>);
1944    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder setFocusLosers(@NonNull java.util.List<android.car.oem.AudioFocusEntry>);
1945    method @NonNull public android.car.oem.OemCarAudioFocusEvaluationRequest.Builder setMutedVolumeGroups(@NonNull java.util.List<android.car.media.CarVolumeGroupInfo>);
1946  }
1947
1948  public final class OemCarAudioFocusResult implements android.os.Parcelable {
1949    method public int describeContents();
1950    method @FlaggedApi("android.car.feature.car_audio_fade_manager_configuration") @NonNull public java.util.Map<android.media.AudioAttributes,android.car.oem.CarAudioFadeConfiguration> getAudioAttributesToCarAudioFadeConfigurationMap();
1951    method @Nullable public android.car.oem.AudioFocusEntry getAudioFocusEntry();
1952    method public int getAudioFocusResult();
1953    method @FlaggedApi("android.car.feature.car_audio_fade_manager_configuration") @Nullable public android.car.oem.CarAudioFadeConfiguration getCarAudioFadeConfigurationForAudioAttributes(@NonNull android.media.AudioAttributes);
1954    method @NonNull public java.util.List<android.car.oem.AudioFocusEntry> getNewlyBlockedAudioFocusEntries();
1955    method @NonNull public java.util.List<android.car.oem.AudioFocusEntry> getNewlyLostAudioFocusEntries();
1956    method public void writeToParcel(@NonNull android.os.Parcel, int);
1957    field @NonNull public static final android.os.Parcelable.Creator<android.car.oem.OemCarAudioFocusResult> CREATOR;
1958    field @NonNull public static final android.car.oem.OemCarAudioFocusResult EMPTY_OEM_CAR_AUDIO_FOCUS_RESULTS;
1959  }
1960
1961  public static final class OemCarAudioFocusResult.Builder {
1962    ctor public OemCarAudioFocusResult.Builder(@NonNull java.util.List<android.car.oem.AudioFocusEntry>, @NonNull java.util.List<android.car.oem.AudioFocusEntry>, int);
1963    method @NonNull public android.car.oem.OemCarAudioFocusResult.Builder addNewlyBlockedAudioFocusEntry(@NonNull android.car.oem.AudioFocusEntry);
1964    method @NonNull public android.car.oem.OemCarAudioFocusResult.Builder addNewlyLostAudioFocusEntry(@NonNull android.car.oem.AudioFocusEntry);
1965    method @NonNull public android.car.oem.OemCarAudioFocusResult build();
1966    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>);
1967    method @NonNull public android.car.oem.OemCarAudioFocusResult.Builder setAudioFocusEntry(@NonNull android.car.oem.AudioFocusEntry);
1968    method @NonNull public android.car.oem.OemCarAudioFocusResult.Builder setAudioFocusResult(int);
1969    method @NonNull public android.car.oem.OemCarAudioFocusResult.Builder setNewlyBlockedAudioFocusEntries(@NonNull java.util.List<android.car.oem.AudioFocusEntry>);
1970    method @NonNull public android.car.oem.OemCarAudioFocusResult.Builder setNewlyLostAudioFocusEntries(@NonNull java.util.List<android.car.oem.AudioFocusEntry>);
1971  }
1972
1973  public interface OemCarAudioFocusService extends android.car.oem.OemCarServiceComponent {
1974    method @NonNull public android.car.oem.OemCarAudioFocusResult evaluateAudioFocusRequest(@NonNull android.car.oem.OemCarAudioFocusEvaluationRequest);
1975    method public void notifyAudioFocusChange(@NonNull java.util.List<android.media.AudioFocusInfo>, @NonNull java.util.List<android.media.AudioFocusInfo>, int);
1976  }
1977
1978  public final class OemCarAudioVolumeRequest implements android.os.Parcelable {
1979    method public int describeContents();
1980    method @NonNull public java.util.List<android.media.AudioAttributes> getActivePlaybackAttributes();
1981    method public int getAudioZoneId();
1982    method public int getCallState();
1983    method @NonNull public java.util.List<android.car.media.CarVolumeGroupInfo> getCarVolumeGroupInfos();
1984    method @NonNull public java.util.List<android.media.AudioAttributes> getDuckedAudioAttributes();
1985    method public void writeToParcel(@NonNull android.os.Parcel, int);
1986    field @NonNull public static final android.os.Parcelable.Creator<android.car.oem.OemCarAudioVolumeRequest> CREATOR;
1987  }
1988
1989  public static final class OemCarAudioVolumeRequest.Builder {
1990    method @NonNull public android.car.oem.OemCarAudioVolumeRequest.Builder addActivePlaybackAttributes(@NonNull android.media.AudioAttributes);
1991    method @NonNull public android.car.oem.OemCarAudioVolumeRequest.Builder addCarVolumeGroupInfos(@NonNull android.car.media.CarVolumeGroupInfo);
1992    method @NonNull public android.car.oem.OemCarAudioVolumeRequest.Builder addDuckedAudioAttributes(@NonNull android.media.AudioAttributes);
1993    method @NonNull public android.car.oem.OemCarAudioVolumeRequest build();
1994    method @NonNull public android.car.oem.OemCarAudioVolumeRequest.Builder setActivePlaybackAttributes(@NonNull java.util.List<android.media.AudioAttributes>);
1995    method @NonNull public android.car.oem.OemCarAudioVolumeRequest.Builder setCallState(int);
1996    method @NonNull public android.car.oem.OemCarAudioVolumeRequest.Builder setCarVolumeGroupInfos(@NonNull java.util.List<android.car.media.CarVolumeGroupInfo>);
1997    method @NonNull public android.car.oem.OemCarAudioVolumeRequest.Builder setDuckedAudioAttributes(@NonNull java.util.List<android.media.AudioAttributes>);
1998  }
1999
2000  public interface OemCarAudioVolumeService extends android.car.oem.OemCarServiceComponent {
2001    method @NonNull public android.car.oem.OemCarVolumeChangeInfo getSuggestedGroupForVolumeChange(@NonNull android.car.oem.OemCarAudioVolumeRequest, int);
2002  }
2003
2004  public abstract class OemCarService extends android.app.Service {
2005    ctor public OemCarService();
2006    method @CallSuper public void dump(@Nullable java.io.FileDescriptor, @Nullable java.io.PrintWriter, @Nullable String[]);
2007    method @Nullable public android.car.oem.OemCarAudioDuckingService getOemAudioDuckingService();
2008    method @Nullable public android.car.oem.OemCarAudioFocusService getOemAudioFocusService();
2009    method @Nullable public android.car.oem.OemCarAudioVolumeService getOemAudioVolumeService();
2010    method @NonNull public abstract android.car.CarVersion getSupportedCarVersion();
2011    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
2012    method public abstract void onCarServiceReady();
2013    method public final int onStartCommand(@Nullable android.content.Intent, int, int);
2014  }
2015
2016  public interface OemCarServiceComponent {
2017    method public void dump(@Nullable java.io.PrintWriter, @Nullable String[]);
2018    method public void init();
2019    method public void onCarServiceReady();
2020    method public void release();
2021  }
2022
2023  public final class OemCarVolumeChangeInfo implements android.os.Parcelable {
2024    method public int describeContents();
2025    method @Nullable public android.car.media.CarVolumeGroupInfo getChangedVolumeGroup();
2026    method public boolean isVolumeChanged();
2027    method public void writeToParcel(@NonNull android.os.Parcel, int);
2028    field @NonNull public static final android.os.Parcelable.Creator<android.car.oem.OemCarVolumeChangeInfo> CREATOR;
2029    field @NonNull public static final android.car.oem.OemCarVolumeChangeInfo EMPTY_OEM_VOLUME_CHANGE;
2030  }
2031
2032  public static final class OemCarVolumeChangeInfo.Builder {
2033    ctor public OemCarVolumeChangeInfo.Builder(boolean);
2034    method @NonNull public android.car.oem.OemCarVolumeChangeInfo build();
2035    method @NonNull public android.car.oem.OemCarVolumeChangeInfo.Builder setChangedVolumeGroup(@NonNull android.car.media.CarVolumeGroupInfo);
2036  }
2037
2038}
2039
2040package android.car.os {
2041
2042  public final class CarPerformanceManager {
2043    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_MANAGE_THREAD_PRIORITY) public android.car.os.ThreadPolicyWithPriority getThreadPriority();
2044    method @RequiresPermission(android.car.Car.PERMISSION_MANAGE_THREAD_PRIORITY) public void setThreadPriority(@NonNull android.car.os.ThreadPolicyWithPriority) throws android.car.os.CarPerformanceManager.SetSchedulerFailedException;
2045  }
2046
2047  public static final class CarPerformanceManager.SetSchedulerFailedException extends java.lang.Exception {
2048  }
2049
2050  public final class ThreadPolicyWithPriority implements android.os.Parcelable {
2051    ctor public ThreadPolicyWithPriority(int, @IntRange(from=0, to=99) int);
2052    method public int describeContents();
2053    method public int getPolicy();
2054    method @IntRange(from=0, to=99) public int getPriority();
2055    method public void writeToParcel(@NonNull android.os.Parcel, int);
2056    field @NonNull public static final android.os.Parcelable.Creator<android.car.os.ThreadPolicyWithPriority> CREATOR;
2057    field public static final int PRIORITY_MAX = 99; // 0x63
2058    field public static final int PRIORITY_MIN = 1; // 0x1
2059    field public static final int SCHED_DEFAULT = 0; // 0x0
2060    field public static final int SCHED_FIFO = 1; // 0x1
2061    field public static final int SCHED_RR = 2; // 0x2
2062  }
2063
2064}
2065
2066package android.car.projection {
2067
2068  public class ProjectionOptions {
2069    ctor public ProjectionOptions(android.os.Bundle);
2070    method @Nullable public android.app.ActivityOptions getActivityOptions();
2071    method @Nullable public android.content.ComponentName getConsentActivity();
2072    method public int getProjectionAccessPointMode();
2073    method public int getUiMode();
2074    method @NonNull public android.os.Bundle toBundle();
2075    field public static final int AP_MODE_LOHS_DYNAMIC_CREDENTIALS = 2; // 0x2
2076    field public static final int AP_MODE_LOHS_STATIC_CREDENTIALS = 3; // 0x3
2077    field public static final int AP_MODE_NOT_SPECIFIED = 0; // 0x0
2078    field public static final int AP_MODE_TETHERED = 1; // 0x1
2079    field public static final int UI_MODE_BLENDED = 1; // 0x1
2080    field public static final int UI_MODE_FULL_SCREEN = 0; // 0x0
2081  }
2082
2083  public final class ProjectionStatus implements android.os.Parcelable {
2084    method @NonNull public static android.car.projection.ProjectionStatus.Builder builder(String, int);
2085    method public int describeContents();
2086    method @NonNull public java.util.List<android.car.projection.ProjectionStatus.MobileDevice> getConnectedMobileDevices();
2087    method @NonNull public android.os.Bundle getExtras();
2088    method @NonNull public String getPackageName();
2089    method public int getState();
2090    method public int getTransport();
2091    method public boolean isActive();
2092    method public void writeToParcel(android.os.Parcel, int);
2093    field public static final android.os.Parcelable.Creator<android.car.projection.ProjectionStatus> CREATOR;
2094    field public static final int PROJECTION_STATE_ACTIVE_BACKGROUND = 3; // 0x3
2095    field public static final int PROJECTION_STATE_ACTIVE_FOREGROUND = 2; // 0x2
2096    field public static final int PROJECTION_STATE_ATTEMPTING = 4; // 0x4
2097    field public static final int PROJECTION_STATE_FINISHING = 5; // 0x5
2098    field public static final int PROJECTION_STATE_INACTIVE = 0; // 0x0
2099    field public static final int PROJECTION_STATE_READY_TO_PROJECT = 1; // 0x1
2100    field public static final int PROJECTION_TRANSPORT_NONE = 0; // 0x0
2101    field public static final int PROJECTION_TRANSPORT_USB = 1; // 0x1
2102    field public static final int PROJECTION_TRANSPORT_WIFI = 2; // 0x2
2103  }
2104
2105  public static final class ProjectionStatus.Builder {
2106    method @NonNull public android.car.projection.ProjectionStatus.Builder addMobileDevice(android.car.projection.ProjectionStatus.MobileDevice);
2107    method public android.car.projection.ProjectionStatus build();
2108    method @NonNull public android.car.projection.ProjectionStatus.Builder setExtras(android.os.Bundle);
2109    method @NonNull public android.car.projection.ProjectionStatus.Builder setProjectionTransport(int);
2110  }
2111
2112  public static final class ProjectionStatus.MobileDevice implements android.os.Parcelable {
2113    method @NonNull public static android.car.projection.ProjectionStatus.MobileDevice.Builder builder(int, String);
2114    method public int describeContents();
2115    method @NonNull public java.util.List<java.lang.Integer> getAvailableTransports();
2116    method @NonNull public android.os.Bundle getExtras();
2117    method public int getId();
2118    method @NonNull public String getName();
2119    method public boolean isProjecting();
2120    method public void writeToParcel(android.os.Parcel, int);
2121    field public static final android.os.Parcelable.Creator<android.car.projection.ProjectionStatus.MobileDevice> CREATOR;
2122  }
2123
2124  public static final class ProjectionStatus.MobileDevice.Builder {
2125    method @NonNull public android.car.projection.ProjectionStatus.MobileDevice.Builder addTransport(int);
2126    method @NonNull public android.car.projection.ProjectionStatus.MobileDevice build();
2127    method @NonNull public android.car.projection.ProjectionStatus.MobileDevice.Builder setExtras(android.os.Bundle);
2128    method @NonNull public android.car.projection.ProjectionStatus.MobileDevice.Builder setProjecting(boolean);
2129  }
2130
2131}
2132
2133package android.car.remoteaccess {
2134
2135  public final class CarRemoteAccessManager {
2136    method @FlaggedApi("android.car.feature.serverless_remote_access") @Nullable @RequiresPermission(android.car.Car.PERMISSION_CONTROL_REMOTE_ACCESS) public android.car.remoteaccess.CarRemoteAccessManager.InVehicleTaskScheduler getInVehicleTaskScheduler();
2137    method @FlaggedApi("android.car.feature.serverless_remote_access") @RequiresPermission(android.car.Car.PERMISSION_CONTROL_REMOTE_ACCESS) public boolean isTaskScheduleSupported();
2138    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_REMOTE_ACCESS) public void setPowerStatePostTaskExecution(int, boolean);
2139    field public static final int NEXT_POWER_STATE_OFF = 2; // 0x2
2140    field public static final int NEXT_POWER_STATE_ON = 1; // 0x1
2141    field public static final int NEXT_POWER_STATE_SUSPEND_TO_DISK = 4; // 0x4
2142    field public static final int NEXT_POWER_STATE_SUSPEND_TO_RAM = 3; // 0x3
2143    field @FlaggedApi("android.car.feature.serverless_remote_access") public static final int TASK_TYPE_CUSTOM = 0; // 0x0
2144    field @FlaggedApi("android.car.feature.serverless_remote_access") public static final int TASK_TYPE_ENTER_GARAGE_MODE = 1; // 0x1
2145  }
2146
2147  @FlaggedApi("android.car.feature.serverless_remote_access") public final class CarRemoteAccessManager.InVehicleTaskScheduler {
2148    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;
2149    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;
2150    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;
2151    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;
2152    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;
2153    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;
2154  }
2155
2156  @FlaggedApi("android.car.feature.serverless_remote_access") public static final class CarRemoteAccessManager.InVehicleTaskSchedulerException extends java.lang.Exception {
2157  }
2158
2159  @FlaggedApi("android.car.feature.serverless_remote_access") public static final class CarRemoteAccessManager.ScheduleInfo {
2160    method @FlaggedApi("android.car.feature.serverless_remote_access") public int getCount();
2161    method @FlaggedApi("android.car.feature.serverless_remote_access") @NonNull public java.time.Duration getPeriodic();
2162    method @FlaggedApi("android.car.feature.serverless_remote_access") @NonNull public String getScheduleId();
2163    method @FlaggedApi("android.car.feature.serverless_remote_access") public long getStartTimeInEpochSeconds();
2164    method @FlaggedApi("android.car.feature.serverless_remote_access") @NonNull public byte[] getTaskData();
2165    method @FlaggedApi("android.car.feature.serverless_remote_access") public int getTaskType();
2166    field @NonNull public static final java.time.Duration PERIODIC_DAILY;
2167    field @NonNull public static final java.time.Duration PERIODIC_WEEKLY;
2168  }
2169
2170  @FlaggedApi("android.car.feature.serverless_remote_access") public static final class CarRemoteAccessManager.ScheduleInfo.Builder {
2171    ctor @FlaggedApi("android.car.feature.serverless_remote_access") public CarRemoteAccessManager.ScheduleInfo.Builder(@NonNull String, int, long);
2172    method @FlaggedApi("android.car.feature.serverless_remote_access") @NonNull public android.car.remoteaccess.CarRemoteAccessManager.ScheduleInfo build();
2173    method @FlaggedApi("android.car.feature.serverless_remote_access") @NonNull public android.car.remoteaccess.CarRemoteAccessManager.ScheduleInfo.Builder setCount(int);
2174    method @FlaggedApi("android.car.feature.serverless_remote_access") @NonNull public android.car.remoteaccess.CarRemoteAccessManager.ScheduleInfo.Builder setPeriodic(@NonNull java.time.Duration);
2175    method @FlaggedApi("android.car.feature.serverless_remote_access") @NonNull public android.car.remoteaccess.CarRemoteAccessManager.ScheduleInfo.Builder setTaskData(@NonNull byte[]);
2176  }
2177
2178}
2179
2180package android.car.settings {
2181
2182  public class CarSettings {
2183  }
2184
2185  public static final class CarSettings.Global {
2186    field public static final String DISPLAY_INPUT_LOCK = "android.car.DISPLAY_INPUT_LOCK";
2187    field public static final String DISPLAY_POWER_MODE = "android.car.DISPLAY_POWER_MODE";
2188    field @FlaggedApi("android.car.feature.persist_ap_settings") public static final String ENABLE_PERSISTENT_TETHERING = "android.car.ENABLE_PERSISTENT_TETHERING";
2189    field @FlaggedApi("android.car.feature.car_night_global_setting") public static final String FORCED_DAY_NIGHT_MODE = "android.car.FORCED_DAY_NIGHT_MODE";
2190    field public static final String GLOBAL_VISIBLE_USER_ALLOCATION_PER_ZONE = "android.car.GLOBAL_VISIBLE_USER_ALLOCATION_PER_ZONE";
2191  }
2192
2193  public static final class CarSettings.Secure {
2194    field public static final String KEY_AUDIO_FOCUS_NAVIGATION_REJECTED_DURING_CALL = "android.car.KEY_AUDIO_FOCUS_NAVIGATION_REJECTED_DURING_CALL";
2195    field public static final String KEY_AUDIO_PERSIST_VOLUME_GROUP_MUTE_STATES = "android.car.KEY_AUDIO_PERSIST_VOLUME_GROUP_MUTE_STATES";
2196    field public static final String KEY_DRIVER_ALLOWED_TO_CONTROL_MEDIA = "android.car.DRIVER_ALLOWED_TO_CONTROL_MEDIA";
2197    field public static final String KEY_ENABLE_INITIAL_NOTICE_SCREEN_TO_USER = "android.car.ENABLE_INITIAL_NOTICE_SCREEN_TO_USER";
2198    field public static final String KEY_PACKAGES_DISABLED_ON_RESOURCE_OVERUSE = "android.car.KEY_PACKAGES_DISABLED_ON_RESOURCE_OVERUSE";
2199    field public static final String KEY_ROTARY_KEY_EVENT_FILTER = "android.car.ROTARY_KEY_EVENT_FILTER";
2200    field public static final String KEY_SETUP_WIZARD_IN_PROGRESS = "android.car.SETUP_WIZARD_IN_PROGRESS";
2201    field public static final String KEY_UNACCEPTED_TOS_DISABLED_APPS = "android.car.KEY_UNACCEPTED_TOS_DISABLED_APPS";
2202    field public static final String KEY_USER_TOS_ACCEPTED = "android.car.KEY_USER_TOS_ACCEPTED";
2203    field public static final String VISIBLE_USER_ALLOCATION_PER_ZONE = "android.car.VISIBLE_USER_ALLOCATION_PER_ZONE";
2204  }
2205
2206}
2207
2208package android.car.storagemonitoring {
2209
2210  public final class CarStorageMonitoringManager {
2211    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public java.util.List<android.car.storagemonitoring.IoStatsEntry> getAggregateIoStats();
2212    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public java.util.List<android.car.storagemonitoring.IoStatsEntry> getBootIoStats();
2213    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public java.util.List<android.car.storagemonitoring.IoStats> getIoStatsDeltas();
2214    method @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public int getPreEolIndicatorStatus();
2215    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public long getShutdownDiskWriteAmount();
2216    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public android.car.storagemonitoring.WearEstimate getWearEstimate();
2217    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public java.util.List<android.car.storagemonitoring.WearEstimateChange> getWearEstimateHistory();
2218    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public void registerListener(android.car.storagemonitoring.CarStorageMonitoringManager.IoStatsListener);
2219    method @Deprecated @RequiresPermission(android.car.Car.PERMISSION_STORAGE_MONITORING) public void unregisterListener(android.car.storagemonitoring.CarStorageMonitoringManager.IoStatsListener);
2220    field public static final String INTENT_EXCESSIVE_IO = "android.car.storagemonitoring.EXCESSIVE_IO";
2221    field public static final int PRE_EOL_INFO_NORMAL = 1; // 0x1
2222    field public static final int PRE_EOL_INFO_UNKNOWN = 0; // 0x0
2223    field public static final int PRE_EOL_INFO_URGENT = 3; // 0x3
2224    field public static final int PRE_EOL_INFO_WARNING = 2; // 0x2
2225    field public static final long SHUTDOWN_COST_INFO_MISSING = -1L; // 0xffffffffffffffffL
2226  }
2227
2228  @Deprecated public static interface CarStorageMonitoringManager.IoStatsListener {
2229    method @Deprecated public void onSnapshot(android.car.storagemonitoring.IoStats);
2230  }
2231
2232  @Deprecated public final class IoStats implements android.os.Parcelable {
2233    ctor @Deprecated public IoStats(java.util.List<android.car.storagemonitoring.IoStatsEntry>, long);
2234    ctor @Deprecated public IoStats(android.os.Parcel);
2235    method @Deprecated public int describeContents();
2236    method @Deprecated public android.car.storagemonitoring.IoStatsEntry.Metrics getBackgroundTotals();
2237    method @Deprecated public android.car.storagemonitoring.IoStatsEntry.Metrics getForegroundTotals();
2238    method @Deprecated public java.util.List<android.car.storagemonitoring.IoStatsEntry> getStats();
2239    method @Deprecated public long getTimestamp();
2240    method @Deprecated public android.car.storagemonitoring.IoStatsEntry.Metrics getTotals();
2241    method @Deprecated public android.car.storagemonitoring.IoStatsEntry getUserIdStats(int);
2242    method @Deprecated public void writeToParcel(android.os.Parcel, int);
2243    field @Deprecated public static final android.os.Parcelable.Creator<android.car.storagemonitoring.IoStats> CREATOR;
2244  }
2245
2246  @Deprecated public final class IoStatsEntry implements android.os.Parcelable {
2247    ctor @Deprecated public IoStatsEntry(int, long, android.car.storagemonitoring.IoStatsEntry.Metrics, android.car.storagemonitoring.IoStatsEntry.Metrics);
2248    ctor @Deprecated public IoStatsEntry(android.os.Parcel);
2249    ctor @Deprecated public IoStatsEntry(android.car.storagemonitoring.UidIoRecord, long);
2250    method @Deprecated public int describeContents();
2251    method @Deprecated public void writeToParcel(android.os.Parcel, int);
2252    field @Deprecated public static final android.os.Parcelable.Creator<android.car.storagemonitoring.IoStatsEntry> CREATOR;
2253    field @Deprecated public final android.car.storagemonitoring.IoStatsEntry.Metrics background;
2254    field @Deprecated public final android.car.storagemonitoring.IoStatsEntry.Metrics foreground;
2255    field @Deprecated public final long runtimeMillis;
2256    field @Deprecated public final int uid;
2257  }
2258
2259  @Deprecated public static final class IoStatsEntry.Metrics implements android.os.Parcelable {
2260    ctor @Deprecated public IoStatsEntry.Metrics(long, long, long, long, long);
2261    ctor @Deprecated public IoStatsEntry.Metrics(android.os.Parcel);
2262    method @Deprecated public int describeContents();
2263    method @Deprecated public void writeToParcel(android.os.Parcel, int);
2264    field @Deprecated public static final android.os.Parcelable.Creator<android.car.storagemonitoring.IoStatsEntry.Metrics> CREATOR;
2265    field @Deprecated public final long bytesRead;
2266    field @Deprecated public final long bytesReadFromStorage;
2267    field @Deprecated public final long bytesWritten;
2268    field @Deprecated public final long bytesWrittenToStorage;
2269    field @Deprecated public final long fsyncCalls;
2270  }
2271
2272  public final class LifetimeWriteInfo implements android.os.Parcelable {
2273    ctor public LifetimeWriteInfo(String, String, long);
2274    ctor public LifetimeWriteInfo(android.os.Parcel);
2275    method public int describeContents();
2276    method public void writeToParcel(android.os.Parcel, int);
2277    field public static final android.os.Parcelable.Creator<android.car.storagemonitoring.LifetimeWriteInfo> CREATOR;
2278    field public final String fstype;
2279    field public final String partition;
2280    field public final long writtenBytes;
2281  }
2282
2283  public final class UidIoRecord {
2284    ctor public UidIoRecord(int, long, long, long, long, long, long, long, long, long, long);
2285    field public final long background_fsync;
2286    field public final long background_rchar;
2287    field public final long background_read_bytes;
2288    field public final long background_wchar;
2289    field public final long background_write_bytes;
2290    field public final long foreground_fsync;
2291    field public final long foreground_rchar;
2292    field public final long foreground_read_bytes;
2293    field public final long foreground_wchar;
2294    field public final long foreground_write_bytes;
2295    field public final int uid;
2296  }
2297
2298  public final class WearEstimate implements android.os.Parcelable {
2299    ctor public WearEstimate(int, int);
2300    ctor public WearEstimate(android.os.Parcel);
2301    method public int describeContents();
2302    method public void writeToParcel(android.os.Parcel, int);
2303    field public static final android.os.Parcelable.Creator<android.car.storagemonitoring.WearEstimate> CREATOR;
2304    field public static final int UNKNOWN = -1; // 0xffffffff
2305    field @IntRange(from=0xffffffff, to=100) public final int typeA;
2306    field @IntRange(from=0xffffffff, to=100) public final int typeB;
2307  }
2308
2309  public final class WearEstimateChange implements android.os.Parcelable {
2310    ctor public WearEstimateChange(android.car.storagemonitoring.WearEstimate, android.car.storagemonitoring.WearEstimate, long, java.time.Instant, boolean);
2311    ctor public WearEstimateChange(android.os.Parcel);
2312    method public int describeContents();
2313    method public void writeToParcel(android.os.Parcel, int);
2314    field public static final android.os.Parcelable.Creator<android.car.storagemonitoring.WearEstimateChange> CREATOR;
2315    field @NonNull public final java.time.Instant dateAtChange;
2316    field public final boolean isAcceptableDegradation;
2317    field @NonNull public final android.car.storagemonitoring.WearEstimate newEstimate;
2318    field @NonNull public final android.car.storagemonitoring.WearEstimate oldEstimate;
2319    field public final long uptimeAtChange;
2320  }
2321
2322}
2323
2324package android.car.telemetry {
2325
2326  public final class CarTelemetryManager {
2327    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);
2328    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void clearReportReadyListener();
2329    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void getAllFinishedReports(@NonNull java.util.concurrent.Executor, @NonNull android.car.telemetry.CarTelemetryManager.MetricsReportCallback);
2330    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);
2331    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void removeAllMetricsConfigs();
2332    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void removeMetricsConfig(@NonNull String);
2333    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void setReportReadyListener(@NonNull java.util.concurrent.Executor, @NonNull android.car.telemetry.CarTelemetryManager.ReportReadyListener);
2334    field public static final int STATUS_ADD_METRICS_CONFIG_ALREADY_EXISTS = 1; // 0x1
2335    field public static final int STATUS_ADD_METRICS_CONFIG_PARSE_FAILED = 3; // 0x3
2336    field public static final int STATUS_ADD_METRICS_CONFIG_SIGNATURE_VERIFICATION_FAILED = 4; // 0x4
2337    field public static final int STATUS_ADD_METRICS_CONFIG_SUCCEEDED = 0; // 0x0
2338    field public static final int STATUS_ADD_METRICS_CONFIG_UNKNOWN = 5; // 0x5
2339    field public static final int STATUS_ADD_METRICS_CONFIG_VERSION_TOO_OLD = 2; // 0x2
2340    field public static final int STATUS_GET_METRICS_CONFIG_DOES_NOT_EXIST = 4; // 0x4
2341    field public static final int STATUS_GET_METRICS_CONFIG_FINISHED = 0; // 0x0
2342    field public static final int STATUS_GET_METRICS_CONFIG_INTERIM_RESULTS = 2; // 0x2
2343    field public static final int STATUS_GET_METRICS_CONFIG_PENDING = 1; // 0x1
2344    field public static final int STATUS_GET_METRICS_CONFIG_RUNTIME_ERROR = 3; // 0x3
2345  }
2346
2347  public static interface CarTelemetryManager.AddMetricsConfigCallback {
2348    method public void onAddMetricsConfigStatus(@NonNull String, int);
2349  }
2350
2351  public static interface CarTelemetryManager.MetricsReportCallback {
2352    method public void onResult(@NonNull String, @Nullable android.os.PersistableBundle, @Nullable byte[], int);
2353  }
2354
2355  public static interface CarTelemetryManager.ReportReadyListener {
2356    method public void onReady(@NonNull String);
2357  }
2358
2359}
2360
2361package android.car.user {
2362
2363  public final class CarUserManager {
2364    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);
2365    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);
2366    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>);
2367    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isValidUser(@NonNull android.os.UserHandle);
2368    method @NonNull public static String lifecycleEventTypeToString(int);
2369    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);
2370    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>);
2371    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserSwitchUiCallback(@NonNull java.util.concurrent.Executor, @NonNull android.car.user.CarUserManager.UserHandleSwitchUiCallback);
2372    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>);
2373    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>);
2374    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>);
2375    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>);
2376    field public static final int USER_LIFECYCLE_EVENT_TYPE_CREATED = 8; // 0x8
2377    field public static final int USER_LIFECYCLE_EVENT_TYPE_INVISIBLE = 11; // 0xb
2378    field public static final int USER_LIFECYCLE_EVENT_TYPE_REMOVED = 9; // 0x9
2379    field public static final int USER_LIFECYCLE_EVENT_TYPE_STARTING = 1; // 0x1
2380    field public static final int USER_LIFECYCLE_EVENT_TYPE_STOPPED = 6; // 0x6
2381    field public static final int USER_LIFECYCLE_EVENT_TYPE_STOPPING = 5; // 0x5
2382    field public static final int USER_LIFECYCLE_EVENT_TYPE_SWITCHING = 2; // 0x2
2383    field public static final int USER_LIFECYCLE_EVENT_TYPE_UNLOCKED = 4; // 0x4
2384    field public static final int USER_LIFECYCLE_EVENT_TYPE_UNLOCKING = 3; // 0x3
2385    field public static final int USER_LIFECYCLE_EVENT_TYPE_VISIBLE = 10; // 0xa
2386  }
2387
2388  public static interface CarUserManager.UserHandleSwitchUiCallback {
2389    method public void onUserSwitchStart(@NonNull android.os.UserHandle);
2390  }
2391
2392  public static final class CarUserManager.UserLifecycleEvent {
2393    method public int getEventType();
2394    method @Nullable public android.os.UserHandle getPreviousUserHandle();
2395    method @NonNull public android.os.UserHandle getUserHandle();
2396  }
2397
2398  public static interface CarUserManager.UserLifecycleListener {
2399    method public void onEvent(@NonNull android.car.user.CarUserManager.UserLifecycleEvent);
2400  }
2401
2402  public final class UserCreationRequest implements android.os.Parcelable {
2403    method public int describeContents();
2404    method @Nullable public String getName();
2405    method public boolean isAdmin();
2406    method public boolean isEphemeral();
2407    method public boolean isGuest();
2408    method public void writeToParcel(@NonNull android.os.Parcel, int);
2409    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserCreationRequest> CREATOR;
2410  }
2411
2412  public static final class UserCreationRequest.Builder {
2413    ctor public UserCreationRequest.Builder();
2414    method @NonNull public android.car.user.UserCreationRequest build();
2415    method @NonNull public android.car.user.UserCreationRequest.Builder setAdmin();
2416    method @NonNull public android.car.user.UserCreationRequest.Builder setEphemeral();
2417    method @NonNull public android.car.user.UserCreationRequest.Builder setGuest();
2418    method @NonNull public android.car.user.UserCreationRequest.Builder setName(@NonNull String);
2419  }
2420
2421  public final class UserCreationResult implements android.os.Parcelable {
2422    method public int describeContents();
2423    method @Nullable public Integer getAndroidFailureStatus();
2424    method @Nullable public String getErrorMessage();
2425    method @Nullable public String getInternalErrorMessage();
2426    method public int getStatus();
2427    method @Nullable public android.os.UserHandle getUser();
2428    method public boolean isSuccess();
2429    method @NonNull public static String statusToString(int);
2430    method public void writeToParcel(@NonNull android.os.Parcel, int);
2431    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserCreationResult> CREATOR;
2432    field public static final int STATUS_ANDROID_FAILURE = 2; // 0x2
2433    field public static final int STATUS_HAL_FAILURE = 3; // 0x3
2434    field public static final int STATUS_HAL_INTERNAL_FAILURE = 4; // 0x4
2435    field public static final int STATUS_INVALID_REQUEST = 5; // 0x5
2436    field public static final int STATUS_SUCCESSFUL = 1; // 0x1
2437  }
2438
2439  public final class UserLifecycleEventFilter implements android.os.Parcelable {
2440    method public boolean apply(@NonNull android.car.user.CarUserManager.UserLifecycleEvent);
2441    method public int describeContents();
2442    method public void writeToParcel(@NonNull android.os.Parcel, int);
2443    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserLifecycleEventFilter> CREATOR;
2444  }
2445
2446  public static final class UserLifecycleEventFilter.Builder {
2447    ctor public UserLifecycleEventFilter.Builder();
2448    method @NonNull public android.car.user.UserLifecycleEventFilter.Builder addEventType(int);
2449    method @NonNull public android.car.user.UserLifecycleEventFilter.Builder addUser(@NonNull android.os.UserHandle);
2450    method @NonNull public android.car.user.UserLifecycleEventFilter build();
2451  }
2452
2453  public final class UserRemovalRequest implements android.os.Parcelable {
2454    method public int describeContents();
2455    method @NonNull public android.os.UserHandle getUserHandle();
2456    method public void writeToParcel(@NonNull android.os.Parcel, int);
2457    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserRemovalRequest> CREATOR;
2458  }
2459
2460  public static final class UserRemovalRequest.Builder {
2461    ctor public UserRemovalRequest.Builder(@NonNull android.os.UserHandle);
2462    method @NonNull public android.car.user.UserRemovalRequest build();
2463  }
2464
2465  public final class UserRemovalResult implements android.os.Parcelable {
2466    method public int describeContents();
2467    method public int getStatus();
2468    method public boolean isSuccess();
2469    method @NonNull public static String statusToString(int);
2470    method public void writeToParcel(@NonNull android.os.Parcel, int);
2471    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserRemovalResult> CREATOR;
2472    field public static final int STATUS_ANDROID_FAILURE = 2; // 0x2
2473    field public static final int STATUS_INVALID_REQUEST = 5; // 0x5
2474    field public static final int STATUS_SUCCESSFUL = 1; // 0x1
2475    field public static final int STATUS_SUCCESSFUL_LAST_ADMIN_REMOVED = 102; // 0x66
2476    field public static final int STATUS_SUCCESSFUL_LAST_ADMIN_SET_EPHEMERAL = 104; // 0x68
2477    field public static final int STATUS_SUCCESSFUL_SET_EPHEMERAL = 103; // 0x67
2478    field public static final int STATUS_USER_DOES_NOT_EXIST = 101; // 0x65
2479  }
2480
2481  public final class UserStartRequest implements android.os.Parcelable {
2482    method public int describeContents();
2483    method public int getDisplayId();
2484    method @NonNull public android.os.UserHandle getUserHandle();
2485    method public void writeToParcel(@NonNull android.os.Parcel, int);
2486    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserStartRequest> CREATOR;
2487  }
2488
2489  public static final class UserStartRequest.Builder {
2490    ctor public UserStartRequest.Builder(@NonNull android.os.UserHandle);
2491    method @NonNull public android.car.user.UserStartRequest build();
2492    method @NonNull public android.car.user.UserStartRequest.Builder setDisplayId(int);
2493  }
2494
2495  public final class UserStartResponse implements android.os.Parcelable {
2496    method public int describeContents();
2497    method public int getStatus();
2498    method public boolean isSuccess();
2499    method @NonNull public static String statusToString(int);
2500    method public void writeToParcel(@NonNull android.os.Parcel, int);
2501    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserStartResponse> CREATOR;
2502    field public static final int STATUS_ANDROID_FAILURE = 2; // 0x2
2503    field public static final int STATUS_DISPLAY_INVALID = 104; // 0x68
2504    field public static final int STATUS_DISPLAY_UNAVAILABLE = 105; // 0x69
2505    field public static final int STATUS_SUCCESSFUL = 1; // 0x1
2506    field public static final int STATUS_SUCCESSFUL_USER_ALREADY_VISIBLE_ON_DISPLAY = 103; // 0x67
2507    field public static final int STATUS_SUCCESSFUL_USER_IS_CURRENT_USER = 101; // 0x65
2508    field public static final int STATUS_UNSUPPORTED_PLATFORM_FAILURE = 7; // 0x7
2509    field public static final int STATUS_USER_ASSIGNED_TO_ANOTHER_DISPLAY = 107; // 0x6b
2510    field public static final int STATUS_USER_DOES_NOT_EXIST = 102; // 0x66
2511    field public static final int STATUS_USER_INVALID = 106; // 0x6a
2512  }
2513
2514  public final class UserStopRequest implements android.os.Parcelable {
2515    method public int describeContents();
2516    method @NonNull public android.os.UserHandle getUserHandle();
2517    method public boolean isForce();
2518    method public boolean isWithDelayedLocking();
2519    method public void writeToParcel(@NonNull android.os.Parcel, int);
2520    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserStopRequest> CREATOR;
2521  }
2522
2523  public static final class UserStopRequest.Builder {
2524    ctor public UserStopRequest.Builder(@NonNull android.os.UserHandle);
2525    method @NonNull public android.car.user.UserStopRequest build();
2526    method @NonNull public android.car.user.UserStopRequest.Builder setForce();
2527    method @NonNull public android.car.user.UserStopRequest.Builder withDelayedLocking(boolean);
2528  }
2529
2530  public final class UserStopResponse implements android.os.Parcelable {
2531    method public int describeContents();
2532    method public int getStatus();
2533    method public static boolean isSuccess(int);
2534    method public boolean isSuccess();
2535    method @NonNull public static String statusToString(int);
2536    method public void writeToParcel(@NonNull android.os.Parcel, int);
2537    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserStopResponse> CREATOR;
2538    field public static final int STATUS_ANDROID_FAILURE = 2; // 0x2
2539    field public static final int STATUS_FAILURE_CURRENT_USER = 103; // 0x67
2540    field public static final int STATUS_FAILURE_SYSTEM_USER = 102; // 0x66
2541    field public static final int STATUS_SUCCESSFUL = 1; // 0x1
2542    field public static final int STATUS_USER_DOES_NOT_EXIST = 101; // 0x65
2543  }
2544
2545  public final class UserSwitchRequest implements android.os.Parcelable {
2546    method public int describeContents();
2547    method @NonNull public android.os.UserHandle getUserHandle();
2548    method public void writeToParcel(@NonNull android.os.Parcel, int);
2549    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserSwitchRequest> CREATOR;
2550  }
2551
2552  public static final class UserSwitchRequest.Builder {
2553    ctor public UserSwitchRequest.Builder(@NonNull android.os.UserHandle);
2554    method @NonNull public android.car.user.UserSwitchRequest build();
2555  }
2556
2557  public final class UserSwitchResult implements android.os.Parcelable {
2558    method public int describeContents();
2559    method @Nullable public Integer getAndroidFailureStatus();
2560    method @Nullable public String getErrorMessage();
2561    method public int getStatus();
2562    method public boolean isSuccess();
2563    method @NonNull public static String statusToString(int);
2564    method public void writeToParcel(@NonNull android.os.Parcel, int);
2565    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserSwitchResult> CREATOR;
2566    field public static final int STATUS_ANDROID_FAILURE = 2; // 0x2
2567    field public static final int STATUS_HAL_FAILURE = 3; // 0x3
2568    field public static final int STATUS_HAL_INTERNAL_FAILURE = 4; // 0x4
2569    field public static final int STATUS_INVALID_REQUEST = 5; // 0x5
2570    field public static final int STATUS_NOT_LOGGED_IN = 105; // 0x69
2571    field public static final int STATUS_NOT_SWITCHABLE = 104; // 0x68
2572    field public static final int STATUS_OK_USER_ALREADY_IN_FOREGROUND = 101; // 0x65
2573    field public static final int STATUS_SUCCESSFUL = 1; // 0x1
2574    field public static final int STATUS_TARGET_USER_ABANDONED_DUE_TO_A_NEW_REQUEST = 103; // 0x67
2575    field public static final int STATUS_TARGET_USER_ALREADY_BEING_SWITCHED_TO = 102; // 0x66
2576    field public static final int STATUS_UX_RESTRICTION_FAILURE = 6; // 0x6
2577  }
2578
2579}
2580
2581package android.car.view {
2582
2583  public final class DisplayHelper {
2584    method public static int getPhysicalPort(@NonNull android.view.Display);
2585    method @Nullable public static String getUniqueId(@NonNull android.view.Display);
2586    field public static final int INVALID_PORT = -1; // 0xffffffff
2587  }
2588
2589  public final class MirroredSurfaceView extends android.view.SurfaceView {
2590    ctor public MirroredSurfaceView(@NonNull android.content.Context);
2591    ctor public MirroredSurfaceView(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
2592    ctor public MirroredSurfaceView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int);
2593    ctor public MirroredSurfaceView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int, int);
2594    method @MainThread @RequiresPermission(android.car.Car.PERMISSION_ACCESS_MIRRORRED_SURFACE) public boolean mirrorSurface(@NonNull android.os.IBinder);
2595    method @MainThread public void release();
2596    method @MainThread public void setObscuredTouchRegion(@Nullable android.graphics.Region);
2597  }
2598
2599  public final class WindowManagerHelper {
2600    method public static void setInputFeatureSpy(@NonNull android.view.WindowManager.LayoutParams);
2601    method @RequiresPermission(android.Manifest.permission.INTERNAL_SYSTEM_WINDOW) public static void setTrustedOverlay(@NonNull android.view.WindowManager.LayoutParams);
2602  }
2603
2604}
2605
2606package android.car.vms {
2607
2608  public final class VmsAssociatedLayer implements android.os.Parcelable {
2609    ctor public VmsAssociatedLayer(@NonNull android.car.vms.VmsLayer, @NonNull java.util.Set<java.lang.Integer>);
2610    method public int describeContents();
2611    method @NonNull public java.util.Set<java.lang.Integer> getProviderIds();
2612    method @Deprecated @NonNull public java.util.Set<java.lang.Integer> getPublisherIds();
2613    method @NonNull public android.car.vms.VmsLayer getVmsLayer();
2614    method public void writeToParcel(@NonNull android.os.Parcel, int);
2615    field @NonNull public static final android.os.Parcelable.Creator<android.car.vms.VmsAssociatedLayer> CREATOR;
2616  }
2617
2618  public final class VmsAvailableLayers implements android.os.Parcelable {
2619    ctor @Deprecated public VmsAvailableLayers(@NonNull java.util.Set<android.car.vms.VmsAssociatedLayer>, int);
2620    ctor public VmsAvailableLayers(int, @NonNull java.util.Set<android.car.vms.VmsAssociatedLayer>);
2621    method public int describeContents();
2622    method @NonNull public java.util.Set<android.car.vms.VmsAssociatedLayer> getAssociatedLayers();
2623    method @Deprecated public int getSequence();
2624    method public int getSequenceNumber();
2625    method public void writeToParcel(@NonNull android.os.Parcel, int);
2626    field @NonNull public static final android.os.Parcelable.Creator<android.car.vms.VmsAvailableLayers> CREATOR;
2627  }
2628
2629  public final class VmsClient {
2630    method @NonNull @RequiresPermission(anyOf={android.car.Car.PERMISSION_VMS_PUBLISHER, android.car.Car.PERMISSION_VMS_SUBSCRIBER}) public android.car.vms.VmsAvailableLayers getAvailableLayers();
2631    method @Nullable @RequiresPermission(anyOf={android.car.Car.PERMISSION_VMS_PUBLISHER, android.car.Car.PERMISSION_VMS_SUBSCRIBER}) public byte[] getProviderDescription(int);
2632    method @NonNull @RequiresPermission(anyOf={android.car.Car.PERMISSION_VMS_PUBLISHER, android.car.Car.PERMISSION_VMS_SUBSCRIBER}) public android.car.vms.VmsSubscriptionState getSubscriptionState();
2633    method @RequiresPermission(android.car.Car.PERMISSION_VMS_SUBSCRIBER) public boolean isMonitoringEnabled();
2634    method @RequiresPermission(android.car.Car.PERMISSION_VMS_PUBLISHER) public void publishPacket(int, @NonNull android.car.vms.VmsLayer, @NonNull byte[]);
2635    method @RequiresPermission(android.car.Car.PERMISSION_VMS_PUBLISHER) public int registerProvider(@NonNull byte[]);
2636    method @RequiresPermission(android.car.Car.PERMISSION_VMS_SUBSCRIBER) public void setMonitoringEnabled(boolean);
2637    method @RequiresPermission(android.car.Car.PERMISSION_VMS_PUBLISHER) public void setProviderOfferings(int, @NonNull java.util.Set<android.car.vms.VmsLayerDependency>);
2638    method @RequiresPermission(android.car.Car.PERMISSION_VMS_SUBSCRIBER) public void setSubscriptions(@NonNull java.util.Set<android.car.vms.VmsAssociatedLayer>);
2639    method @RequiresPermission(android.car.Car.PERMISSION_VMS_PUBLISHER) public void unregisterProvider(int);
2640  }
2641
2642  public final class VmsClientManager {
2643    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);
2644    method @RequiresPermission(anyOf={android.car.Car.PERMISSION_VMS_PUBLISHER, android.car.Car.PERMISSION_VMS_SUBSCRIBER}) public void unregisterVmsClientCallback(@NonNull android.car.vms.VmsClientManager.VmsClientCallback);
2645  }
2646
2647  public static interface VmsClientManager.VmsClientCallback {
2648    method public void onClientConnected(@NonNull android.car.vms.VmsClient);
2649    method public void onLayerAvailabilityChanged(@NonNull android.car.vms.VmsAvailableLayers);
2650    method public void onPacketReceived(int, @NonNull android.car.vms.VmsLayer, @NonNull byte[]);
2651    method public void onSubscriptionStateChanged(@NonNull android.car.vms.VmsSubscriptionState);
2652  }
2653
2654  public final class VmsLayer implements android.os.Parcelable {
2655    ctor public VmsLayer(int, int, int);
2656    method public int describeContents();
2657    method public int getChannel();
2658    method @Deprecated public int getSubtype();
2659    method public int getType();
2660    method public int getVersion();
2661    method public void writeToParcel(@NonNull android.os.Parcel, int);
2662    field @NonNull public static final android.os.Parcelable.Creator<android.car.vms.VmsLayer> CREATOR;
2663  }
2664
2665  public final class VmsLayerDependency implements android.os.Parcelable {
2666    ctor public VmsLayerDependency(@NonNull android.car.vms.VmsLayer);
2667    ctor public VmsLayerDependency(@NonNull android.car.vms.VmsLayer, @NonNull java.util.Set<android.car.vms.VmsLayer>);
2668    method public int describeContents();
2669    method @NonNull public java.util.Set<android.car.vms.VmsLayer> getDependencies();
2670    method @NonNull public android.car.vms.VmsLayer getLayer();
2671    method public void writeToParcel(@NonNull android.os.Parcel, int);
2672    field @NonNull public static final android.os.Parcelable.Creator<android.car.vms.VmsLayerDependency> CREATOR;
2673  }
2674
2675  @Deprecated public final class VmsLayersOffering implements android.os.Parcelable {
2676    ctor @Deprecated public VmsLayersOffering(@NonNull java.util.Set<android.car.vms.VmsLayerDependency>, int);
2677    method @Deprecated public int describeContents();
2678    method @Deprecated @NonNull public java.util.Set<android.car.vms.VmsLayerDependency> getDependencies();
2679    method @Deprecated public int getPublisherId();
2680    method @Deprecated public void writeToParcel(@NonNull android.os.Parcel, int);
2681    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.car.vms.VmsLayersOffering> CREATOR;
2682  }
2683
2684  @Deprecated public final class VmsOperationRecorder {
2685    method @Deprecated public void addHalSubscription(int, android.car.vms.VmsLayer);
2686    method @Deprecated public void addPromiscuousSubscription(int);
2687    method @Deprecated public void addSubscription(int, android.car.vms.VmsLayer);
2688    method @Deprecated public static android.car.vms.VmsOperationRecorder get();
2689    method @Deprecated public void getPublisherId(int);
2690    method @Deprecated public void removeHalSubscription(int, android.car.vms.VmsLayer);
2691    method @Deprecated public void removePromiscuousSubscription(int);
2692    method @Deprecated public void removeSubscription(int, android.car.vms.VmsLayer);
2693    method @Deprecated public void setHalPublisherLayersOffering(android.car.vms.VmsLayersOffering);
2694    method @Deprecated public void setLayersOffering(android.car.vms.VmsLayersOffering);
2695    method @Deprecated public void setPublisherLayersOffering(android.car.vms.VmsLayersOffering);
2696    method @Deprecated public void startMonitoring();
2697    method @Deprecated public void stopMonitoring();
2698    method @Deprecated public void subscribe(android.car.vms.VmsLayer);
2699    method @Deprecated public void subscribe(android.car.vms.VmsLayer, int);
2700    method @Deprecated public void unsubscribe(android.car.vms.VmsLayer);
2701    method @Deprecated public void unsubscribe(android.car.vms.VmsLayer, int);
2702  }
2703
2704  @Deprecated public abstract class VmsPublisherClientService extends android.app.Service {
2705    ctor @Deprecated public VmsPublisherClientService();
2706    method @Deprecated public final int getPublisherId(byte[]);
2707    method @Deprecated public final android.car.vms.VmsSubscriptionState getSubscriptions();
2708    method @Deprecated public android.os.IBinder onBind(android.content.Intent);
2709    method @Deprecated protected abstract void onVmsPublisherServiceReady();
2710    method @Deprecated public abstract void onVmsSubscriptionChange(@NonNull android.car.vms.VmsSubscriptionState);
2711    method @Deprecated public final void publish(@NonNull android.car.vms.VmsLayer, int, byte[]);
2712    method @Deprecated public final void setLayersOffering(@NonNull android.car.vms.VmsLayersOffering);
2713  }
2714
2715  @Deprecated public final class VmsSubscriberManager {
2716    method @Deprecated public void clearVmsSubscriberClientCallback();
2717    method @Deprecated @NonNull public android.car.vms.VmsAvailableLayers getAvailableLayers();
2718    method @Deprecated @NonNull public byte[] getPublisherInfo(int);
2719    method @Deprecated public void setVmsSubscriberClientCallback(@NonNull java.util.concurrent.Executor, @NonNull android.car.vms.VmsSubscriberManager.VmsSubscriberClientCallback);
2720    method @Deprecated public void startMonitoring();
2721    method @Deprecated public void stopMonitoring();
2722    method @Deprecated public void subscribe(@NonNull android.car.vms.VmsLayer);
2723    method @Deprecated public void subscribe(@NonNull android.car.vms.VmsLayer, int);
2724    method @Deprecated public void unsubscribe(@NonNull android.car.vms.VmsLayer);
2725    method @Deprecated public void unsubscribe(@NonNull android.car.vms.VmsLayer, int);
2726  }
2727
2728  @Deprecated public static interface VmsSubscriberManager.VmsSubscriberClientCallback {
2729    method @Deprecated public void onLayersAvailabilityChanged(@NonNull android.car.vms.VmsAvailableLayers);
2730    method @Deprecated public void onVmsMessageReceived(@NonNull android.car.vms.VmsLayer, byte[]);
2731  }
2732
2733  public final class VmsSubscriptionState implements android.os.Parcelable {
2734    ctor public VmsSubscriptionState(int, @NonNull java.util.Set<android.car.vms.VmsLayer>, @NonNull java.util.Set<android.car.vms.VmsAssociatedLayer>);
2735    method public int describeContents();
2736    method @NonNull public java.util.Set<android.car.vms.VmsAssociatedLayer> getAssociatedLayers();
2737    method @NonNull public java.util.Set<android.car.vms.VmsLayer> getLayers();
2738    method public int getSequenceNumber();
2739    method public void writeToParcel(@NonNull android.os.Parcel, int);
2740    field @NonNull public static final android.os.Parcelable.Creator<android.car.vms.VmsSubscriptionState> CREATOR;
2741  }
2742
2743}
2744
2745package android.car.watchdog {
2746
2747  public final class CarWatchdogManager {
2748    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);
2749    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_COLLECT_CAR_WATCHDOG_METRICS) public java.util.List<android.car.watchdog.ResourceOveruseStats> getAllResourceOveruseStats(int, int, int);
2750    method @NonNull @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_WATCHDOG_CONFIG) public java.util.List<android.car.watchdog.PackageKillableState> getPackageKillableStatesAsUser(@NonNull android.os.UserHandle);
2751    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);
2752    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);
2753    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_WATCHDOG) public void registerClient(@NonNull java.util.concurrent.Executor, @NonNull android.car.watchdog.CarWatchdogManager.CarWatchdogClientCallback, int);
2754    method @RequiresPermission(android.car.Car.PERMISSION_COLLECT_CAR_WATCHDOG_METRICS) public void removeResourceOveruseListenerForSystem(@NonNull android.car.watchdog.CarWatchdogManager.ResourceOveruseListener);
2755    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_WATCHDOG_CONFIG) public void setKillablePackageAsUser(@NonNull String, @NonNull android.os.UserHandle, boolean);
2756    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_WATCHDOG_CONFIG) public int setResourceOveruseConfigurations(@NonNull java.util.List<android.car.watchdog.ResourceOveruseConfiguration>, int);
2757    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_WATCHDOG) public void tellClientAlive(@NonNull android.car.watchdog.CarWatchdogManager.CarWatchdogClientCallback, int);
2758    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_WATCHDOG) public void unregisterClient(@NonNull android.car.watchdog.CarWatchdogManager.CarWatchdogClientCallback);
2759    field public static final int FLAG_MINIMUM_STATS_IO_100_MB = 2; // 0x2
2760    field public static final int FLAG_MINIMUM_STATS_IO_1_GB = 4; // 0x4
2761    field public static final int FLAG_MINIMUM_STATS_IO_1_MB = 1; // 0x1
2762    field public static final int RETURN_CODE_ERROR = -1; // 0xffffffff
2763    field public static final int RETURN_CODE_SUCCESS = 0; // 0x0
2764    field public static final int TIMEOUT_CRITICAL = 0; // 0x0
2765    field public static final int TIMEOUT_MODERATE = 1; // 0x1
2766    field public static final int TIMEOUT_NORMAL = 2; // 0x2
2767  }
2768
2769  public abstract static class CarWatchdogManager.CarWatchdogClientCallback {
2770    ctor public CarWatchdogManager.CarWatchdogClientCallback();
2771    method public boolean onCheckHealthStatus(int, int);
2772    method public void onPrepareProcessTermination();
2773  }
2774
2775  public final class IoOveruseAlertThreshold implements android.os.Parcelable {
2776    method public int describeContents();
2777    method public long getDurationInSeconds();
2778    method public long getWrittenBytesPerSecond();
2779    method public void writeToParcel(@NonNull android.os.Parcel, int);
2780    field @NonNull public static final android.os.Parcelable.Creator<android.car.watchdog.IoOveruseAlertThreshold> CREATOR;
2781  }
2782
2783  public final class IoOveruseConfiguration implements android.os.Parcelable {
2784    method public int describeContents();
2785    method @NonNull public java.util.Map<java.lang.String,android.car.watchdog.PerStateBytes> getAppCategorySpecificThresholds();
2786    method @NonNull public android.car.watchdog.PerStateBytes getComponentLevelThresholds();
2787    method @NonNull public java.util.Map<java.lang.String,android.car.watchdog.PerStateBytes> getPackageSpecificThresholds();
2788    method @NonNull public java.util.List<android.car.watchdog.IoOveruseAlertThreshold> getSystemWideThresholds();
2789    method public void writeToParcel(@NonNull android.os.Parcel, int);
2790    field @NonNull public static final android.os.Parcelable.Creator<android.car.watchdog.IoOveruseConfiguration> CREATOR;
2791  }
2792
2793  public static final class IoOveruseConfiguration.Builder {
2794    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>);
2795    method @NonNull public android.car.watchdog.IoOveruseConfiguration.Builder addAppCategorySpecificThresholds(@NonNull String, @NonNull android.car.watchdog.PerStateBytes);
2796    method @NonNull public android.car.watchdog.IoOveruseConfiguration.Builder addPackageSpecificThresholds(@NonNull String, @NonNull android.car.watchdog.PerStateBytes);
2797    method @NonNull public android.car.watchdog.IoOveruseConfiguration.Builder addSystemWideThresholds(@NonNull android.car.watchdog.IoOveruseAlertThreshold);
2798    method @NonNull public android.car.watchdog.IoOveruseConfiguration build();
2799    method @NonNull public android.car.watchdog.IoOveruseConfiguration.Builder setAppCategorySpecificThresholds(@NonNull java.util.Map<java.lang.String,android.car.watchdog.PerStateBytes>);
2800    method @NonNull public android.car.watchdog.IoOveruseConfiguration.Builder setComponentLevelThresholds(@NonNull android.car.watchdog.PerStateBytes);
2801    method @NonNull public android.car.watchdog.IoOveruseConfiguration.Builder setPackageSpecificThresholds(@NonNull java.util.Map<java.lang.String,android.car.watchdog.PerStateBytes>);
2802    method @NonNull public android.car.watchdog.IoOveruseConfiguration.Builder setSystemWideThresholds(@NonNull java.util.List<android.car.watchdog.IoOveruseAlertThreshold>);
2803  }
2804
2805  public final class PackageKillableState implements android.os.Parcelable {
2806    method public int describeContents();
2807    method public int getKillableState();
2808    method @NonNull public String getPackageName();
2809    method public int getUserId();
2810    method public void writeToParcel(@NonNull android.os.Parcel, int);
2811    field @NonNull public static final android.os.Parcelable.Creator<android.car.watchdog.PackageKillableState> CREATOR;
2812    field public static final int KILLABLE_STATE_NEVER = 3; // 0x3
2813    field public static final int KILLABLE_STATE_NO = 2; // 0x2
2814    field public static final int KILLABLE_STATE_YES = 1; // 0x1
2815  }
2816
2817  public final class ResourceOveruseConfiguration implements android.os.Parcelable {
2818    method public int describeContents();
2819    method public int getComponentType();
2820    method @Nullable public android.car.watchdog.IoOveruseConfiguration getIoOveruseConfiguration();
2821    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getPackagesToAppCategoryTypes();
2822    method @NonNull public java.util.List<java.lang.String> getSafeToKillPackages();
2823    method @NonNull public java.util.List<java.lang.String> getVendorPackagePrefixes();
2824    method public void writeToParcel(@NonNull android.os.Parcel, int);
2825    field public static final String APPLICATION_CATEGORY_TYPE_MAPS = "android.car.watchdog.app.category.MAPS";
2826    field public static final String APPLICATION_CATEGORY_TYPE_MEDIA = "android.car.watchdog.app.category.MEDIA";
2827    field public static final int COMPONENT_TYPE_SYSTEM = 1; // 0x1
2828    field public static final int COMPONENT_TYPE_THIRD_PARTY = 3; // 0x3
2829    field public static final int COMPONENT_TYPE_VENDOR = 2; // 0x2
2830    field @NonNull public static final android.os.Parcelable.Creator<android.car.watchdog.ResourceOveruseConfiguration> CREATOR;
2831  }
2832
2833  public static final class ResourceOveruseConfiguration.Builder {
2834    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>);
2835    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration.Builder addPackagesToAppCategoryTypes(@NonNull String, @NonNull String);
2836    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration.Builder addSafeToKillPackages(@NonNull String);
2837    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration.Builder addVendorPackagePrefixes(@NonNull String);
2838    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration build();
2839    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration.Builder setComponentType(int);
2840    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration.Builder setIoOveruseConfiguration(@NonNull android.car.watchdog.IoOveruseConfiguration);
2841    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration.Builder setPackagesToAppCategoryTypes(@NonNull java.util.Map<java.lang.String,java.lang.String>);
2842    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration.Builder setSafeToKillPackages(@NonNull java.util.List<java.lang.String>);
2843    method @NonNull public android.car.watchdog.ResourceOveruseConfiguration.Builder setVendorPackagePrefixes(@NonNull java.util.List<java.lang.String>);
2844  }
2845
2846}
2847
2848package android.car.wifi {
2849
2850  @FlaggedApi("android.car.feature.persist_ap_settings") public final class CarWifiManager {
2851    method @FlaggedApi("android.car.feature.persist_ap_settings") @RequiresPermission(android.car.Car.PERMISSION_READ_PERSIST_TETHERING_SETTINGS) public boolean canControlPersistTetheringSettings();
2852  }
2853
2854}
2855
2856