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
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 2b872ab..0000000
--- 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 <name>-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 b9cf894..b99272b 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 @@
@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 caa62df..0000000
--- 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 e96fa37..e4ecc4b 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;
}