The dock app is forcing the screen to a particular brightness level. This
causes the window manager to often call into the power manager with the
new brightness. This causes us to go in to updateLightsLocked() to figure
out and apply the real brightness to use. When the screen is off the
real brightness always remains 0, but even if it didn't change from the
last one we would start an animation which would when done put the system
to sleep and fight with the user trying to turn the device on.
Now, if the new target brightness is the same as the last one, we leave the
animation as-is -- either running or not as appropriate.
Change-Id: I067d55ea2b39e294c5d5291587a4d8727c0b8083
This allows us to support binary proximity sensors that only return 0.0 and 1.0
Change-Id: Ifaf3a4e6fc720cb246ac3558e3e733b4b612c95b
Signed-off-by: Mike Lockwood <lockwood@android.com>
This fixes a problem that resulted in the screen staying off indefinitely if the prox sensor
is active at the beginning of a bluetooth call and could result in the screen staying off
in other similar circumstances.
Change-Id: Icfa0046d3179f9bb2247e7a3c1f9ff073312667a
Signed-off-by: Mike Lockwood <lockwood@android.com>
to prevent apps from changing the hardware behind its back.
Fixes b/2041941 Lock screen flashes the screen very bright before dimming
Change-Id: Ice757f7ae87902bdfb3634471cf44f020ebfaae4
Signed-off-by: Mike Lockwood <lockwood@android.com>
This eliminates the assumption that the proximity sensor will always return
zero distance when it is active.
Change-Id: I6245b074e4c42aeae3a181e6a5087554517046d2
Signed-off-by: Mike Lockwood <lockwood@android.com>
Add changes to have the ability to turn on and off the
automatic light sensing for the device. This is fully configurable
and is by default not present. Vendors should override the ALS setting
to enable the automatic lighting controls.
These changes will add a check box to the Brightness settings menu to give control
to the user to allow the device's display lighting to be controlled via the slide bar
or the auto lighting system.
If the user selects auto then the slide bar will become invisible. Manual mode
will present the slide bar to the user.
Change-Id: I146a6d75b99b08c9b839218ce6b85adf21f9fd73
Signed-off-by: Dan Murphy <D.Murphy@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
Turn off keyboard backlight immediately when keyboard is closed.
Changing keyboard visibility state signals user activity except in the case
where the keyboard is closed and the screen is already off.
Fixes bugs b/1351141 and b/1319625
Change-Id: If4bf2c1dd8e0c2bc08196e443b6103a6041f27e1
Signed-off-by: Mike Lockwood <lockwood@android.com>
Add new wakelock flag PROXIMITY_SCREEN_OFF_WAKE_LOCK.
If you create a wakelock with this flag, while the wakelock is acquired,
the screen will turn off automatically when the sensor detects an object close to the screen.
Removing the object will cause the screen to wake up again.
Added PowerManager.getSupportedWakeLockFlags(), which can be used to determine
if proximity screen off wakelocks are supported by the hardware.
Signed-off-by: Mike Lockwood <lockwood@android.com>
We are decreasing CPU usage at the cost of event latency. Events are queued up
and released to the app at the specified rate. You can
experiment with different values via:
adb shell setprop windowsmgr.max_events_per_sec 35
The new value is picked up when you let go and retouch the screen. No
reboot needed.
Also the following changes were made after profiling:
- In WindowManagerService, limit the call to userActivity() when we
have a flood touch events.
- In PowerManagerService, skip checking of permission if the caller
is system user.
- In PowerManagerService, integrated the functionality of gatherState()
into reactivateWakeLocksLocked(). They loop through the same data
structure and are called back to back.
BUG=1692771
Automated import of CL 148368
Adds stats for:
- Number of raw user events that have happened in the system.
- Number of times user activity has been reported, dividied by UID and type of activity.
- Duration of screen brightness levels in 4 buckets.
- Per-UID tracking of who has turned on Wifi and how long we can attribute it being on because of them.
Original author: hackbod
Merged from: //branches/cupcake/...
Automated import of CL 143800