Package: android.hardware.light@2.0

types

Properties

Status

enum Status: int32_t
Details
Members
SUCCESS
LIGHT_NOT_SUPPORTED
BRIGHTNESS_NOT_SUPPORTED
UNKNOWN

Flash

enum Flash: int32_t
Details
Members
NONE
Keep the light steady on or off.
TIMED
Flash the light at specified rate.
HARDWARE
Flash the light using hardware assist.

Brightness

enum Brightness: int32_t
Details
Members
USER
Light brightness is managed by a user setting.
SENSOR
Light brightness is managed by a light sensor.
LOW_PERSISTENCE
Use a low-persistence mode for display backlights.
When set, the device driver must switch to a mode optimized for low display persistence that is intended to be used when the device is being treated as a head mounted display(HMD). The actual display brightness in this mode is implementation dependent, and any value set for color in LightState may be overridden by the HAL implementation.
For an optimal HMD viewing experience, the display must meet the following criteria in this mode:- Gray-to-Gray, White-to-Black, and Black-to-White switching time must be ≤ 3 ms.- The display must support low-persistence with ≤ 3.5 ms persistence.Persistence is defined as the amount of time for which a pixel is emitting light for a single frame.- Any "smart panel" or other frame buffering options that increase display latency are disabled.- Display brightness is set so that the display is still visible to the user under normal indoor lighting.- The display must update at 60 Hz at least, but higher refresh rates are recommended for low latency.

Type

enum Type: int32_t

These light IDs correspond to logical lights, not physical.So for example, if your INDICATOR light is in line with your BUTTONS, it might make sense to also light the INDICATOR light to a reasonable color when the BUTTONS are lit.

Details
Members
BACKLIGHT
KEYBOARD
BUTTONS
BATTERY
NOTIFICATIONS
ATTENTION
BLUETOOTH
WIFI
COUNT

LightState

struct LightState {uint32_t color; Flash flashMode; int32_t flashOnMs; int32_t flashOffMs; Brightness brightnessMode}

The parameters that can be set for a given light.

Not all lights must support all parameters.If you can do something backward-compatible, do it.

Details
Members
color
The color of the LED in ARGB.
Do your best here.- If your light can only do red or green, if they ask for blue, you should do green.- If you can only do a brightness ramp, then use this formula:unsigned char brightness =(( 77*(( color >> 16)&0x00ff)) +(150*(( color >> 8)&0x00ff)) +(29*(color&0x00ff)))>> 8;- If you can only do on or off, 0 is off, anything else is on.
The high byte should be ignored.Callers will set it to 0xff(which would correspond to 255 alpha).
flashMode
To flash the light at a given rate, set flashMode to LIGHT_FLASH_TIMED, and then flashOnMS should be set to the number of milliseconds to turn the light on, followed by the number of milliseconds to turn the light off.
flashOnMs
flashOffMs
brightnessMode