Commit Graph

1513 Commits

Author SHA1 Message Date
Jeff Brown
5487500cf3 Minor Alt-TAB / Recent Apps Dialog improvements.
Alt-TAB should have different semantics from the APP_SWITCH key
or long-press on HOME.  Accordingly, remove the fallback action
for Alt-TAB and initiate the task switching behavior directly
in the policy.

Modified RecentApplicationsDialog to be more precise about the
initial modifiers that it considers to be holding the dialog.

The dialog is now dismissed by a second press on the APP_SWITCH
key or by a second long press on HOME.

Change-Id: Idf4d803f51103819057cb655ff3b770b7729e4be
2011-04-06 15:38:05 -07:00
Jeff Brown
21bc5c917d Add a little input event consistency verifier.
The idea is to assist with debugging by identifying cases in which
the input event stream is corrupted.

Change-Id: I0a00e52bbe2716be1b3dfc7c02a754492d8e7f1f
2011-03-31 19:57:00 -07:00
Jeff Brown
0029c66203 Add input filter mechanism for accessibility.
This patch adds a mechanism for capturing, filtering, transforming
and injecting input events at a very low level before the input
dispatcher attempts to deliver them to applications.  At this time,
the mechanism is only intended to be used by the accessibility
system to implement built-in system-level accessibility affordances.

The accessibility input filter is currently just a stub.
It logs the input events receives and reinjects them unchanged,
except that it transforms KEYCODE_Q into KEYCODE_Z.

Currently, the accessibility input filter is installed whenever
accessibility is enabled.  We'll probably want to change that
so it only enables the input filter when a screen reader is
installed and we want touch exploration.

Change-Id: I35764fdf75522b69d09ebd78c9766eb7593c1afe
2011-03-30 16:55:15 -07:00
Christopher Tate
3d4bf17f49 Add view/drawable states for drag-accepting / drag-hovered
Added new drag_can_accept and drag_hovered XML attributes and the View
logic to support them.  Drawable states are now refreshed automatically
when a drag starts/ends and when a drag crosses the boundary of a
participating view.

Change-Id: I25f8ee02c83b3fa4f27201997d7eabf4be653fd8
2011-03-29 15:27:58 -07:00
satok
e3797a15fb Removed APIs for setCorrectionSpan from InputConnection
("setCorrectionSpan" was added in Id3abc9ea4d11753cd )

Also..
- Added a class java doc for CorrectionSpan
- Removed FLAG_DEFAULT
- Changed the return type of getSuggestions from Array<CharSequence> to String[]

Change-Id: If5eb091e307a7a40c5b4a70ec1fe6059ecd9fb2d
2011-03-26 07:20:34 +09:00
satok
c50232d517 Add hashCode to InputMethodInfo
The uniqueness of InputMethodInfo was guaranteed by mId (like InputMethodInfo#equals), but the hashCode was not implemented in the same way.
This change fixes a problem happening when the user gets the hashCode of InputMethodInfo obtained through IPC.

Change-Id: Ib876c5cb0d778481100597ec31202f94fb7b8f37
2011-03-26 06:12:58 +09:00
Jeff Brown
dff626c56a Merge "Added a hovered state for drawables." 2011-03-24 16:42:08 -07:00
PY Laligand
c33d8d49e4 Added a hovered state for drawables.
Change-Id: I2b12c8593e04e37c8eb748946ca6d4d7a61de36a
2011-03-24 16:14:08 -07:00
Romain Guy
ad575f4dda Merge "When deleting a path, remove it from the path cache. Bug #4170585" 2011-03-24 16:05:13 -07:00
Romain Guy
1af23a32d8 When deleting a path, remove it from the path cache.
Bug #4170585

Change-Id: I6be4d251ceb908c89afe49c2ff85c05f36c73b70
2011-03-24 16:03:55 -07:00
Michael Jurka
9c78930046 Merge "Fixing invalidate problems in software rendered mode" 2011-03-24 16:00:50 -07:00
Michael Jurka
d0872bd38a Fixing invalidate problems in software rendered mode 2011-03-24 15:45:27 -07:00
Jeff Brown
b7c25ce3ae Merge "Add MotionEvent.HOVER_ENTER and HOVER_EXIT." 2011-03-24 15:38:04 -07:00
Jeff Brown
a032cc0086 Add MotionEvent.HOVER_ENTER and HOVER_EXIT.
The input dispatcher sends a HOVER_ENTER to a window before dispatching
it any HOVER_MOVE events.  For compatibility reasons, the window will
*also* receive the HOVER_MOVE.  When the pointer moves into a different
window or the pointer goes down or when events are canceled for some reason,
the input dispatcher sends a HOVER_EXIT to the previously hovered window.

The view hierarchy behavior is similar.  All views under the pointer
receive onHoverEvent with HOVER_ENTER followed by any number of HOVER_MOVE
events.  When the pointer leaves a view, the view receives HOVER_EXIT.
Similarly, if a parent view decides to capture hover by returning true
from onHoverEvent, the hovered descendants will receive HOVER_EXIT.

The default behavior of onHoverEvent is to update the view's hovered
state by calling setHovered(true/false).  Views can query their current
hovered state using isHovered().

For testing purposes, the hovered state is mapped to the pressed
drawable state.  This will change in a subsequent commit with the
introduction of a new hovered drawable state.

Change-Id: Ib76a7a90236c8f2c7336e55773acade6346cacbe
2011-03-24 15:37:04 -07:00
Romain Guy
c5a43a249b Avoid NPE in postInvalidate().
Bug #4048131

Change-Id: I020400fc97015240924461674ca7bf8077059152
2011-03-24 13:28:56 -07:00
Romain Guy
13f35f3ce6 Correctly check bottom padding in setPadding().
Change-Id: Ie8099d37ad865acc559c4a4d34eb84960a1a19f3
2011-03-24 12:03:17 -07:00
Romain Guy
aaceeb0c5b Use the correct API to query system properties.
Change-Id: Ie120dee0e24959d4db3fdb0100b6d8fe7fe46cdb
2011-03-23 19:56:13 -07:00
Romain Guy
56215274f2 Apply color filters to bitmaps.
Change-Id: I36354a6a2d330b2e61ed2af12b6701b151880288
2011-03-23 16:55:38 -07:00
Romain Guy
566c33105a Remove unnecessary test.
Change-Id: I7cb797f4be70ecd40a65c51e92a8e8722e49dec2
2011-03-21 18:21:28 -07:00
Romain Guy
43e7aeb37e Merge "Add support for drawPoint() and drawPoints()." 2011-03-21 13:12:28 -07:00
Romain Guy
ed6fcb034b Add support for drawPoint() and drawPoints().
Change-Id: I01bef50c08ec3160f8d40dc060b2cf6c2e4d7639
2011-03-21 13:11:49 -07:00
Svetoslav Ganov
a3d17a753d Merge "Text in accessibility events not consistent" 2011-03-18 17:16:14 -07:00
Svetoslav Ganov
c0a8cd10a5 Text in accessibility events not consistent
bug:2513822

Text added to accessibility events is truncated to max
length. However, the fromIndex and toIndex properties
are relative to the text before being truncated, thus
potentially our of bound. Removed the max length
limitation because test very rarely is longer that
500 characters and in the cases in which text is longer
than 500 character it will not be a real problem to
pass a bit more data through an IPC (very rarely).

Change-Id: Ie70ac630dfeb56d4f59079abb2f46d07582796b6
2011-03-18 17:13:59 -07:00
Romain Guy
a168d73721 Correctly apply filters to Alpha8 bitmaps.
This change also removes unnecessary operations from display lists.

Change-Id: I627f85861982731f0ee7705b48b36d9c56f22f39
2011-03-18 16:50:13 -07:00
Adam Powell
7270f62c1f am 9cd93f09: am ea775ca3: am f8d1533b: Merge "Fix bug 4111271 and bug 4077526 - WebView touch event handling when WebCore is too slow" into honeycomb-mr1
* commit '9cd93f09d451afacb8fffeee5e71806e0f91cf31':
  Fix bug 4111271 and bug 4077526 - WebView touch event handling when WebCore is too slow
2011-03-17 01:41:30 -07:00
Adam Powell
ea775ca3ac am f8d1533b: Merge "Fix bug 4111271 and bug 4077526 - WebView touch event handling when WebCore is too slow" into honeycomb-mr1
* commit 'f8d1533b07b51935e295b2cf92e2ea2aa94b303f':
  Fix bug 4111271 and bug 4077526 - WebView touch event handling when WebCore is too slow
2011-03-17 01:38:15 -07:00
Adam Powell
d0197f3669 Fix bug 4111271 and bug 4077526 - WebView touch event handling when
WebCore is too slow

Make sure that we can recover properly from a bad gesture with missing
events that never come back from webcore. Lower timeout to 1 second.

Confirm movement on touch event enqueue so that we don't get phantom
taps or long presses when webcore is slow to respond.

Add sanity check in ScaleGestureDetector to end a gesture early on a
bad MotionEvent stream rather than throwing up.

Change-Id: I69690409d7edd6b4320dbcf3b052aba4023360fe
2011-03-17 01:32:17 -07:00
Jeff Brown
5949f89f3c Merge "Add 3D mode key and others." 2011-03-16 11:46:00 -07:00
Jeff Brown
9812aed276 Add 3D mode key and others.
Related to an AOSP change request.

Change-Id: I3f4f84b56a1af626a8783f5ecbb823eb12ba9fbe
2011-03-16 11:31:42 -07:00
Svetoslav Ganov
4ad45c4d15 Merge "Pressed state not cleared if view is disabled in long click handler" 2011-03-16 11:13:41 -07:00
satok
35267f178c Merge "Add CorrectionSpan and APIs to pass a secure CorrectionSpan to TextView" 2011-03-15 23:13:56 -07:00
satok
adb435835f Add CorrectionSpan and APIs to pass a secure CorrectionSpan to TextView
- CorrectionSpan is a span which has suggestions made by IME.
This has a function to change the current IME to other IME specified
in this span. For security reasons, only the current IME
is allowed to use this function through InputConnection.
(IME token is used for checking the validity of it.).

- CorrectionSpan stores following information:

flags, subtype Id, InputMethodInfo Id, suggests, locale, original string

Change-Id: Id3abc9ea4d11753cdc4f483a2bb3128f49ba198a
2011-03-16 14:44:37 +09:00
Svetoslav Ganov
77b80c06af Pressed state not cleared if view is disabled in long click handler
bug:2133127

If a View is disabled its onTouchEvent handler uses a shortcut
path for efficient handling which does not clear the pressed
flag. As a result if the view is disabled in a long click
handler the view keeps being in pressed state. The fix is to
clear if needed the pressed flag in the shortcut path
of onTouchEvent.

Change-Id: I046a62c2fce751c27fec3cfb756b74431fc003c3
2011-03-15 20:53:10 -07:00
Jeff Brown
843e29d375 Merge "Improve VelocityTracker numerical stability." 2011-03-15 20:01:16 -07:00
Jeff Brown
2ed2462aa2 Improve VelocityTracker numerical stability.
Replaced VelocityTracker with a faster and more accurate
native implementation.  This avoids the duplicate maintenance
overhead of having two implementations.

The new algorithm requires that the sample duration be at least
10ms in order to contribute to the velocity calculation.  This
ensures that the velocity is not severely overestimated when
samples arrive in bursts.

The new algorithm computes the exponentially weighted moving
average using weights based on the relative duration of successive
sample periods.

The new algorithm is also more careful about how it handles
individual pointers going down or up and their effects on the
collected movement traces.  The intent is to preserve the last
known velocity of pointers as they go up while also ensuring
that other motion samples do not count twice in that case.

Bug: 4086785
Change-Id: I2632321232c64d6b8faacdb929e33f60e64dcdd3
2011-03-15 19:59:47 -07:00
Brad Fitzpatrick
aaae0573bb am 403da3a7: am 8d25eab1: Merge "Releasing lock even if exception is thrown."
* commit '403da3a79af78920b33448bbc8d91c4b8aebf4a4':
  Releasing lock even if exception is thrown.
2011-03-15 12:05:40 -07:00
Brad Fitzpatrick
8d25eab105 Merge "Releasing lock even if exception is thrown." 2011-03-15 11:23:44 -07:00
Brad Fitzpatrick
8b5345fb36 Merge "Fixing self-assignment in copying code." 2011-03-15 11:18:18 -07:00
Romain Guy
ee7ace065f Merge "Fix rendering artifact in edge fades. Bug #4092053" into honeycomb-mr1 2011-03-14 18:16:39 -07:00
Romain Guy
7b5b6abf85 Fix rendering artifact in edge fades.
Bug #4092053

The problem always existed but was made visible by partial invalidation.
When saving a layer, the renderer would try to postpone glClear()
operations until the next drawing command. This however does not work
since the clip might have changed. The fix is rather simple and
simply gets rid of this "optimization" (that turned out to be
usless anyway given how View issues saveLayer() calls.)

This change also fixes an issue with gradients (color stops where
not properly computed when using a null stops array) and optimizes
display lists rendering (quickly rejects larger portions of the
tree to avoid executing unnecessary code.)

Change-Id: I0f5b5f6e1220d41a09cc2fa84c212b0b4afd9c46
2011-03-14 18:05:08 -07:00
Jim Miller
1b365921e8 Fix 3201849: Enable hardware acceleration in LockScreen WaveView [DO NOT MERGE]
Change-Id: I07bbed7843857158cd2c1ffd9b184bde7fd5860d
2011-03-10 17:20:21 -08:00
Jim Miller
7a9794e402 Merge "Fix 3201849: Enable hardware acceleration in LockScreen WaveView" 2011-03-10 14:04:05 -08:00
Jim Miller
3fa8a454f6 Fix 3201849: Enable hardware acceleration in LockScreen WaveView
Change-Id: Id64e82fe2e09ac231736d7867cd47b504d79b81b
2011-03-09 19:47:56 -08:00
Jeff Brown
efd3266b71 Input improvements and bug fixes.
Associate each motion axis with the source from which it comes.
It is possible for multiple sources of the same device to define
the same axis.  This fixes new API that was introduced in MR1.
(Bug: 4066146)

Fixed a bug that might cause a segfault when using a trackball.

Only fade out the mouse pointer when touching the touch screen,
ignore other touch pads.

Changed the plural "sources" to "source" in several places in
the InputReader where we intend to refer to a particular source
rather than to a combination of sources.

Improved the batching code to support batching events from different
sources of the same device in parallel.  (Bug: 3391564)

Change-Id: I0189e18e464338f126f7bf94370b928e1b1695f2
2011-03-09 18:30:28 -08:00
Jeff Brown
9626b14a28 Fix off by one errors in touch motion ranges. (DO NOT MERGE)
Report inclusive minimum and maximum ranges for all
axes including X and Y.

Set mouse pointer bounds to 0..width-1, 0..height-1.

Rotate touch and mouse positions more carefully, paying attention
to the maximum bounds when calculating the complement of an axis.

Simplified the InputReader somewhat and removed support for a
couple of poorly defined input device configuration parameters.
We now assume that the touch device provides useful absolute axis
ranges for the X and Y axes since the alternative does not actually
make sense.

Bug: 3413541
Change-Id: I121d28a125c4f9618cb283dc460d33ff1a907023
2011-03-09 02:46:45 -08:00
Romain Guy
3391435afd am 812dba1f: Merge "Prevents NPE when a View was detached Bug #4068284" into honeycomb-mr1
* commit '812dba1fcaa1a374124c2fe0694c1b4f21e3dea9':
  Prevents NPE when a View was detached Bug #4068284
2011-03-08 23:53:06 -08:00
Romain Guy
e294d41593 Prevents NPE when a View was detached
Bug #4068284

Change-Id: Ied1c9b8d32a3e9957c6b165642ba40bbdaf35d53
2011-03-08 17:35:10 -08:00
Romain Guy
1e415023ee am 3d7796c1: Merge "Correctly handle opaque fading views Bug #3475554" into honeycomb-mr1
* commit '3d7796c17ffae7892d1987053c3b6698697cffa2':
  Correctly handle opaque fading views Bug #3475554
2011-03-08 14:53:01 -08:00
Romain Guy
2243e555b0 Correctly handle opaque fading views
Bug #3475554

Change-Id: Ia4915ada67046486103dfc6f08e4dac8564f85dd
2011-03-08 11:46:28 -08:00
Romain Guy
d00353fe31 am bc8a8e8c: Merge "Add support for partial invalidates in WebView Bug #3461349" into honeycomb-mr1
* commit 'bc8a8e8c926115cb7b3910d016e5cff12b0f7b0a':
  Add support for partial invalidates in WebView Bug #3461349
2011-03-07 22:43:02 -08:00