diff options
author | Jeff Brown <jeffbrown@google.com> | 2011-07-27 16:04:54 -0700 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2011-07-31 15:38:09 -0700 |
commit | 5873ce46adc9e98efd6e5acbe21639a0a4d25c69 (patch) | |
tree | c916b09a0cc921fbab58eec7c88824466102b100 /libs/ui/tests | |
parent | 4eb0fea354c3f0c354b5057ef7bfb7564cf59b5a (diff) | |
download | frameworks_native-5873ce46adc9e98efd6e5acbe21639a0a4d25c69.zip frameworks_native-5873ce46adc9e98efd6e5acbe21639a0a4d25c69.tar.gz frameworks_native-5873ce46adc9e98efd6e5acbe21639a0a4d25c69.tar.bz2 |
Refactor input reader to add stylus support.
Bug: 5064702
Introduced the concept of an InputListener to further decouple
the InputReader from the InputDispatcher. The InputListener
exposes just the minimum interface that the InputReader needs
to communicate with the outside world. The InputReader
passes arguments to the InputListener by reference, which makes
it easy to queue them up.
Consolidated all of the InputReader locks into one simple global
Mutex. The reason this wasn't done before was due to potential
re-entrance in outbound calls to the InputDispatcher. To fix this,
the InputReader now queues up all of the events it wants to send
using a QueuedInputListener, then flushes them outside of the
critical section after all of the event processing is finished.
Removing all of the InputMapper locks greatly simplifies the
implementation.
Added tests for new stylus features such as buttons, tool types,
and hovering.
Added some helpers to BitSet32 to handle common code patterns
like finding the first marked bit and clearing it.
Fixed a bug in VelocityTracker where the wrong pointer trace
could get cleared when handling ACTION_POINTER_DOWN. Oops.
Changed PointerCoords so it no longer stores useless zero
axis values. Removed editAxisValue because it is not very
useful when all zero value axes are absent and therefore
cannot be edited in place.
Added dispatch of stylus hover events.
Added support for distance and tool types.
Change-Id: I4cf14d134fcb1db7d10be5f2af7b37deef8f8468
Diffstat (limited to 'libs/ui/tests')
-rw-r--r-- | libs/ui/tests/InputEvent_test.cpp | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/libs/ui/tests/InputEvent_test.cpp b/libs/ui/tests/InputEvent_test.cpp index e48d5b7..e21c464 100644 --- a/libs/ui/tests/InputEvent_test.cpp +++ b/libs/ui/tests/InputEvent_test.cpp @@ -52,9 +52,6 @@ TEST_F(PointerCoordsTest, AxisValues) { ASSERT_EQ(0, coords.getAxisValue(1)) << "getAxisValue should return zero because axis is not present"; - ASSERT_EQ(NULL, coords.editAxisValue(0)) - << "editAxisValue should return null because axis is not present"; - // Set first axis. ASSERT_EQ(OK, coords.setAxisValue(1, 5)); ASSERT_EQ(0x00000002ULL, coords.bits); @@ -96,26 +93,17 @@ TEST_F(PointerCoordsTest, AxisValues) { ASSERT_EQ(2, coords.getAxisValue(3)) << "getAxisValue should return value of axis"; - // Edit an existing axis value in place. - valuePtr = coords.editAxisValue(1); - ASSERT_EQ(5, *valuePtr) - << "editAxisValue should return pointer to axis value"; - - *valuePtr = 7; - ASSERT_EQ(7, coords.getAxisValue(1)) - << "getAxisValue should return value of axis"; - // Set an axis with an id between the others. (inserting value in the middle) ASSERT_EQ(OK, coords.setAxisValue(2, 1)); ASSERT_EQ(0x0000000fULL, coords.bits); ASSERT_EQ(4, coords.values[0]); - ASSERT_EQ(7, coords.values[1]); + ASSERT_EQ(5, coords.values[1]); ASSERT_EQ(1, coords.values[2]); ASSERT_EQ(2, coords.values[3]); ASSERT_EQ(4, coords.getAxisValue(0)) << "getAxisValue should return value of axis"; - ASSERT_EQ(7, coords.getAxisValue(1)) + ASSERT_EQ(5, coords.getAxisValue(1)) << "getAxisValue should return value of axis"; ASSERT_EQ(1, coords.getAxisValue(2)) << "getAxisValue should return value of axis"; |