• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Signature format: 2.0
2package android.car {
3
4  public final class Car {
5    field public static final String CAR_DEVICE_POLICY_SERVICE = "car_device_policy_service";
6    field public static final String CAR_TELEMETRY_SERVICE = "car_telemetry_service";
7    field public static final String CAR_USER_SERVICE = "car_user_service";
8    field @android.car.annotation.ApiRequirements(minCarVersion=android.car.annotation.ApiRequirements.CarVersion.TIRAMISU_1, minPlatformVersion=android.car.annotation.ApiRequirements.PlatformVersion.TIRAMISU_0) public static final String PROPERTY_EMULATED_PLATFORM_VERSION_MAJOR = "com.android.car.internal.debug.platform_major_version";
9    field @android.car.annotation.ApiRequirements(minCarVersion=android.car.annotation.ApiRequirements.CarVersion.TIRAMISU_1, minPlatformVersion=android.car.annotation.ApiRequirements.PlatformVersion.TIRAMISU_0) public static final String PROPERTY_EMULATED_PLATFORM_VERSION_MINOR = "com.android.car.internal.debug.platform_minor_version";
10  }
11
12  public final class CarAppFocusManager {
13    method public int[] getActiveAppTypes();
14  }
15
16  public class VehiclePropertyType {
17    field public static final int BOOLEAN = 2097152; // 0x200000
18    field public static final int BYTES = 7340032; // 0x700000
19    field public static final int FLOAT = 6291456; // 0x600000
20    field public static final int FLOAT_VEC = 6356992; // 0x610000
21    field public static final int INT32 = 4194304; // 0x400000
22    field public static final int INT32_VEC = 4259840; // 0x410000
23    field public static final int INT64 = 5242880; // 0x500000
24    field public static final int INT64_VEC = 5308416; // 0x510000
25    field public static final int MASK = 16711680; // 0xff0000
26    field public static final int MIXED = 14680064; // 0xe00000
27    field public static final int STRING = 1048576; // 0x100000
28  }
29
30}
31
32package android.car.admin {
33
34  public final class CarDevicePolicyManager {
35    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.car.admin.CreateUserResult createUser(@Nullable String, int);
36    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.car.admin.RemoveUserResult removeUser(@NonNull android.os.UserHandle);
37    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.car.admin.StartUserInBackgroundResult startUserInBackground(@NonNull android.os.UserHandle);
38    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.car.admin.StopUserResult stopUser(@NonNull android.os.UserHandle);
39    field public static final int USER_TYPE_ADMIN = 1; // 0x1
40    field public static final int USER_TYPE_GUEST = 2; // 0x2
41    field public static final int USER_TYPE_REGULAR = 0; // 0x0
42  }
43
44  public final class CreateUserResult {
45    method public int getStatus();
46    method @Nullable public android.os.UserHandle getUserHandle();
47    method public boolean isSuccess();
48    field public static final int STATUS_FAILURE_GENERIC = 100; // 0x64
49    field public static final int STATUS_FAILURE_INVALID_ARGUMENTS = 2; // 0x2
50    field public static final int STATUS_SUCCESS = 1; // 0x1
51  }
52
53  public final class RemoveUserResult {
54    method public int getStatus();
55    method public boolean isSuccess();
56    field public static final int STATUS_FAILURE_GENERIC = 100; // 0x64
57    field public static final int STATUS_FAILURE_INVALID_ARGUMENTS = 5; // 0x5
58    field public static final int STATUS_FAILURE_USER_DOES_NOT_EXIST = 4; // 0x4
59    field public static final int STATUS_SUCCESS = 1; // 0x1
60    field public static final int STATUS_SUCCESS_LAST_ADMIN_REMOVED = 2; // 0x2
61    field public static final int STATUS_SUCCESS_LAST_ADMIN_SET_EPHEMERAL = 6; // 0x6
62    field public static final int STATUS_SUCCESS_SET_EPHEMERAL = 3; // 0x3
63  }
64
65  public final class StartUserInBackgroundResult {
66    method public int getStatus();
67    method public boolean isSuccess();
68    field public static final int STATUS_FAILURE_GENERIC = 100; // 0x64
69    field public static final int STATUS_FAILURE_USER_DOES_NOT_EXIST = 3; // 0x3
70    field public static final int STATUS_SUCCESS = 1; // 0x1
71    field public static final int STATUS_SUCCESS_CURRENT_USER = 2; // 0x2
72  }
73
74  public final class StopUserResult {
75    method public int getStatus();
76    method public boolean isSuccess();
77    field public static final int STATUS_FAILURE_CURRENT_USER = 2; // 0x2
78    field public static final int STATUS_FAILURE_GENERIC = 100; // 0x64
79    field public static final int STATUS_FAILURE_SYSTEM_USER = 3; // 0x3
80    field public static final int STATUS_FAILURE_USER_DOES_NOT_EXIST = 4; // 0x4
81    field public static final int STATUS_SUCCESS = 1; // 0x1
82  }
83
84}
85
86package android.car.annotation {
87
88  @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 {
89    method public abstract android.car.annotation.ApiRequirements.CarVersion minCarVersion();
90    method public abstract android.car.annotation.ApiRequirements.PlatformVersion minPlatformVersion();
91  }
92
93  public enum ApiRequirements.CarVersion {
94    method public android.car.CarVersion get();
95    enum_constant public static final android.car.annotation.ApiRequirements.CarVersion TIRAMISU_0;
96    enum_constant public static final android.car.annotation.ApiRequirements.CarVersion TIRAMISU_1;
97    enum_constant public static final android.car.annotation.ApiRequirements.CarVersion TIRAMISU_2;
98    enum_constant public static final android.car.annotation.ApiRequirements.CarVersion TIRAMISU_3;
99  }
100
101  public enum ApiRequirements.PlatformVersion {
102    method public android.car.PlatformVersion get();
103    enum_constant public static final android.car.annotation.ApiRequirements.PlatformVersion TIRAMISU_0;
104    enum_constant public static final android.car.annotation.ApiRequirements.PlatformVersion TIRAMISU_1;
105    enum_constant public static final android.car.annotation.ApiRequirements.PlatformVersion TIRAMISU_2;
106    enum_constant public static final android.car.annotation.ApiRequirements.PlatformVersion TIRAMISU_3;
107  }
108
109}
110
111package android.car.app {
112
113  public final class CarActivityManager {
114    method @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_APP_LAUNCH) public int setPersistentActivity(@NonNull android.content.ComponentName, int, int);
115    field public static final int RESULT_FAILURE = -1; // 0xffffffff
116    field public static final int RESULT_INVALID_USER = -2; // 0xfffffffe
117    field public static final int RESULT_SUCCESS = 0; // 0x0
118  }
119
120}
121
122package android.car.content.pm {
123
124  public final class CarPackageManager {
125    method public void setEnableActivityBlocking(boolean);
126  }
127
128}
129
130package android.car.drivingstate {
131
132  public final class CarDrivingStateManager {
133    method public void injectDrivingState(int);
134  }
135
136}
137
138package android.car.hardware.power {
139
140  public class CarPowerManager {
141    method public static boolean isCompletionAllowed(int);
142  }
143
144}
145
146package android.car.media {
147
148  public final class CarAudioManager {
149    method @Deprecated public boolean isDynamicRoutingEnabled();
150  }
151
152}
153
154package android.car.telemetry {
155
156  public final class CarTelemetryManager {
157    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);
158    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void clearReportReadyListener();
159    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void getAllFinishedReports(@NonNull java.util.concurrent.Executor, @NonNull android.car.telemetry.CarTelemetryManager.MetricsReportCallback);
160    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);
161    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void removeAllMetricsConfigs();
162    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void removeMetricsConfig(@NonNull String);
163    method @RequiresPermission(android.car.Car.PERMISSION_USE_CAR_TELEMETRY_SERVICE) public void setReportReadyListener(@NonNull java.util.concurrent.Executor, @NonNull android.car.telemetry.CarTelemetryManager.ReportReadyListener);
164    field public static final int STATUS_ADD_METRICS_CONFIG_ALREADY_EXISTS = 1; // 0x1
165    field public static final int STATUS_ADD_METRICS_CONFIG_PARSE_FAILED = 3; // 0x3
166    field public static final int STATUS_ADD_METRICS_CONFIG_SIGNATURE_VERIFICATION_FAILED = 4; // 0x4
167    field public static final int STATUS_ADD_METRICS_CONFIG_SUCCEEDED = 0; // 0x0
168    field public static final int STATUS_ADD_METRICS_CONFIG_UNKNOWN = 5; // 0x5
169    field public static final int STATUS_ADD_METRICS_CONFIG_VERSION_TOO_OLD = 2; // 0x2
170    field public static final int STATUS_GET_METRICS_CONFIG_DOES_NOT_EXIST = 4; // 0x4
171    field public static final int STATUS_GET_METRICS_CONFIG_FINISHED = 0; // 0x0
172    field public static final int STATUS_GET_METRICS_CONFIG_INTERIM_RESULTS = 2; // 0x2
173    field public static final int STATUS_GET_METRICS_CONFIG_PENDING = 1; // 0x1
174    field public static final int STATUS_GET_METRICS_CONFIG_RUNTIME_ERROR = 3; // 0x3
175  }
176
177  public static interface CarTelemetryManager.AddMetricsConfigCallback {
178    method public void onAddMetricsConfigStatus(@NonNull String, int);
179  }
180
181  public static interface CarTelemetryManager.MetricsReportCallback {
182    method public void onResult(@NonNull String, @Nullable android.os.PersistableBundle, @Nullable byte[], int);
183  }
184
185  public static interface CarTelemetryManager.ReportReadyListener {
186    method public void onReady(@NonNull String);
187  }
188
189}
190
191package android.car.test {
192
193  public final class CarTestManager {
194    ctor public CarTestManager(@NonNull android.car.Car, @NonNull android.os.IBinder);
195    method @android.car.annotation.ApiRequirements(minCarVersion=android.car.annotation.ApiRequirements.CarVersion.TIRAMISU_2, minPlatformVersion=android.car.annotation.ApiRequirements.PlatformVersion.TIRAMISU_0) @RequiresPermission(android.car.Car.PERMISSION_CAR_TEST_SERVICE) public String getOemServiceName() throws android.os.RemoteException;
196    method @RequiresPermission(android.car.Car.PERMISSION_CAR_TEST_SERVICE) public void startCarService(@NonNull android.os.IBinder);
197    method @RequiresPermission(android.car.Car.PERMISSION_CAR_TEST_SERVICE) public void stopCarService(@NonNull android.os.IBinder);
198  }
199
200}
201
202package android.car.user {
203
204  public final class CarUserManager {
205    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);
206    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);
207    method public static String lifecycleEventTypeToString(int);
208    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);
209    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.car.util.concurrent.AsyncFuture<android.car.user.UserSwitchResult> switchUser(int);
210    field public static final int USER_LIFECYCLE_EVENT_TYPE_STARTING = 1; // 0x1
211    field public static final int USER_LIFECYCLE_EVENT_TYPE_STOPPED = 6; // 0x6
212    field public static final int USER_LIFECYCLE_EVENT_TYPE_STOPPING = 5; // 0x5
213    field public static final int USER_LIFECYCLE_EVENT_TYPE_SWITCHING = 2; // 0x2
214    field public static final int USER_LIFECYCLE_EVENT_TYPE_UNLOCKED = 4; // 0x4
215    field public static final int USER_LIFECYCLE_EVENT_TYPE_UNLOCKING = 3; // 0x3
216  }
217
218  public static final class CarUserManager.UserLifecycleEvent {
219    method public int getEventType();
220    method @Nullable public android.os.UserHandle getPreviousUserHandle();
221    method @NonNull public android.os.UserHandle getUserHandle();
222  }
223
224  public static interface CarUserManager.UserLifecycleListener {
225    method public void onEvent(@NonNull android.car.user.CarUserManager.UserLifecycleEvent);
226  }
227
228  public final class UserLifecycleEventFilter implements android.os.Parcelable {
229    method public boolean apply(@NonNull android.car.user.CarUserManager.UserLifecycleEvent);
230    method public int describeContents();
231    method public void writeToParcel(@NonNull android.os.Parcel, int);
232    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserLifecycleEventFilter> CREATOR;
233  }
234
235  public final class UserSwitchResult implements android.os.Parcelable {
236    method public int describeContents();
237    method @Nullable public String getErrorMessage();
238    method public int getStatus();
239    method public boolean isSuccess();
240    method public void writeToParcel(@NonNull android.os.Parcel, int);
241    field @NonNull public static final android.os.Parcelable.Creator<android.car.user.UserSwitchResult> CREATOR;
242    field public static final int STATUS_ANDROID_FAILURE = 2; // 0x2
243    field public static final int STATUS_HAL_FAILURE = 3; // 0x3
244    field public static final int STATUS_HAL_INTERNAL_FAILURE = 4; // 0x4
245    field public static final int STATUS_INVALID_REQUEST = 5; // 0x5
246    field public static final int STATUS_NOT_LOGGED_IN = 105; // 0x69
247    field public static final int STATUS_NOT_SWITCHABLE = 104; // 0x68
248    field public static final int STATUS_OK_USER_ALREADY_IN_FOREGROUND = 101; // 0x65
249    field public static final int STATUS_SUCCESSFUL = 1; // 0x1
250    field public static final int STATUS_TARGET_USER_ABANDONED_DUE_TO_A_NEW_REQUEST = 103; // 0x67
251    field public static final int STATUS_TARGET_USER_ALREADY_BEING_SWITCHED_TO = 102; // 0x66
252    field public static final int STATUS_UX_RESTRICTION_FAILURE = 6; // 0x6
253  }
254
255}
256
257package android.car.util.concurrent {
258
259  public interface AsyncFuture<T> {
260    method @Nullable public T get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
261    method @Nullable public T get(long, @NonNull java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
262    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);
263  }
264
265}
266
267