WINDOW_POS
What it is
Window Position
The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.
The minInt32Value indicates the window is closed/fully open out of plane. If the window cannot open out of plane, then minInt32Value is the position of the window when fully closed and must be 0. If the window can open out of plane, the minInt32Value indicates the window is fully open in its position out of plane and will be a negative value. See the example below for a more detailed explanation. The maxInt32Value indicates the window is fully open.
Values in between minInt32Value and maxInt32Value indicate a transition state between the closed/fully open out-of-plane and fully open positions.
This property is not in any particular unit but in a specified range of relative positions.
For example, this is how the property should work for a window that can move out of plane: For a window that may open out of plane (i.e. vent mode of sunroof) this parameter will work with negative values as follows: Max = sunroof completely open 0 = sunroof closed. Min = sunroof vent completely open
Note that in this mode, 0 indicates the window is closed.
This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to implement it as VehiclePropertyAccess.READ only.
How the ID is built
A property ID is a 32-bit value packing four fields. Reading 0x13400bc0 apart:
| Field | Mask | Value | Means |
|---|---|---|---|
| Group | 0xf0000000 | 0x10000000 | SYSTEM |
| Area | 0x0f000000 | 0x03000000 | WINDOW |
| Type | 0x00ff0000 | 0x00400000 | INT32 |
| Ordinal | 0x0000ffff | 0x00000bc0 | 0xbc0 |
Reading it from an app
CarPropertyManager mgr = (CarPropertyManager)
car.getCarManager(Car.PROPERTY_SERVICE);
int value =
mgr.getIntProperty(VehiclePropertyIds.WINDOW_POS, areaId);This property can be read and written, though an OEM may implement it as read-only. It fires a callback whenever the value changes.

