/* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.car.user; /** * * @hide */ @SystemApi public final class Test1 { /** @hide */ @AddedInOrBefore(majorVersion = 33) public static final String FIELD_1 = "value1"; public static final int FIELD_2 = 500; /** * @hide */ @SystemApi @AddedIn(majorVersion = 33) @RequiresApi(api=34) public static final int FIELD_3; /** * @hide */ @SystemApi @AddedIn(PlatformVersion.TIRAMISU_0) @RequiresApi(api=Build.VERSION_CODES.UPSIDE_DOWN_CAKE) public static final int FIELD_4 = 2; /** * @hide */ @SystemApi @RequiresApi(34) @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0, minPlatformVersion = ApiRequirements.PlatformVersion.UPSIDE_DOWN_CAKE_0) public static final int FIELD_5 = 2; /** * @hide */ @SystemApi @AddedInOrBefore(majorVersion = 33, minorVersion = 3) @AddedIn(majorVersion = 33) @AddedIn(value=PlatformVersion.TIRAMISU_0) @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0, minPlatformVersion = ApiRequirements.PlatformVersion.UPSIDE_DOWN_CAKE_0) @RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) public static final int FIELD_6 = 2; /** * @hide */ public Test1(@NonNull Car car, @NonNull IBinder service) { this(car, ICarUserService.Stub.asInterface(service), car.getContext().getSystemService(UserManager.class)); } /** * @hide */ @SystemApi @RequiresPermission(anyOf = {android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0, minPlatformVersion = ApiRequirements.PlatformVersion.UPSIDE_DOWN_CAKE_0) public void method_1(@NonNull UserStopRequest request, @NonNull @CallbackExecutor Executor executor, @NonNull ResultCallback<UserStopResponse> callback) { UserStopResponse response = mService.stopUser(request); executor.execute(() -> callback.onResult(response)); } private AndroidAsyncFuture<UserSwitchResult> privateMethod( @UserSwitchResult.Status int status) { AndroidFuture<UserSwitchResult> future = new AndroidFuture<>(); future.complete(new UserSwitchResult(status, null)); return new AndroidAsyncFuture<>(future); } /** * @hide */ @Deprecated @RequiresPermission(anyOf = {android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) @AddedInOrBefore(majorVersion = 33) public void method_2() { Log.w(TAG, "updatePreCreatedUsers(): This method should not be called." + " Pre-created users are no longer supported."); } @Deprecated @RequiresPermission(anyOf = {android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) @AddedInOrBefore(majorVersion = 33) @RequiresApi(34) public int method_3() { Log.w(TAG, "updatePreCreatedUsers(): This method should not be called." + " Pre-created users are no longer supported."); return 0; } /** * @hide */ @SystemApi @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0, minPlatformVersion = ApiRequirements.PlatformVersion.UPSIDE_DOWN_CAKE_0) public int method_4() { assertPlatformVersionAtLeastU(); return 0; } public static final class UserLifecycleEvent { private final @UserLifecycleEventType int mEventType; private final @UserIdInt int mUserId; private final @UserIdInt int mPreviousUserId; /** @hide */ public UserLifecycleEvent(@UserLifecycleEventType int eventType, @UserIdInt int from, @UserIdInt int to) { mEventType = eventType; mPreviousUserId = from; mUserId = to; } public UserLifecycleEvent(@UserLifecycleEventType int eventType, @UserIdInt int to) { this(eventType, UserManagerHelper.USER_NULL, to); } @UserLifecycleEventType @AddedInOrBefore(majorVersion = 33) public int getEventType() { return mEventType; } /** * @hide */ @SystemApi public interface UserLifecycleListener2 { @AddedInOrBefore(majorVersion = 33) void onEvent(@NonNull UserLifecycleEvent event); } } /** * @hide */ @SystemApi public interface UserLifecycleListener { @AddedInOrBefore(majorVersion = 33) void onEvent(@NonNull UserLifecycleEvent event); } }