Two issues:
1. First, due to an inverted conditional in the input dispatcher, we were
reporting touches as long touches and vice-versa to the power manager.
2. Power manager user activity cheek event suppression also suppresses touch
events (but not long touch or up events). As a result, if cheek event
suppression was enabled, touches would not poke the user activity timer.
However due to the above logic inversion, this actually affected long
touches. Net result, if cheek suppression was enabled in the power manager
and you held your thumb on the screen long enough, the phone would
go to sleep!
Cheek event suppression is commonly turned on when making a phone call.
Interestingly, it does not seem to get turned off afterward...
This change fixes the logic inversion and exempts touches from the cheek
suppression. The reason we do the latter is because the old behavior
was actually harmful in other ways too: a touch down would be suppressed
but not a long touch or the touch up. This would cause bizarre behavior
if you touched the screen while it was dimmed. Instead of brightening
immediately, it would brighten either when you lifted your finger or
300ms later, whichever came first.
Bug: 3154895
Change-Id: Ied9ccec6718fbe86506322ff47a4e3eb58f81834
This patch makes the dispatcher drop all of its state when it is
disabled (when the screen turns off). This ensures that the dispatcher
does not get stuck thinking a pointer is still down if the screen
turned off while the user was touching the display (such as a fat touch
while hitting the power button).
Bug: 3098344
Change-Id: If50ef5804870aa1acd3179fd4b40e3cda58dd39d
this is to allow applications to change the format of a surface's
buffer, and have it reflected in EGL; which is needed for
EGLConfig validation.
Change-Id: Iee074c30ad765881e2409c1d37450b05e561c44d
Merge commit '860c2df4132a2a0be9bcb0e91bfb7e79588c000f' into gingerbread-plus-aosp
* commit '860c2df4132a2a0be9bcb0e91bfb7e79588c000f':
Add unit tests for native input and fix bugs identified.
Fixed a bug where we would lose the first touch point when swiping out of
the virtual key area.
Fixed a bug where we would not send an ACTION_MOVE event in cases where
individual pointers went down/up and the remaining pointers actually moved.
This is important since many applications do not handle pointer movements
during ACTION_POINTER_DOWN or ACTION_POINTER_UP. In the case of
ACTION_POINTER_UP the movement was completely lost since all pointers were
dispatched using their old location rather than the new location.
Improved motion event validation to check for duplicate pointer ids.
Added an input source constant that was missing from the NDK api but
defined in the framework api.
Added a timestamp when reporting added/removed devices in EventHub.
Bug: 3070082
Change-Id: I3206a030f43b7616e2f48006e5a9d522c4d92e56
Merge commit '1d79a9d9f85f932a1fd6dcddba335450b65ba4e6' into gingerbread-plus-aosp
* commit '1d79a9d9f85f932a1fd6dcddba335450b65ba4e6':
Use correct size of GAMEPAD_KEYCODES
Compute the actual number of indices in the GAMEPAD_KEYCODES instead of
the pure size in bytes.
Bug: 3121536
Change-Id: I71edbd8bf6eff2c8cc0ea5c6845362b3d1e06466
If a ZipFileRO object is uninitialized, the hash table will not have
been initialized. This condition wasn't checked in findEntryByName.
Bug: 3121109
Change-Id: Ib696e0e7e0cb4dd0fb2e456d6a847e5e8f4fe14e
Merge commit '73655bd2d303f8b3fe5c4bb0d8e4824361647381' into gingerbread-plus-aosp
* commit '73655bd2d303f8b3fe5c4bb0d8e4824361647381':
propagate RS context priority to EGLContext when possible. DO NOT MERGE.
Remember, the system and main logs are
- Shared resources
- Primarily for recording problems
- To be used only for large grained events during normal operation
Bug: 3104855
Change-Id: I136fbd101917dcbc8ebc3f96f276426b48bde7b7
Merge commit '7689dd4928d1cc4080e43f83a523521b5ecf44e5' into gingerbread-plus-aosp
* commit '7689dd4928d1cc4080e43f83a523521b5ecf44e5':
Fix bug where home presses were not poking user activity.
We now poke user activity twice: once upon dequeueing an event
for dispatch and then again just before we dispatch it. The second
poke is to compensate for the fact that it can take a few seconds to
identify the dispatch target (if the application is responding slowly)
but we want to keep the display from going to sleep for X amount of time
after the app gets a chance to actually receive the event. This mirrors
pre-Gingerbread behavior.
Removed some unnecessary code that filters user activity pokes when sending
events to KeyGuard. We don't need this because KeyGuard already tells the
power manager to disable user activity.
Bug: 3101397
Change-Id: I8c3a77601fdef8f584e84cfdd11aa79da0ff51db
Merge commit '36e65ffd16f2610dcec702e23d596fe4eb6b6c4a' into gingerbread-plus-aosp
* commit '36e65ffd16f2610dcec702e23d596fe4eb6b6c4a':
Fix a native crash in input dispatcher when windows are removed.
Merge commit 'c1a564b108c511c0bdd699567c245b031930e718' into gingerbread-plus-aosp
* commit 'c1a564b108c511c0bdd699567c245b031930e718':
Add support for secure system overlays. (DO NOT MERGE)
This change adds a new window type for secure system overlays
created by the system itself from non-secure system overlays that
might be created by applications that have the system alert permission.
Secure views ignore the presence of secure system overlays.
Bug: 3098519
Change-Id: I8f8398f4fdeb0469e5d71124c21bedf121bd8c07
Added support for calibrating touch size for devices that report
size as an area measurement rather than as a width.
Fixed some bugs.
Bug: 3096045
Change-Id: I30a12e73752883516ed054f8af407204bca45814
Merge commit 'bdf8034c657147226b2390eef113ff841e0d6065' into gingerbread-plus-aosp
* commit 'bdf8034c657147226b2390eef113ff841e0d6065':
OBB: use PBKDF2 for key generation.
Switch to using PBKDF2 for the key generation for OBBs. Any previously
generated OBBs will stop being read correctly. A small pbkdf2gen program
is available to allow generation of appropriate keys with the salts.
Bug: 3059950
Change-Id: If4305c989fd692fd1150eb270dbf751e09c37295
Merge commit '011b5bcc0355338b7ff906656282a54ffaa04b5a' into gingerbread-plus-aosp
* commit '011b5bcc0355338b7ff906656282a54ffaa04b5a':
implement part of [3094280] New animation for screen on and screen off
Merge commit 'ba799098608c7be8ff1e18adfa7dc1f452205a7e' into gingerbread-plus-aosp
* commit 'ba799098608c7be8ff1e18adfa7dc1f452205a7e':
Remove dead code, and make the animation a setting.
turn off the electron beam
Merge commit '03aa28fb36589a3d601be08e75c08a24c4344d6f' into gingerbread-plus-aosp
* commit '03aa28fb36589a3d601be08e75c08a24c4344d6f':
Improve the input policy handling a bit.
Fixed some issues with Monkeys turning off their own screens. Ook ook!
Added some more comments to explain what's going on.
Change-Id: Id2bc0466161a642a73ef7ef97725d1c81e984b12
Merge commit 'de846ac659e8c14d898a3fa14bd0504b24096057' into gingerbread-plus-aosp
* commit 'de846ac659e8c14d898a3fa14bd0504b24096057':
Change to new binder implementation for OBB
Merge commit 'b4de3dca96b9ff18562062e181dcd8b83e641e45' into gingerbread-plus-aosp
* commit 'b4de3dca96b9ff18562062e181dcd8b83e641e45':
OBB: rearrange to be entirely asynchronous
Merge commit '1da8d4d1697cec871dea8c30dad67e90db10bde6' into gingerbread-plus-aosp
* commit '1da8d4d1697cec871dea8c30dad67e90db10bde6':
Fix an event injection bug when the policy is bypassed.