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