The problem is due to spurious headset connection indications received from event observer when a 3.5mm headset w/o mic is connected.
In this particular case, The HeadsetObserver first received a valid indication of headset with mic connection, followed by a headset with mic disconnection and finally a headset w/o mic connection.
The HeadsetObserver delays the headset disconnection intent to leave time to music app to pause music before the output path is switched.
As the last headset w/o mic connection indication is received from the event observer before the intent corresponding to the spurious headset with mic disconnection is broadcast, the later is discarded. Results a state where the headset with mic is always considered as connected.
The fix consists in not canceling pending intents when a new headset state is received and carrying the HeadsetObserver state with the delayed message triggering the broacast of the disconnection intent.
Merge commit '9b52a2184e99565bcd7f77effb321c95a2a4837e' into eclair-plus-aosp
* commit '9b52a2184e99565bcd7f77effb321c95a2a4837e':
Fix#2269582 Sometimes camera preview screen is truncated
There were a few places in the window manager where we wouldn't cause
a layout after making a window visible. This would leave it using
whatever size and position it last have since we don't layout windows
when they are not visible.
Also includes a little part I missed in the security issue that
allowed wallpapers to see input on the lock screen.
Change-Id: Icd7e037ad9a67ac936bc7039d87ed68f49502d73
Make sure the application is always given the most recent configuration
when launcher. Use the current configuration, instead of whatever happens
to be set by the app, for reporting what it was launched with.
Change-Id: I2ffe306f56cc9092b640546dd0a28d2c29b9c0b3
Merge commit '2624fbcaaa74b3a6d8d60d22d9e16ef26a98a6b2' into eclair-plus-aosp
* commit '2624fbcaaa74b3a6d8d60d22d9e16ef26a98a6b2':
Fix#2320798: Device hang then runtime restart
The system_server process is deadlocking between event dispatch and window
manager code. This change fixes the lock scoping to eliminate the deadlock.
Change-Id: I00f029e4d51d7432119ad3aeec260df215b52546
...in setup wizard ->Wifi setup screen.
We were stopped waiting for the wallpaper to draw, which it would never do
because it had been obscured and thus hidden.
Change-Id: Ia48b3f2a46ca970f143cbaee99f5f2a054378986
Merge commit 'e851cdc6c48c977d05096847001a0601d892fd55' into eclair-plus-aosp
* commit 'e851cdc6c48c977d05096847001a0601d892fd55':
Fix#2313382: SECURITY: Live wallpapers get touch events through the lock screen.
This is a quick and dirty hack to not deliver touch events to the wallpaper when
they are being sent to the keyguard. Perhaps we should have a separate window
flag for this, but... bleah. Maybe later. Or maybe I'll use that secure flag.
Or something.
Change-Id: Ifd95b9f5b10db24a0854a93b925a833b24331b4c
Merge commit '9ae9763b7e5dd872619b13c889b72b0df176f956' into eclair-plus-aosp
* commit '9ae9763b7e5dd872619b13c889b72b0df176f956':
DO NOT MERGE Reverting change I53e91db7.
Merge commit '9d3cb9bfc6d7a5f340d2dd8132b201b933687564' into eclair-plus-aosp
* commit '9d3cb9bfc6d7a5f340d2dd8132b201b933687564':
Fix updating Bluetooth icon on status bar and for Wifi.
Accidentally submitted into eclair instead of eclair-mr2.
I apparently rebased my mr2 working dir to eclair by mistake.
Do not merge this so the desired change will survive on mr2 as intended.
bug: 2265222
Status bar uses the SINK_STATE_CHANGE intent to determine the icon.
This intent also has the device. Thus, we can get this intent for any
device and we update the icon wrongly. The same problem is with Wifi.
This was not commonly observed till now, but with the car dock changes
its easy to reproduce as we can get an incoming connection from the
car's bluetooth system. For Wifi, this will cause coexistance issues
especially with desk docks.
Dr No: Eastham
Bug: 2133530
Merge commit '90d1b745ec4a7ccd15cdcc185420bf2000b4f7a3' into eclair-plus-aosp
* commit '90d1b745ec4a7ccd15cdcc185420bf2000b4f7a3':
Filter out minor Connectivity Notifications.
Don't send a connectivity change notification if the change is in detailed state only.
IE, Disconnect/Idle -> Disconnect/Scanning should not trigger a connection change
notification.
bug: 2265222
Merge commit 'ae952b3bcc3eb744cceb5cd0ae65b2c7a83f9de7' into eclair-plus-aosp
* commit 'ae952b3bcc3eb744cceb5cd0ae65b2c7a83f9de7':
If the usage stats file doesn't exist in the first place there is no need to
Merge commit '8c411fb13923d1fa28fcd98452bf3d17b8b1a338' into eclair-plus-aosp
* commit '8c411fb13923d1fa28fcd98452bf3d17b8b1a338':
Add support for Car Dock.
Merge commit '678c2e35768a5426b4ad8f67c836008e7751a353' into eclair-plus-aosp
* commit '678c2e35768a5426b4ad8f67c836008e7751a353':
Add WindowManagerPolicy.OFF_BECAUSE_OF_PROX_SENSOR to indicate screen was turned off by the proximity sensor.
Part of a fix for bug b/2300622 (Proximity sensor always blows up the lock screen while in call)
Change-Id: I9ef888638b19540a78a34507d52ff522f505102f
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit '19a4157ce40f4ab77b60445b8e73069c5877bb8a' into eclair-plus-aosp
* commit '19a4157ce40f4ab77b60445b8e73069c5877bb8a':
Make the notification panel send the position as well.
Merge commit '9b7dba936c24fa7959561ddf1a0c8ba4d2165782' into eclair-plus-aosp
* commit '9b7dba936c24fa7959561ddf1a0c8ba4d2165782':
Implement new notification LED blinking logic:
1) Do not pulse notification LED when screen is on.
2) Pulse once on new notification if Settings.System.NOTIFICATION_LIGHT_PULSE is false,
otherwise pulse persistently while screen is off.
Fixes part of bug b/2238250 (trackball should pulse occasionally to indicate new email)
Change-Id: Icc49422a4e9d14412fc159a8e2596503a85bac51
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit 'abf7fed21bfa7eb899be558477d928a7c9f3e1f6' into eclair-plus-aosp
* commit 'abf7fed21bfa7eb899be558477d928a7c9f3e1f6':
Fix more of bug 2290852: Don't wake screen when bluetooth headset is connected or disconnected.
This fixes another case where the screen would turn on when the keyguard is open but hidden by another activity.
Change-Id: I2b7c8a329036401709e96ded4f4c138041192a71
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit 'bb3bb57a6330f71323fcd7e93e88dbdab55daec3' into eclair-plus-aosp
* commit 'bb3bb57a6330f71323fcd7e93e88dbdab55daec3':
Fix issue 2192673: Music Pausing Even when notifications are set to silent.
...Binary XML file line #37: Error inflating class <unknown> after adding a secondary account
The problem was that we weren't dealing well with the situation where we start a transition
from activity A to B, then transition back to A before B is shown (it finishes before being
shown), then transition from A to C. At this point we had some state showing that we
were in the process of showing A from it being hidden (due to the middle transition from
B to A), which would cause the layout pass to ensure its window is hidden before the
transition starts.
The solution is to detect the case where we are showing a token and it is already actually
shown, and in this case not do all of the token setup for it to wait for its windows to
be displayed before it is shown. This isn't needed, the windows are already displayed
or the token is already set up to wait for them to be displayed.
Change-Id: I16925b91e1e2449dd65ade162a5758173c6e2695
Merge commit '0d631b9b58db54bee58da717b38b8020bc3d0437' into eclair-plus-aosp
* commit '0d631b9b58db54bee58da717b38b8020bc3d0437':
Add logging of headset events to help debug issue.
Merge commit 'a0f9a4f73579c2afa4dd82499a69abce94a3f23f' into eclair-plus-aosp
* commit 'a0f9a4f73579c2afa4dd82499a69abce94a3f23f':
Fix issue 2265111: Loss of downlink audio while listening, and get a MT call.
Merge commit '8abd5f0d519afa787e7c64e429df17ccc661ce75' into eclair-plus-aosp
* commit '8abd5f0d519afa787e7c64e429df17ccc661ce75':
Fix issue #2267665 IME keyboard appears as Blank in compose view...