summaryrefslogtreecommitdiff
path: root/core/java/android/view/InputEvent.java
Commit message (Collapse)AuthorAgeFilesLines
* Add ID to InputEvent.Garfield Tan2020-02-141-0/+15
| | | | | | | | | | | | | | | | | | | | | | The interaction between Java and native code for KeyEvent and MotionEvent is different, so I used different arrangement to pass sequence number across JNI that keeps the consistency with other metadata. Unfortunately this new ID doesn't have absolute uniqueness guarantee so it can't replace InputEvent#getSequenceNumber() which is used with a strict in-process uniqueness assumption. Therefore only convert systrace related use to ID. Also expose ID generator through a static function in InputEvent so that everyone can use it. InputReader and InputDispatcher will use different instances. Bug: 144889238 Test: Build and run. Test: atest FrameworksCoreTests:KeyEventTest Test: atest FrameworksCoreTests:MotionEventTest Change-Id: Icbdcaee1d98948c05484865a4e15e55161ecfa69
* Use new UnsupportedAppUsage annotation.Artur Satayev2019-12-181-1/+1
| | | | | | | | Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library. Bug: 145132366 Test: m && diff unsupportedappusage_index.csv Change-Id: I5be7335b23a92b8ac80d2fd890198273b66ad644
* All Parcelable CREATOR fields are @NonNull.Jeff Sharkey2019-02-281-1/+1
| | | | | | | | | If they were null, then the Parcelable would fail to work. Bug: 126726802 Test: manual Change-Id: I7929ffa2f20e5de1c8e68e8263cca99496e9d014 Exempt-From-Owner-Approval: Trivial API annotations
* Add @UnsupportedAppUsage annotationsMathew Inwood2018-08-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | For packages: android.view.textservice android.view.textclassifier.logging android.view.textclassifier android.view.inputmethod android.view.autofill android.view.accessibility android.view This is an automatically generated CL. See go/UnsupportedAppUsage for more details. Exempted-From-Owner-Approval: Mechanical changes to the codebase which have been approved by Android API council and announced on android-eng@ Bug: 110868826 Test: m Change-Id: I4147b038ed7adf0311ee9918b44766f82a057eaf
* Move displayId into InputEventSiarhei Vishniakou2018-07-051-0/+13
| | | | | | | | | | | Now both KeyEvent and MotionEvent will contain displayId. This will help with dispatching input events to specific displays. There are use cases where a particular input device is used for a specific display only, and it sends key events to the system. This will help with those usages. Test: atest view.MotionEventTest view.KeyEventTest Bug: 64258305 Change-Id: I75891037617ed60820d60736216a0d615ab5e3b0
* Move display id into MotionEventSiarhei Vishniakou2018-03-061-4/+4
| | | | | | | | | Display id is now part of MotionEvent. Test: atest view.MotionEventTest view.KeyEventTest Bug: 64258305 Change-Id: Ifadd6b34f4dd5a91669baf146daa62944d1de974
* Cancel or drop key events if activity is stopped.Wale Ogunwale2014-11-121-0/+7
| | | | | | | | | | | | | After an activity instance state is saved due to onStop()/onPause(), there is a small window where it can still get key events like the back button since we still allow the ActivityThread to handle pending messages (like memory trim request) before informing the activity manager that we are done. If the activity is stopped, we will now drop non-terminal input events and set the cancel flag on terminal events. Bug: 18151331 Change-Id: I370d7c871530eea4b16fa42428d0248f1a87abb6
* Input-related documentation fixes.John Spurlock2013-04-181-1/+1
| | | | | | | Fix a few typos in InputFilter. Fix reference in InputEvent currently causing public documentation breakage. Change-Id: I6268ad165f11d4d9d5a4a66ed97f1538e174cf84
* Add InputDevice#isFromSource convenience methodMichael Wright2013-03-111-0/+12
| | | | Change-Id: If2d2e37bc3fff5a862ea3652c7ef9778018e7ecc
* Correct executable bit for source filesKenny Root2012-11-071-0/+0
| | | | | | | | | Many media files and source code files were marked as executable in Git. Remove those. Also a shell script and python script were not marked as executable. Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
* Make InputEvent.getEventTime() public.Jeff Brown2012-04-201-1/+19
| | | | | | | | Also add new methods to access the event timestamp in nanoseconds. Hidden for now but useful for prototyping. Bug: 6374616 Change-Id: I7030734a908e8e31a17a356debc269db7c0f0783
* Remove type tests when recycling input events.Jeff Brown2011-12-031-0/+15
| | | | Change-Id: I1c2d5980a763c457a0546bbf601e686c601a4c03
* Refactor InputQueue as InputEventReceiver.Jeff Brown2011-12-011-2/+55
| | | | | | | | | | | | | This change simplifies the code associated with receiving input events from input channels and makes it more robust. It also does a better job of ensuring that input events are properly recycled (sometimes we dropped them on the floor). This change also adds a sequence number to all events, which is handy for determining whether we are looking at the same event or a new one, particularly when events are recycled. Change-Id: I4ebd88f73b5f77f3e150778cd550e7f91956aac2
* Coalesce input events that arrive faster than 333Hz.Jeff Brown2011-04-071-0/+7
| | | | | | | | | | | | | | | | | | | | | | Some drivers report individual finger updates one at a time instead of all at once. When 10 fingers are down, this can cause the framework to have to handle 10 times as many events each with 10 times as much data. Applications like PointerLocation would get significantly bogged down by all of the redundant samples. This change coalesces samples that are closely spaced in time, before they are dispatched, as part of the motion event batching protocol. Increased the size of the InputChannel shared memory buffer so that applications can catch up faster if they accumulate a backlog of samples. Added logging code to help measure input dispatch and drawing latency issues in the view hierarchy. See ViewDebug.DEBUG_LATENCY. Change-Id: Ia5898f781f19901d2225c529a910c32bdf4f504f
* Add a little input event consistency verifier.Jeff Brown2011-03-311-0/+30
| | | | | | | The idea is to assist with debugging by identifying cases in which the input event stream is corrupted. Change-Id: I0a00e52bbe2716be1b3dfc7c02a754492d8e7f1f
* Add input filter mechanism for accessibility.Jeff Brown2011-03-301-0/+9
| | | | | | | | | | | | | | | | | | | 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
* Add support for arbitrary axes in MotionEvents.Jeff Brown2011-02-151-34/+11
| | | | | | | | | | | This change makes it possible to extend the set of axes that are reported in MotionEvents by defining new axis constants. The MotionEvent object is now backed by its C++ counterpart to avoid having to maintain multiple representations of the same data. Change-Id: Ibe93c90d4b390d43c176cce48d558d20869ee608
* Fix some API discrepancies in InputEvent.Jeff Brown2010-09-121-1/+3
| | | | Change-Id: I8e33e125e10075d6f256a1eb3dd46990f35074d6
* DO NOT MERGE: Fix input event injection ANRs on UI thread.Jeff Brown2010-07-291-0/+40
| | | | | | | Added a new asynchronous injection mode and made the existing synchronization mechanism more robust. Change-Id: Ia4aa04fd9b75ea2461a844c5b7933c831c1027e6
* Fix bug with phantom input windows.Jeff Brown2010-07-161-1/+10
| | | | | | | | | | | Add dumpsys integration for the native input dispatcher. Add some InputDevice API stubs. Add an appendFormat helper method to String8 for printf style string formatting mainly for debugging purposes. Use generic ArrayList<WindowState> everywhere in WindowManagerService to eliminate unnecessary casts all over. Change-Id: I9d1e3bd90eb7222d10620200477f11b7bfd25e44
* Add support for new input sources.Jeff Brown2010-07-151-0/+63
Added several new coordinate values to MotionEvents to capture touch major/minor area, tool major/minor area and orientation. Renamed NDK input constants per convention. Added InputDevice class in Java which will eventually provide useful information about available input devices. Added APIs for manufacturing new MotionEvent objects with multiple pointers and all necessary coordinate data. Fixed a bug in the input dispatcher where it could get stuck with a pointer down forever. Fixed a bug in the WindowManager where the input window list could end up containing stale removed windows. Fixed a bug in the WindowManager where the input channel was being removed only after the final animation transition had taken place which caused spurious WINDOW DIED log messages to be printed. Change-Id: Ie55084da319b20aad29b28a0499b8dd98bb5da68