Commit Graph

16 Commits

Author SHA1 Message Date
Michael Wright
03a53d1c77 Add new MotionEvent flag for partially obscured windows.
Due to more complex window layouts resulting in lots of overlapping
windows, the policy around FLAG_WINDOW_IS_OBSCURED has changed to
only be set when the point at which the window was touched is
obscured. Unfortunately, this doesn't prevent tapjacking attacks that
overlay the dialog's text, making a potentially dangerous operation
seem innocuous. To avoid this on particularly sensitive dialogs,
introduce a new flag that really does tell you when your window is
being even partially overlapped.

We aren't exposing this as API since we plan on making the original
flag more robust. This is really a workaround for system dialogs
since we generally know their layout and screen position, and that
they're unlikely to be overlapped by other applications.

Bug: 26677796
Change-Id: I9e336afe90f262ba22015876769a9c510048fd47
2016-04-21 19:11:18 -07:00
Michael Wright
fa13dcf39f Send cancelation events to monitors when injection fails.
Bug: 20649729
Change-Id: I46cd14ac1f040d404c0b1581b38fa07a944e5fb9
2015-06-12 13:25:11 +01:00
Michael Wright
3a98172289 Only log dropped input when disabled for the first event.
Bug: 19851495
Change-Id: I8cb8076723c1ca1732c3bc37f283d8eb48b7bee0
2015-06-10 15:26:13 +01:00
Michael Wright
7b159c9a4f Revert "Revert "Add new MotionEvent actions for button press and release.""
This reverts commit 70b41ef580.
2015-05-14 14:48:03 +01:00
Michael Wright
70b41ef580 Revert "Add new MotionEvent actions for button press and release."
This reverts commit 48a8a0e432.
2015-05-14 14:46:17 +01:00
Michael Wright
48a8a0e432 Add new MotionEvent actions for button press and release.
Introduce ACTION_BUTTON_PRESS and ACTION_BUTTON_RELEASE as actions to
signal a button press or release. If these actions happen
simulanteously with a DOWN or UP event then they're explicitly
ordered to happen after the DOWN or preceding the UP in order to send
them to the most recently targeted view.

Also, introduce new stylus button constants that differ from the
constants we use for mouse buttons.

Bug: 20704355
Change-Id: Ib960a5004db5429ad2fc8db020704773e2978327
2015-05-14 13:25:41 +01:00
Jon McCaffrey
65dbe971b1 InputDispatcher: Optimize count()
Count items as they are added and removed rather than iterating over the
entire list to count them.

Increases performance slightly, particularly when tracing is turned on,
which causes count to be queried more often, and when the number of
items in the queues grow large.  This can happen due to applications not
responding, for example.

Change-Id: I0f11f7edd46089612af910cdfabfeb3ee685d7d9
2014-11-26 12:04:47 -08:00
Jeff Brown
ffb4977438 Improve ANR diagnostics.
Print more details about the exact reason that an ANR has occurred.
Also start checking that the window actually has a registered
input connection that is not in a broken state.  These windows
are supposed to be cleaned up by the window manager promptly
as if the app had crashed but the pattern of ANRs we are observing
suggests that broken windows might be sticking around longer than
they should.

Bug: 17721767
Change-Id: Ie2803a3fa9642381ecadc198fec15e1b70d93c20
2014-10-10 19:09:39 -07:00
Michael Wright
78f2444aaf Revert "Revert "Add system accelerators for BACK and HOME.""
This reverts commit d671f98a27.

Change-Id: Ibec48f81653bd2f755fc59a241fa7836baf53233
2014-08-06 16:59:54 -07:00
Michael Wright
d671f98a27 Revert "Add system accelerators for BACK and HOME."
This reverts commit 278b525d25.
2014-08-06 15:50:43 -07:00
Michael Wright
278b525d25 Add system accelerators for BACK and HOME.
Meta+Backspace -> BACK
Meta+Enter -> HOME

Bug: 14066931
Change-Id: Iff1d027300fa9911626785944a6d8efe4f62235e
2014-08-06 19:01:19 +00:00
Jeff Brown
dc5992e48c Plumb display power state through display manager.
Eliminated the bright here and woke here policy flags since they
were unused.  Simplified the input dispatch policy somewhat.

Bug: 13133142
Change-Id: I74b4dc866c44c46ed43006a48a857f0da4c07cc9
2014-04-11 01:27:26 -07:00
Jeff Brown
f086ddbb97 Add support for injecting events into ActivityContainers.
Enhanced the input system to support concurrent dispatch of touch
events on multiple displays which is required for this to work.

Add method to apply offset to PointerCoords.

Change-Id: I55fe4a9a8785ae5a2d3341d214fa3c5107f3963a
2014-02-11 14:51:24 -08:00
Michael Wright
d02c5b6aac Move inputservice over to frameworks/native
Add all of the underlying input system pieces, minux PointerController and
SpriteController, to inputflinger. This is in preparation for moving input to
its own process and the addition of the input HAL.

Try 2.

Change-Id: I5f571fe86eb570885ae994e1f0552fb558930346
2014-02-11 10:47:14 -08:00
Michael Wright
1b1fe314c4 Revert "Move inputservice over to frameworks/native"
This reverts commit 2dceb67f1f.
2014-02-10 15:08:18 -08:00
Michael Wright
2dceb67f1f Move inputservice over to frameworks/native
Add all of the underlying input system pieces, minux PointerController and
SpriteController, to inputflinger. This is in preparation for moving input to
its own process and the addition of the input HAL.

Change-Id: I1419a740b38756bd0d54fef5f5ca337e6815b1b0
2014-02-10 14:12:49 -08:00