OSDN Git Service

Force a light to be set for the first time
authorOleksiy Avramchenko <oleksiy.avramchenko@sonymobile.com>
Tue, 25 Apr 2017 10:30:49 +0000 (12:30 +0200)
committerEd Savage-Jones <edward.savage-jones@sonymobile.com>
Tue, 2 May 2017 08:12:01 +0000 (08:12 +0000)
commit4f4939fb0468924a2d40e65a5bf78c3750d6589a
tree9c95e83d1134018bff6c50c903747060666ba3ea
parent3a8ad81ab42f030526cdf54d59a170d74478993e
Force a light to be set for the first time

The check in LightImpl::setLightLocked skips HAL call if light
parameters aren't changed. During initialization these parameters
are zeroed, thus it's not possible to turn the light off at the
startup.

As an example this fixes the issue with "stuck" battery light
in the following scenario:
1. Device has secure start-up option set (either pin or pattern).
2. Charger is connected at the startup and battery light shows the
   charging state on pin or pattern prompt.
3. Device is unlocked and charger disconnected after some time,
   e.g. after com.android.server.lights.LightsService restarted.
4. The battery light is not off and stuck in the previous state
   until charger is connected / disconnected again.

Bug: 37662368
Test: manual - follow the above step-by-step
Change-Id: I45470e945fe4d26d37a5641dfff3311968f51ee4
services/core/java/com/android/server/lights/LightsService.java