44 Commits

Author SHA1 Message Date
Mike Lockwood
2d155d264e PowerManagerService: Fix bug resulting in backlights turning on while screen is off.
Fixes bugs b/2216879 and b/2197060

Change-Id: I5de3cbdbc0601dd7950dba74cacfff06d41ad18e
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-10-27 09:47:50 -04:00
Mike Lockwood
809ad0fce3 PowerManagerService: Clear Binder calling identity around calls to Sensor Manager.
This fixes a problem that resulted in bogus battery statistics for the prox and light sensors
due to the sensors being enabled in an app's context and disabled in the system context.

Fixes problems reported in bug b/2211960

Change-Id: Ib0d3d9d06f043b386d3b8d494b9bad5bd40bb6e1
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-10-26 22:12:06 -04:00
Mike Lockwood
3333fa4f3d PowerManagerService: Ensure that recent changes do not effect the hardware ALS case.
Change-Id: I42d2d1331c2a6234dfbdaa99f0cc8ab249f7ce22
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-10-26 14:52:00 -04:00
Mike Lockwood
6eb14c3038 PowerManagerService: Do not enable light sensor if hardware backlight management is being used.
Change-Id: Ic652ac22ec3256d71d12504148927349dfbd3384
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-10-24 19:43:38 -04:00
Mike Lockwood
3c9435a205 PowerManager: Don't poke user activity in setKeyboardVisibility unless the state actually changed.
Fixes bug b/2158297 (lock screen should time out after 7 seconds)

Change-Id: Ia3f7ef6464129ab78283923dbfd7f7472136e676
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-10-22 15:45:37 -04:00
Mike Lockwood
f003c0c15d PowerManagerService: Ignore user activity while the screen is animating off.
Fixes bug b/2202165 (Often I when pressing power to turn off I get the lock screen)

Change-Id: I53f8350203d57fbb5f143edc44985879caadd78f
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-10-21 23:06:56 -04:00
Mike Lockwood
fa68ab4fb0 PowerManagerService: Add missing synchronization in mAutoBrightnessTask.
Change-Id: Ie9b93253e991f709b223b28a9148be3b254fb273
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-10-20 11:08:49 -04:00
Mike Lockwood
6c97fcabbc Power Manager light sensor fixes:
Fix problem with ignored sensor events right after screen turns on.
Do not flash button backlights when device is booting.
Process the first light sensor change after waking the screen immediately rather than debouncing.
Cancel mAutoBrightnessTask when light sensor is disabled.

Change-Id: Iffc5e090b239432b7643812fa8ecb5f69da1679d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-10-20 08:56:52 -04:00
Mike Lockwood
d7786b41b7 Power Manager support for light sensor backlight management.
Change-Id: I470e2d7d12abf0dbfd31d84859b06bfae3cb36a1
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-10-19 22:30:34 -04:00
Mike Lockwood
8738e0c040 Register for light sensor events if non-hardware based auto-brightnees is enabled
Change-Id: I9521cf8b315306bdafa70c1500f2e4af83d94ec3
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-10-16 08:40:23 -07:00
Mike Lockwood
dc3494e3d8 Remove PowerManager.setAutoBrightness()
We will use the System.SCREEN_BRIGHTNESS_MODE Settings value instead.
Add SCREEN_BRIGHTNESS_MODE_MANUAL and SCREEN_BRIGHTNESS_MODE_AUTOMATIC constants.

Change-Id: I01935be3fcb48cf76392d2c594205cb47babc5b2
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-10-16 07:42:26 -07:00
Dianne Hackborn
aa80b60b59 Fix issue #2179931: Power key to wake up frequently ignored when in dock app
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
2009-10-09 17:38:26 -07:00
Mike Lockwood
94db928d8c PowerManager: Require proximity sensor value be less than Sensor.getMaximumRange()
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>
2009-09-22 00:20:10 -04:00
Dianne Hackborn
fe2bddfae1 Don't wake up the screen as soon as the lid opens.
We may need to wait until the lock screen is ready.

Change-Id: Id114f4f37051680ab880056b4c989b1fa8aa02b3
2009-09-21 17:39:15 -07:00
Mike Lockwood
200b30bba5 Wake the screen if the proximity wakelock is released while the proximity sensor is active.
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>
2009-09-20 00:23:59 -04:00
Mike Lockwood
c17f07aa04 Revert "Don't activate keyguard if screen is turned off while proximity sensor is active."
This reverts commit ddfe879b783ad72603308e28e8f683454464684e.
2009-09-17 11:58:01 -04:00
Mike Lockwood
237a29923a Move backlight brightness from HardwareService to PowerManager
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>
2009-09-15 15:47:09 -04:00
Mike Lockwood
d20ea369b2 PowerManagerService: Use 5 cm threshold for the proximity sensor.
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>
2009-09-15 02:29:28 -04:00
Dan Murphy
951764b970 Add automatic lighting control framework
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>
2009-09-15 02:29:15 -04:00
Mike Lockwood
a625b38cb3 PowerManagerService: Fix keyboard backlight support:
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>
2009-09-14 15:08:37 -04:00
Mike Lockwood
ddfe879b78 Don't activate keyguard if screen is turned off while proximity sensor is active.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-27 13:27:08 -07:00
Mike Lockwood
36fc302560 PowerManagerService: Disallow all user activity when in proximity wake lock.
Fixes b/2076756

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-27 11:07:49 -07:00
Mike Lockwood
06952d9299 DO NOT MERGE - cherry-picked from master:
PowerManager: Fix problem waking screen from negative proximity sensor events.

Fixes bug b/2048591

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-17 06:56:43 -04:00
David Brown
251faa6250 Display a helpful label for PROXIMITY_SCREEN_OFF_WAKE_LOCKs in the output
of "dumpsys power".
2009-08-02 22:04:36 -07:00
Mike Lockwood
bc706a03a2 PowerManager: Add proximity sensor support.
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>
2009-07-28 13:09:21 -07:00
Suchi Amalapurapu
fff2fda019 Fix memory leaks in system_server
unlink DeathRecipients in a whole bunch of places to avoid memory leaks
2009-07-01 12:55:30 -07:00
Michael Chan
e96440fa15 AI 148368: Decrease CPU usage by throttling touch events
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
2009-05-06 10:27:36 -07:00
Dianne Hackborn
617f877c06 AI 143800: am: CL 143748 Fix issue #1743326 (More battery stats)
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
2009-03-31 15:04:46 -07:00
Dianne Hackborn
9ed4a4b0d7 Automated import from //branches/donutburger/...@142722,142722 2009-03-25 17:10:37 -07:00
Joe Onorato
64c62ba503 Automated import from //branches/donutburger/...@141409,141409 2009-03-24 20:13:57 -07:00
Joe Onorato
e68ffcb576 Automated import from //branches/donutburger/...@140997,140997 2009-03-24 19:11:13 -07:00
Joe Onorato
128e729c49 Automated import from //branches/donutburger/...@140846,140846 2009-03-24 18:41:31 -07:00
The Android Open Source Project
105925376f auto import from //branches/cupcake_rel/...@140373 2009-03-18 17:39:46 -07:00
The Android Open Source Project
9066cfe988 auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
The Android Open Source Project
d83a98f4ce auto import from //depot/cupcake/@135843 2009-03-03 18:28:45 -08:00
The Android Open Source Project
076357b856 auto import from //depot/cupcake/@132589 2009-03-03 14:04:24 -08:00
The Android Open Source Project
3dec7d563a auto import from //depot/cupcake/@137055 2009-03-02 22:54:33 -08:00
The Android Open Source Project
15ab3eae2e auto import from //branches/cupcake/...@132569 2009-02-20 07:38:31 -08:00
The Android Open Source Project
3001a03543 auto import from //branches/cupcake/...@132276 2009-02-19 10:57:31 -08:00
The Android Open Source Project
da996f390e auto import from //branches/cupcake/...@131421 2009-02-13 12:57:50 -08:00
The Android Open Source Project
d24b8183b9 auto import from //branches/cupcake/...@130745 2009-02-10 15:44:00 -08:00
The Android Open Source Project
b798689749 auto import from //branches/cupcake/...@125939 2009-01-09 17:51:23 -08:00
The Android Open Source Project
f013e1afd1 Code drop from //branches/cupcake/...@124589 2008-12-17 18:05:43 -08:00
The Android Open Source Project
54b6cfa9a9 Initial Contribution 2008-10-21 07:00:00 -07:00