From b63d94be3cac4b61cfed8bde69f8f3dfc6332682 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Wed, 20 Oct 2021 14:27:45 -0700 Subject: [PATCH] Change user flags to be bit map of flags. Remove UserFlags enum. Change the flag field in UserInfo to be bitmap of user flags. Test: None Bug: 202520478 Change-Id: Ia1837dde783b92dde830ee1244d38dfb684d546a --- .../automotive/vehicle/UserFlags.aidl | 44 --------------- .../hardware/automotive/vehicle/UserInfo.aidl | 8 ++- .../automotive/vehicle/UserFlags.aidl | 55 ------------------- .../hardware/automotive/vehicle/UserInfo.aidl | 37 ++++++++++++- 4 files changed, 41 insertions(+), 103 deletions(-) delete mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserFlags.aidl delete mode 100644 automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserFlags.aidl diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserFlags.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserFlags.aidl deleted file mode 100644 index 2b872abcdc..0000000000 --- a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserFlags.aidl +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2021 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. - */ -/////////////////////////////////////////////////////////////////////////////// -// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // -/////////////////////////////////////////////////////////////////////////////// - -// This file is a snapshot of an AIDL file. Do not edit it manually. There are -// two cases: -// 1). this is a frozen version file - do not edit this in any case. -// 2). this is a 'current' file. If you make a backwards compatible change to -// the interface (from the latest frozen version), the build system will -// prompt you to update this file with `m -update-api`. -// -// You must not make a backward incompatible change to any AIDL file built -// with the aidl_interface module type with versions property set. The module -// type is used to build AIDL files in a way that they can be used across -// independently updatable components of the system. If a device is shipped -// with such a backward incompatible change, it has a high risk of breaking -// later when a module using the interface is updated, e.g., Mainline modules. - -package android.hardware.automotive.vehicle; -@Backing(type="int") @VintfStability -enum UserFlags { - NONE = 0, - SYSTEM = 1, - GUEST = 2, - EPHEMERAL = 4, - ADMIN = 8, - DISABLED = 16, - PROFILE = 32, -} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserInfo.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserInfo.aidl index b9cf8948eb..b99272bf2a 100644 --- a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserInfo.aidl +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserInfo.aidl @@ -35,5 +35,11 @@ package android.hardware.automotive.vehicle; @VintfStability parcelable UserInfo { int userId = 0; - android.hardware.automotive.vehicle.UserFlags flags = android.hardware.automotive.vehicle.UserFlags.NONE; + int flags; + const int USER_FLAG_SYSTEM = 1; + const int USER_FLAG_GUEST = 2; + const int USER_FLAG_EPHEMERAL = 4; + const int USER_FLAG_ADMIN = 8; + const int USER_FLAG_DISABLED = 16; + const int USER_FLAG_PROFILE = 32; } diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserFlags.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserFlags.aidl deleted file mode 100644 index caa62dfa82..0000000000 --- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserFlags.aidl +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (C) 2021 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.hardware.automotive.vehicle; - -/** - * Flags used to define the characteristics of an Android user. - */ -@VintfStability -@Backing(type="int") -enum UserFlags { - /** - * No flags. - */ - NONE = 0x0, - /** - * System user. - * On automotive, that user is always running, although never on foreground (except during - * boot or exceptional circumstances). - */ - SYSTEM = 0x01, - /** - * Guest users have restrictions. - */ - GUEST = 0x02, - /** - * Ephemeral users have non-persistent state. - */ - EPHEMERAL = 0x04, - /** - * Admin users have additional privileges such as permission to create other users. - */ - ADMIN = 0x08, - /** - * Disabled users are marked for deletion. - */ - DISABLED = 0x10, - /** - * Profile user is a profile of another user. - */ - PROFILE = 0x20, -} diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserInfo.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserInfo.aidl index e96fa37743..e4ecc4b1ea 100644 --- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserInfo.aidl +++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserInfo.aidl @@ -16,13 +16,44 @@ package android.hardware.automotive.vehicle; -import android.hardware.automotive.vehicle.UserFlags; - /** * Information about a specific Android user. */ @VintfStability parcelable UserInfo { + /** + * System user. + * + * On automotive, that user is always running, although never on foreground (except during + * boot or exceptional circumstances). + */ + const int USER_FLAG_SYSTEM = 0x01; + /** + * Guest users have restrictions. + */ + const int USER_FLAG_GUEST = 0x02; + /** + * Ephemeral users have non-persistent state. + */ + const int USER_FLAG_EPHEMERAL = 0x04; + /** + * Admin users have additional privileges such as permission to create other users. + */ + const int USER_FLAG_ADMIN = 0x08; + /** + * Disabled users are marked for deletion. + */ + const int USER_FLAG_DISABLED = 0x10; + /** + * Profile user is a profile of another user. + */ + const int USER_FLAG_PROFILE = 0x20; + /* + * The user ID. + */ int userId = 0; - UserFlags flags = UserFlags.NONE; + /* + * Bitmask for the user flags defined above (USER_FLAG_*). + */ + int flags; }