If reenableKeyguard() is called before the previous disableKeyguard() call is processed,
then TokenWatcher.sendNotificationLocked() will cancel the request, resulting in neither
the TokenWatcher acquired() or released() methods being called.
In that case, reenableKeyguard() will hang waiting for released() to set
mWaitingUntilKeyguardReenabled to false. Now we only wait in reenableKeyguard()
if the TokenWatcher acquired() method is called and the keyguard has actually been disabled.
This should fix bug b/2270192
Change-Id: Id886fb28df607dbb4543124f2db6997121d6a682
Signed-off-by: Mike Lockwood <lockwood@android.com>
Fixes b/2244560 (Time Stamp On Bug Reports And Pictures Is One Hour Off)
Change-Id: I69324a33f80e41ce68a0e6fdba08b80ed9453e19
Signed-off-by: Mike Lockwood <lockwood@android.com>
The cause of the problem is that under certain circumstance the HeadsetObserver receives unexpected connection events. For instance,
when removing a bad quality 3.5mm stereo jack without mic the following events can be received:
1 connection of a headset with mic
2 removal of a headset with mic.
The result is that the no mic headset is never disconnected and audio policy manager considers it is still present. Then the music or downlink call audio is always routed to headset even if none is connected giving the impression that audio is lost, except whne you reconnect a headset of enable speaker phone.
The fix consists in adding more checks in HeadsetObserver to reject illegal transitions in headset state received from event observer.
Add optional flag to Wakelock.release() to specify whether we should wait for proximity sensor to go negative before turning on the screen.
Clear the "waiting for proximity sensor to go negative" state when the power key is pressed.
Part of the fix for b/2243198 (Black screen lockup after ending call)
Change-Id: I813fdb7aa4192cd3384a25be9e59d7d4b90da53a
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit 'df7dbb68d330eae88c1ca6d03390dc8c18386871' into eclair-plus-aosp
* commit 'df7dbb68d330eae88c1ca6d03390dc8c18386871':
Fix bug 2252145 - Notification panel not closing completely when a call comes in
Merge commit 'f36b8f439babc141970b1207d1d9c12b7a14c468' into eclair-plus-aosp
* commit 'f36b8f439babc141970b1207d1d9c12b7a14c468':
This time for sure: make wallpapers work
Merge commit 'ab5efde8dcdfcafea7e9d95350e18022b1adc679' into eclair-plus-aosp
* commit 'ab5efde8dcdfcafea7e9d95350e18022b1adc679':
Work on issue 2259506: camera ANRed and then device runtime restarted
Merge commit '04c585e3bcb75c85ceeacf2fd94ea4194f332404' into eclair-plus-aosp
* commit '04c585e3bcb75c85ceeacf2fd94ea4194f332404':
Fix a race condition that resulted in the screen coming on without the brightness set to the correct value.
PowerManagerService: Hold a wakelock while mProximityTask is queued
Do not cancel screen brightness animation in forceUserActivityLocked unless screen is turning off.
Also not turn the screen on if PowerManager.preventScreenOn(false) is called while proximity sensor is active.
Fixes b/2254818 (dim display) where due to a race condition the screen is stuck in a dim state.
Change-Id: If6f805609c8d463631b9e22805e5242714ce34c0
Signed-off-by: Mike Lockwood <lockwood@android.com>
This prevents the device from sleeping while a deferred proximity sensor
event is pending.
Fixes b/2260005 (Proximity sensor can fail due to missing wakelock)
Change-Id: Ia4825f548b5b7d8a0b184f720b32c2f21b77b96e
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit '27d6e65b71f515deafbd93d5aa98732898c34ddf' into eclair-plus-aosp
* commit '27d6e65b71f515deafbd93d5aa98732898c34ddf':
Add support for making a LiveWallpaper the default
Merge commit '826d17c0690e086ed96f43714d731ec6e0ddcf96' into eclair-plus-aosp
* commit '826d17c0690e086ed96f43714d731ec6e0ddcf96':
A little more on #2256270: Package manager sends bad broadcasts when components change
Merge commit '6f5ba93469bc26f33b5a260a394406970536c260' into eclair-plus-aosp
* commit '6f5ba93469bc26f33b5a260a394406970536c260':
PackageManager: Support secondary ABI for native code at installation time.
The goal of this change is to allow the Package Manager to look for native
shared libraries corresponding to the CPU ABI reported by ro.product.cpu.abi2
if none was found for the CPU ABI given by ro.product.cpu.abi
This is used to support both ARMv5 and ARMv7 native code on modern ARMv7-based
devices. Typically, such a device would report a primary ABI of 'armeabi-v7a'
and a secondary one of 'armeabi', to indicate that it can run the binaries
generated for both.
The headset state indicated by HeadsetObserver in the broadcast intent ACTION_HEADSET_PLUG was not 0 or 1 as specified in the java doc but contained a bit field indicating the type of headset connected.
Modified HeadsetObserver to broacast a state conforming to java doc.
Added an extra to intent ACTION_HEADSET_PLUG to indicate if headset has a microphone or not.
Removed handling of non standard headset indications from HeadsetObserver.
Removed platform specific devices from output devices defined in AudioSystem.
Modified AudioService to use new ACTION_HEADSET_PLUG intent extra instead of bitfield in state.
Merge commit 'ddf157cae48a17e72e740538a981a63394ec2274' into eclair-plus-aosp
* commit 'ddf157cae48a17e72e740538a981a63394ec2274':
Don't back up system wallpapers.
Also reworks this intent protocol a little bit to be much more efficient, only
requiring one broadcast per package.
Change-Id: I580de4843ebd3c7f2e6df7295a2f80d2937cef7c
Merge commit '2ade6421f2d6dd615b559c951deace7143958b90' into eclair-plus-aosp
* commit '2ade6421f2d6dd615b559c951deace7143958b90':
Debugging for issue #2250075: Desk dock clock app sometimes doesn't
You can no longer receive CONFIGURATION_CHANGED in a manifest, which is really really
bad (launching apps every time the screen is rotated!). A new LOCALE_CHANGED broadcast
is sent that you can receive in a manifest.
Change-Id: I80022375f0716db2e672382a29db3cea1af74702
This adds a history of the last 100 broadcasts that is printed in the
debug log, to be able to see what recently happened at the time the
bug report was taken. Also does some optimization of the printing of
the broadcast records to make it feasible to print this number of
entries. (We kind-of need to do this because there are some broadcasts
like SIG_STR and SYNC_STATE_CHANGED that are being broadcast a LOT.)
Change-Id: I775e1ec0f63369c8bca8c83cee27b95ddc5ec450
Merge commit 'f1f26bbb2aa36f69f0efcac21ea27b1055b98a11' into eclair-plus-aosp
* commit 'f1f26bbb2aa36f69f0efcac21ea27b1055b98a11':
Do not force screen on when undocking from the desk dock.
The fact that the phone is losing power will do this anyway,
and this fixes (or works around) bug b/2250075
(Desk dock clock app sometimes doesn't exit when removing a sleeping droid from the dock)
Change-Id: I7b8b6cfb44ca16d2d9eb67589cb9d9a108a8de82
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit '250aa068eae7424d454fc65ea83c8a65ca717112' into eclair-plus-aosp
* commit '250aa068eae7424d454fc65ea83c8a65ca717112':
Fix issue #2248951: Need to turn off touch filtering outside of sholes