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