After the change that sends multi-touch to WebKit first, there is
a chance that the single-touch move event is handled before multi-
touch events are finished and this makes the page jumps.
This change skips those single-touch move events to avoid that.
Change-Id: I03992ef18c1de8e07933bd7cc6c12ffc02c014a8
In particular, if a new window was created out from under the drag,
the drag-move event dispatch logic would wind up blithly assuming
that it would find a valid touch-dispatchable window under the
finger. When this was untrue, it would NPE, but the NPE was caught
and discarded safely by higher-level guard code.
With this change, we now avoid the NPE entirely and report the
spurious condition as part of the debugging log stream.
(Also add the local-state object to DragEvent.toString()'s output.)
Change-Id: Idfa5f45d049e48415ee59c8b0ffb5b0ed4098ce3
list the purgatory, which shows windows that have been closed,
but for which the client still has references.
Change-Id: I5168bb88cb328d5d77d71d0871deb9190f493126
This might fix the bug where tapping outside the notification panel doesn't close it.
I'm not 100% sure because I can't reproduce this on-demand, but I think it's possible for
onSizeChanged to race with the animations and we end up with a bad rectangle. The time
I did see it happen was tapping above the title area right after canceling a notification,
so that could explain it I think.
Bug: 3339023
Change-Id: Ic3a7f4c059e7bf6f30b864a371a0912a6414edb7
Bug 3347962
Root cause of this problem: if the adapter's content gets updated by a backgroung
thread, the PopupDataSetObserver will call showDropDown which will popup the
list.
Added a flag to make this call show the popup iif it is already visible.
This relayout is needed to clear the mDataChanged flag set when the content was
modified and which otherwise prevents touch events on the result list.
ArrayAdapter didn't use its lock to protect access to mObject.
-------------------------------------------------
However, the study of the this race conditions revealed an other bug:
Updated adapter's content is not displayed in filtered AutoCompleteTextView
Bug 3369097
Change-Id: Icd90d452f98231866f4d8a1f6994c1492febecb9
The latter is an operation that otherwise could block on the datasource
for a significant amount of time. During that time we'd be unable to
abort the preparation phase without this prefill.
Change-Id: Ia42496d88a11314386ea8797d665bf4e94871e30
related-to-bug: 3362836
This prevents loss of delta calculation accurracy when dragging, which
was done in float and converted to integer.
issue: 3366067
Change-Id: Ia121a6ef4619c9abfb1f76a01db3272d41d02b81
1. ViewGroups being removed from the layout during a drag would wind up
crashing the app with an NPE at drag-ended time, due to blind dereference
of now-cleared object pointers.
2. Passing a 'null' ClipData to startDrag() would crash the system
process with an NPE. Should this even be valid? I'm inclined to say
yes, though it means that apps will need to guard against it.
Fixes bug 3369542
Change-Id: I168fc1284d6fd4403999946609725414cf254df0
When the AudioFlinger runs out of available AudioTracks (max 32),
the ToneGenerator constructor throws a RuntimeException. Although this
denotes an abnormal situation, VolumePanel should catch this exception.
Change-Id: Ida1312fe4857e99a0ef38b4013cb03e819405689