Skip to content
Vehicle properties
Users & security

REMOVE_USER

What it is

Called by the Android System after an Android user was removed.

The HAL can use this property to remove its equivalent user.

This is write-only call - the Android System is not expecting a reply from the HAL. Hence, this request should not fail - if the equivalent HAL user cannot be removed, then HAL should mark it as inactive or recover in some other way.

The request is made by setting the VehiclePropValue with the contents defined by RemoveUserRequest.

For example, if system had 3 users (0, 10, and 11) and user 11 was removed, the request would be:

int32[0]: 42 // request id int32[1]: 11 // (Android user id of the removed user) int32[2]: 0 // (Android user flags of the removed user) int32[3]: 10 // current user int32[4]: 0 // current user flags (none) int32[5]: 2 // number of users int32[6]: 0 // 1st user (user 0) int32[7]: 0 // 1st user flags (none) int32[8]: 10 // 2nd user (user 10) int32[9]: 0 // 2nd user flags (none)

How the ID is built

A property ID is a 32-bit value packing four fields. Reading 0x11e00f0a apart:

FieldMaskValueMeans
Group0xf00000000x10000000SYSTEM
Area0x0f0000000x01000000GLOBAL
Type0x00ff00000x00e00000MIXED
Ordinal0x0000ffff0x00000f0a0xf0a

Reading it from an app

CarPropertyManager mgr = (CarPropertyManager)
        car.getCarManager(Car.PROPERTY_SERVICE);

mgr.setProperty(Object.class,
        VehiclePropertyIds.REMOVE_USER, 0, value);

This property is write-only — it cannot be read back. It is static for the life of the vehicle, so read it once and cache it.