Skip to content
Vehicle properties
Lights

TURN_SIGNAL_LIGHT_STATE

What it is

Turn signal light state.

This property must communicate the actual state of the turn signal lights.

Examples: 1) Left turn signal light is currently pulsing, right turn signal light is currently off. This property must return VehicleTurnSignal.LEFT while the light is on during the pulse, and VehicleTurnSignal.NONE when it is off during the pulse. 2) Right turn signal light is currently pulsing, left turn signal light is currently off. This property must return VehicleTurnSignal.RIGHT while the light is on during the pulse, and VehicleTurnSignal.NONE when it is off during the pulse. 3) Both turn signal lights are currently pulsing (e.g. when hazard lights switch is on). This property must return VehicleTurnSignal.LEFT | VehicleTurnSignal.RIGHT while the lights are on during the pulse, and VehicleTurnSignal.NONE when they are off during the pulse.

Note that this property uses VehicleTurnSignal as a bit flag, unlike TURN_SIGNAL_SWITCH, which uses it like a regular enum. This means this property can support ORed together values in VehicleTurnSignal.

This is different from the function of TURN_SIGNAL_SWITCH, which must communicate the state of the turn signal lever/switch.

This property is a replacement to the TURN_SIGNAL_STATE property, which is now deprecated.

How the ID is built

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

FieldMaskValueMeans
Group0xf00000000x10000000SYSTEM
Area0x0f0000000x01000000GLOBAL
Type0x00ff00000x00400000INT32
Ordinal0x0000ffff0x000004100x410

Reading it from an app

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

int value =
        mgr.getIntProperty(VehiclePropertyIds.TURN_SIGNAL_LIGHT_STATE, 0);

This property is read-only — writes are rejected. It fires a callback whenever the value changes.