Skip to content
Vehicle properties
Windshield & wipers

WINDSHIELD_WIPERS_SWITCH

What it is

Windshield wipers switch.

Represents the position of the switch controlling the windshield wipers. The value of WINDSHIELD_WIPERS_SWITCH may not match the value of WINDSHIELD_WIPERS_STATE (e.g. WINDSHIELD_WIPERS_SWITCH = AUTO and WINDSHIELD_WIPERS_STATE = WindshieldWipersState#ON).

For each supported area ID, the VehicleAreaConfig#supportedEnumValues array must be defined unless all states in WindshieldWipersSwitch are supported (including OTHER, which is not recommended).

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to implement it as VehiclePropertyAccess.READ only.

If this property is implemented as VehiclePropertyAccess.READ_WRITE and the OTHER state is listed in the VehicleAreaConfig#supportedEnumValues array, then OTHER is not a supported value for writing. It is only a supported value for reading.

How the ID is built

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

FieldMaskValueMeans
Group0xf00000000x10000000SYSTEM
Area0x0f0000000x03000000WINDOW
Type0x00ff00000x00400000INT32
Ordinal0x0000ffff0x00000bc70xbc7

Reading it from an app

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

int value =
        mgr.getIntProperty(VehiclePropertyIds.WINDSHIELD_WIPERS_SWITCH, 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.