8ce2a538d9b94a0d8e1543c4ee4620a8af525276 |
|
26-Nov-2015 |
Yohei Yukawa <yukawa@google.com> |
Use Context.getSystemService(Class<T>) for InputManager. This is a mechanical replacement of Context.getSystemService(String) with Context.getSystemService(Class<T>) when retrieving InputManager. Note those are bundled code. Hence we don't need to make sure Build.VERSION.SDK_INT >= 23. Change-Id: Iee47e374e1349720e3100bab33ed139e1f47c169
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
c9c487e6d6e9cf91e8ad30958ddf361158815cab |
|
08-Nov-2013 |
Michael Wright <michaelwr@google.com> |
Remove unnecessary input event indirection Rather than have a class whose sole job is to pass messages to PointerLocationView, just have it consume them itself. Change-Id: I889ce35d99852f746499c0585dc7c43378b4c3a0
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
76936eb96acdaf7feb221000be3e0d154fa5000c |
|
22-Jun-2013 |
Michael Wright <michaelwr@google.com> |
Paint current points a different color in PointerLocation Change-Id: I05be4ce1886f944cd948ded4d9ace08d70cdb00e
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
2f1cd7e68bc1f45243191f63984523ba6d36b590 |
|
12-Jun-2013 |
Michael Wright <michaelwr@google.com> |
Fix possible NPE in PointerLocationView Change-Id: I36577d6882db898ff4d4d9090454cdf71a440fd5
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
86172f6252fe2ed49a1cdea5cafd0ba2e049255d |
|
16-May-2013 |
Michael Wright <michaelwr@google.com> |
Pipe through bounding box information Change-Id: Ic09f2f8f18e21f9582e4ed10aad3b7ec1cc41ddc
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
9eb7d86181729c3eb769d71123c4ce9ffc868f08 |
|
01-Jun-2012 |
Jeff Brown <jeffbrown@google.com> |
Make velocity tracker strategy configurable. This change is very useful for testing purposes because it makes it easy to compare different implementations to see how they behave. There is no change to the current default strategy. Bug: 6413587 Change-Id: I4d8567aa4160571ba9fa397ce419882cd9366749
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
85bd0d62830a098c1bdc720dfdcf4fe1b18b657c |
|
14-May-2012 |
Jeff Brown <jeffbrown@google.com> |
More VelocityTracker refactoring. Bug: 6413587 Change-Id: Ida1152e7a34d5fe5caab5e6b5e1bc79f6c7a25e6
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
af9e8d38184c6ba4d2d3eb5bde7014a66dd8a78b |
|
13-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Notify applications when input devices change. This change allows the InputManager to keep track of what input devices are registered with the system and when they change. It needs to do this so that it can properly clear its cache of input device properties (especially the key map!) when changes occur. Added new API so that applications can register listeners for input device changes. Fixed a minor bug in EventHub where it didn't handle EPOLLHUP properly so it would spam the log about unsupposed epoll events until inotify noticed that the device was gone and removed it. Change-Id: I937d8c601f7185d4299038bce6a2934fe4fdd2b3
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
70825161b5bf51ed48319e142751a9c88b104994 |
|
29-Mar-2012 |
Jeff Brown <jeffbrown@google.com> |
Ensure pointer location view is attached to the policy thread. Previously we created the PointerLocationView on whatever thread happened to trigger the call to updateSettings(). There was also some messiness around having to add or remove the view while not holding mLock. Now, just post the work to the policy handler. This also makes it possible for us to use invalidate() instead of postInvalidate() in PointerLocationView, which is more efficient. Change-Id: I0646d7aeecffdc22f6ac56ae3ef951e7a12e2b93
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
b59ab9f41faafb358afb4f951de96f34a656e0b4 |
|
14-Sep-2011 |
Jeff Brown <jeffbrown@google.com> |
Velocity Tracker II: The Revenge of Velocity Tracker Bug: 5265529 Rewrote the velocity tracker to fit a polynomial curve to pointer movements using least squares linear regression. The velocity is simply the first derivative of this polynomial. Clients can also obtain an Estimator that describes the complete terms of the estimating polynomial including the coefficient of determination which provides a measure of the quality of the fit (confidence). Enhanced PointerLocation to display the movement curve predicted by the estimator in addition to the velocity vector. By default, the algorithm computes a 2nd degree (quadratic) polynomial based on a 100ms recent history horizon. Change-Id: Id377bef44117fce68fee2c41f90134ce3224d3a1
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
65fd251c3913fc921468a3dad190810db19eb9df |
|
18-Aug-2011 |
Jeff Brown <jeffbrown@google.com> |
Input system bug fixes, particularly for stylus. Bug: 5049148 Finished stylus support, including support for indirect stylus and mouse tools. Added TILT axis. When stylus tilt X/Y is available, it is transformed into an orientation and tilt inclination which is a more convenient representation and a simpler extension to the exiting API. Touch devices now only report touch data using a single input source. Previously touch devices in pointer mode would report both absolute touch pad data and cooked pointer gestures. Now we just pick one. The touch device switches modes as needed when the focused application enables/disables pointer gestures. This change greatly simplifies the code and reduces the load on the input dispatcher. Fixed an incorrect assumption that the value of ABS_(MT_)DISTANCE would be zero whenever the stylus was in direct contact. It appears that the correct way to determine whether the stylus is in direct contact (rather than hovering) is by checking for a non-zero reported pressure. Added code to read the initial state of tool buttons and axis values when the input devices are initialized or reset. This fixes problems where the input mapper state might have the wrong initial state. Moved responsibility for cancelling pending inputs (keys down, touches, etc.) to the InputDispatcher by sending it a device reset notification. This frees the InputReader from having to synthesize events during reset, which was cumbersome and somewhat brittle to begin with. Consolidated more of the common accumulator logic from SingleTouchInputMapper and MultiTouchInputMapper into TouchInputMapper. Improved the PointerLocation output. Change-Id: I595d3647f7fd7cb1e3eff8b3c76b85043b5fe2f0
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
80fd47ce75253dcdc2cfa85d7a3f42634b923a47 |
|
24-May-2011 |
Jeff Brown <jeffbrown@google.com> |
Input device protocol enhancements. Added support for Linux multitouch protocol B (slots). Added support for using the device's input properties as a hint to determine the intended usage of a touch device. Added support for the ABS_MT_DISTANCE axis. Fixed a bug reporting the presence of the orientation axis. Change-Id: Icf7b5a5a0f1a9cdf6ad2b35be8ea0c1a35815d48
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
fe9f8ab03a63b1037f07dd85799fbea80ec6adaa |
|
07-May-2011 |
Jeff Brown <jeffbrown@google.com> |
Add initial API for stylus and mouse buttons. Added the concept of pointer properties in a MotionEvent. This is currently used to track the pointer tool type to enable applications to distinguish finger touches from a stylus. Button states are also reported to application as part of touch events. There are no new actions for detecting changes in button states. The application should instead query the button state from the MotionEvent and take appropriate action as needed. A good time to check the button state is on ACTION_DOWN. As a side-effect, applications that do not support multiple buttons will treat primary, secondary and tertiary buttons identically for all touch events. The back button on the mouse is mapped to KEYCODE_BACK and the forward button is mapped to KEYCODE_FORWARD. Added basic plumbing for the secondary mouse button to invoke the context menu, particularly in lists. Added clamp and split methods on MotionEvent to take care of common filtering operations so we don't have them scattered in multiple places across the framework. Bug: 4260011 Change-Id: Ie992b4d4e00c8f2e76b961da0a902145b27f6d83
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
a032cc008618b83ecbbede537517d1e7998e3264 |
|
08-Mar-2011 |
Jeff Brown <jeffbrown@google.com> |
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
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
c3fe7669d6276b43e82c802743a7e8974bae52a5 |
|
07-Mar-2011 |
Jeff Brown <jeffbrown@google.com> |
Make PointerLocationView also log generic motions and some keys. Change-Id: Ia7ec0f1a98e9eaf1c59db90b8f77a3cd4cf69625
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
33bbfd2232ea9eaae9a9d87a05a95a430f09bd83 |
|
25-Feb-2011 |
Jeff Brown <jeffbrown@google.com> |
Add support for mouse hover and scroll wheel. Dispatch ACTION_HOVER_MOVE and ACTION_SCROLL through the View hierarchy as onGenericTouchEvent. Pointer events dispatched this way are delivered to the view under the pointer. Non-pointer events continue to be delivered to the focused view. Added scroll wheel support to AbsListView, ScrollView, HorizontalScrollView and WebView. Shift+VSCROLL is translated to HSCROLL as appropriate. Added logging of new pointer events in PointerLocationView. Fixed a problem in EventHub when a USB device is removed that resulted in a long stream of ENODEV errors being logged until INotify noticed the device was gone. Note that the new events are not supported by wallpapers at this time because the wallpaper engine only delivers touch events. Make all mouse buttons behave identically. (Effectively we only support one button.) Change-Id: I9ab445ffb63c813fcb07db6693987b02475f3756
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
cc0c159e9b3dd4e0f48da0ce3e33d2c68a651413 |
|
19-Feb-2011 |
Jeff Brown <jeffbrown@google.com> |
Add new hover move action and scroll wheel plumbing. Added support for tracking the mouse position even when the mouse button is not pressed. To avoid confusing existing applications, mouse movements are reported using the new ACTION_HOVER_MOVE action when the mouse button is not pressed. Added some more plumbing for the scroll wheel axes. The values are reported to Views but they are not yet handled by the framework. Change-Id: I1706be850d25cf34e5adf880bbed5cc3265cf4b1
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
6f2fba428ca5e77a26d991ad728e346cc47609ee |
|
19-Feb-2011 |
Jeff Brown <jeffbrown@google.com> |
Add new axes for joysticks and mouse wheels. Added API on InputDevice to query the set of axes available. Added API on KeyEvent and MotionEvent to convert keycodes and axes to symbolic name strings for diagnostic purposes. Added API on KeyEvent to query if a given key code is a gamepad button. Added a new "axis" element to key layout files to specify the mapping between raw absolute axis values and motion axis ids. Expanded the axis bitfield to 64bits to allow for future growth. Modified the Makefile for keyboard prebuilts to run the keymap validation tool during the build. Added layouts for two game controllers. Added default actions for game pad button keys. Added more tests. Fixed a bunch of bugs. Change-Id: I73f9166c3b3c5bcf4970845b58088ad467525525
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
517bb4c859a2bb8d30316204f39bf5b6c89c3e4d |
|
15-Jan-2011 |
Jeff Brown <jeffbrown@google.com> |
Add support for detecting finger orientation. Change-Id: I901fc61f7705fcd7950190dc8782bad616032ee2
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
5068ad8d2396d6d7bfbdb1c2c3fe57104744f1f9 |
|
30-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Revert orientation change. Change-Id: I1a6d13be118533171b9a75025dcf7985dd7e12b5
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
707a57aa268fba94854d3a07f6bc7e1f021bc43f |
|
30-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
PointerLocationView: Display orientation correctly. Canvas rotations are counterclockwise, orientation is clockwise, so we need to mind the sign of the rotation. Change-Id: I2a8b60599bd26e9dc3ced2e13942f846461333df
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
d1e0c371a651f024b3de62a686c56e369e3f361e |
|
13-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix PointerLocationView when pointer ids are not zero-based. Since we support using driver-provided pointer ids (ABS_MT_TRACKING_ID) there is no guarantee that pointer ids will necessarily start from 0 or be contiguous. Change-Id: I9609b7a3bb238d7edbcbd68cc839dd6d14baf9df
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
8d60866e2100db70ecf0502c14768a384514d7e9 |
|
30-Aug-2010 |
Jeff Brown <jeffbrown@google.com> |
Input device calibration and capabilities. Finished the input device capability API. Added a mechanism for calibrating touch devices to obtain more accurate information about the touch contact area. Improved pointer location to show new coordinates and capabilities. Optimized pointer location display and formatting to avoid allocating large numbers of temporary objects. The GC churn was causing the application to stutter very badly when more than a couple of fingers were down). Added more diagnostics. Change-Id: Ie25380278ed6f16c5b04cd9df848015850383498
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
9e2ad36be87f2703b3d737189944d82f93bd4f27 |
|
31-Jul-2010 |
Jeff Brown <jeffbrown@google.com> |
Enhanced VelocityTracker for > 5 pointers and fixed bugs. Improved PointerLocation tool to use VelocityTracker more efficiently and correctly when multiple pointers are down. Fixed a bug in TouchInputMapper where it was not correctly copying the id to index map in the last touch data. This could cause strange behavior on secondary pointer up events. Also added finished callback pooling in InputQueue. Change-Id: Ia85e52ac2fb7350960ea1d7edfbe81a1b3e8267b
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
7d9af5ae762c59e879a86e77dcb330856774bc09 |
|
19-Mar-2010 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #2512131: Trackball goes up when moving Change-Id: Ib403de88f24bc1b6e5417732e3b69f89a5160bbc
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
f8d0f095e34f8d661ca5b7d555d8610272099bff |
|
12-Mar-2010 |
Kenny Root <kroot@google.com> |
Add missing license notices to files Change-Id: Ie46176940810bd5001f7650a381c1c3c90a3718b
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|
829778843cf459384841f9f4ecafe862b6228d6e |
|
02-Mar-2010 |
Dianne Hackborn <hackbod@google.com> |
Move the pointer location thing out of common.
/frameworks/base/core/java/com/android/internal/widget/PointerLocationView.java
|