InputEvent_test.cpp revision ebbd5d14ad3b1e762d9fcfa026e19413cc857e05
1ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown/* 2ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown * Copyright (C) 2011 The Android Open Source Project 3ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown * 4ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown * Licensed under the Apache License, Version 2.0 (the "License"); 5ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown * you may not use this file except in compliance with the License. 6ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown * You may obtain a copy of the License at 7ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown * 8ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown * http://www.apache.org/licenses/LICENSE-2.0 9ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown * 10ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown * Unless required by applicable law or agreed to in writing, software 11ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown * distributed under the License is distributed on an "AS IS" BASIS, 12ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown * See the License for the specific language governing permissions and 14ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown * limitations under the License. 15ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown */ 16ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 17ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown#include <ui/Input.h> 18ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown#include <gtest/gtest.h> 19ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown#include <binder/Parcel.h> 20ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 21ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brownnamespace android { 22ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 23ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brownclass BaseTest : public testing::Test { 24ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brownprotected: 25ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown virtual void SetUp() { } 26ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown virtual void TearDown() { } 27ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown}; 28ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 29ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown// --- PointerCoordsTest --- 30ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 31ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brownclass PointerCoordsTest : public BaseTest { 32ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown}; 33ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 34ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff BrownTEST_F(PointerCoordsTest, ClearSetsBitsToZero) { 35ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown PointerCoords coords; 36ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown coords.clear(); 37ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 38ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(0U, coords.bits); 39ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown} 40ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 41ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff BrownTEST_F(PointerCoordsTest, AxisValues) { 42ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown float* valuePtr; 43ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown PointerCoords coords; 44ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown coords.clear(); 45ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 46ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown // Check invariants when no axes are present. 47ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(0, coords.getAxisValue(0)) 48ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return zero because axis is not present"; 49ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(0, coords.getAxisValue(1)) 50ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return zero because axis is not present"; 51ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 52ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(NULL, coords.editAxisValue(0)) 53ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "editAxisValue should return null because axis is not present"; 54ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 55ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown // Set first axis. 56ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(OK, coords.setAxisValue(1, 5)); 57ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(0x00000002U, coords.bits); 58ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(5, coords.values[0]); 59ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 60ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(0, coords.getAxisValue(0)) 61ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return zero because axis is not present"; 62ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(5, coords.getAxisValue(1)) 63ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return value of axis"; 64ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 65ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown // Set an axis with a higher id than all others. (appending value at the end) 66ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(OK, coords.setAxisValue(3, 2)); 67ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(0x0000000aU, coords.bits); 68ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(5, coords.values[0]); 69ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(2, coords.values[1]); 70ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 71ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(0, coords.getAxisValue(0)) 72ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return zero because axis is not present"; 73ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(5, coords.getAxisValue(1)) 74ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return value of axis"; 75ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(0, coords.getAxisValue(2)) 76ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return zero because axis is not present"; 77ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(2, coords.getAxisValue(3)) 78ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return value of axis"; 79ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 80ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown // Set an axis with an id lower than all others. (prepending value at beginning) 81ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(OK, coords.setAxisValue(0, 4)); 82ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(0x0000000bU, coords.bits); 83ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(4, coords.values[0]); 84ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(5, coords.values[1]); 85ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(2, coords.values[2]); 86ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 87ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(4, coords.getAxisValue(0)) 88ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return value of axis"; 89ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(5, coords.getAxisValue(1)) 90ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return value of axis"; 91ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(0, coords.getAxisValue(2)) 92ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return zero because axis is not present"; 93ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(2, coords.getAxisValue(3)) 94ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return value of axis"; 95ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 96ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown // Edit an existing axis value in place. 97ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown valuePtr = coords.editAxisValue(1); 98ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(5, *valuePtr) 99ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "editAxisValue should return pointer to axis value"; 100ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 101ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown *valuePtr = 7; 102ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(7, coords.getAxisValue(1)) 103ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return value of axis"; 104ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 105ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown // Set an axis with an id between the others. (inserting value in the middle) 106ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(OK, coords.setAxisValue(2, 1)); 107ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(0x0000000fU, coords.bits); 108ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(4, coords.values[0]); 109ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(7, coords.values[1]); 110ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(1, coords.values[2]); 111ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(2, coords.values[3]); 112ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 113ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(4, coords.getAxisValue(0)) 114ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return value of axis"; 115ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(7, coords.getAxisValue(1)) 116ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return value of axis"; 117ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(1, coords.getAxisValue(2)) 118ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return value of axis"; 119ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(2, coords.getAxisValue(3)) 120ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return value of axis"; 121ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 122ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown // Set an existing axis value in place. 123ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(OK, coords.setAxisValue(1, 6)); 124ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(0x0000000fU, coords.bits); 125ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(4, coords.values[0]); 126ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(6, coords.values[1]); 127ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(1, coords.values[2]); 128ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(2, coords.values[3]); 129ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 130ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(4, coords.getAxisValue(0)) 131ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return value of axis"; 132ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(6, coords.getAxisValue(1)) 133ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return value of axis"; 134ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(1, coords.getAxisValue(2)) 135ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return value of axis"; 136ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(2, coords.getAxisValue(3)) 137ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown << "getAxisValue should return value of axis"; 138ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 139ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown // Set maximum number of axes. 140ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown for (size_t axis = 4; axis < PointerCoords::MAX_AXES; axis++) { 141ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(OK, coords.setAxisValue(axis, axis)); 142ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown } 143ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(PointerCoords::MAX_AXES, __builtin_popcount(coords.bits)); 144ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 145ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown // Try to set one more axis beyond maximum number. 146ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown // Ensure bits are unchanged. 147ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(NO_MEMORY, coords.setAxisValue(PointerCoords::MAX_AXES, 100)); 148ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(PointerCoords::MAX_AXES, __builtin_popcount(coords.bits)); 149ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown} 150ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 151ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff BrownTEST_F(PointerCoordsTest, ReadAndWriteParcel) { 152ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown Parcel parcel; 153ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 154ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown PointerCoords inCoords; 155ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown inCoords.clear(); 156ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown PointerCoords outCoords; 157ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 158ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown // Round trip with empty coords. 159ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown inCoords.writeToParcel(&parcel); 160ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown parcel.setDataPosition(0); 161ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown outCoords.readFromParcel(&parcel); 162ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 163ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(0U, outCoords.bits); 164ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 165ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown // Round trip with some values. 166ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown parcel.freeData(); 167ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown inCoords.setAxisValue(2, 5); 168ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown inCoords.setAxisValue(5, 8); 169ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 170ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown inCoords.writeToParcel(&parcel); 171ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown parcel.setDataPosition(0); 172ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown outCoords.readFromParcel(&parcel); 173ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 174ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(outCoords.bits, inCoords.bits); 175ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(outCoords.values[0], inCoords.values[0]); 176ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(outCoords.values[1], inCoords.values[1]); 177ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown} 178ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 179ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 180ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown// --- KeyEventTest --- 181ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 182ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brownclass KeyEventTest : public BaseTest { 183ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown}; 184ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 185ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff BrownTEST_F(KeyEventTest, Properties) { 186ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown KeyEvent event; 187ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 188ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown // Initialize and get properties. 189ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown const nsecs_t ARBITRARY_DOWN_TIME = 1; 190ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown const nsecs_t ARBITRARY_EVENT_TIME = 2; 191ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown event.initialize(2, AINPUT_SOURCE_GAMEPAD, AKEY_EVENT_ACTION_DOWN, 192ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown AKEY_EVENT_FLAG_FROM_SYSTEM, AKEYCODE_BUTTON_X, 121, 193ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown AMETA_ALT_ON, 1, ARBITRARY_DOWN_TIME, ARBITRARY_EVENT_TIME); 194ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 195ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(AINPUT_EVENT_TYPE_KEY, event.getType()); 196ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(2, event.getDeviceId()); 197ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(AINPUT_SOURCE_GAMEPAD, event.getSource()); 198ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(AKEY_EVENT_ACTION_DOWN, event.getAction()); 199ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(AKEY_EVENT_FLAG_FROM_SYSTEM, event.getFlags()); 200ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(AKEYCODE_BUTTON_X, event.getKeyCode()); 201ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(121, event.getScanCode()); 202ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(AMETA_ALT_ON, event.getMetaState()); 203ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(1, event.getRepeatCount()); 204ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(ARBITRARY_DOWN_TIME, event.getDownTime()); 205ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(ARBITRARY_EVENT_TIME, event.getEventTime()); 206ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 207ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown // Set source. 208ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown event.setSource(AINPUT_SOURCE_JOYSTICK); 209ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(AINPUT_SOURCE_JOYSTICK, event.getSource()); 210ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown} 211ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 212ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 213ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown// --- MotionEventTest --- 214ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 215ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brownclass MotionEventTest : public BaseTest { 216ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown}; 217ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 218ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff BrownTEST_F(MotionEventTest, Properties) { 219ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown MotionEvent event; 220ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 221ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown // Initialize, add samples and get properties. 222ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown const nsecs_t ARBITRARY_DOWN_TIME = 1; 223ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown const nsecs_t ARBITRARY_EVENT_TIME = 2; 224ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown const float X_OFFSET = 1.0f; 225ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown const float Y_OFFSET = 1.1f; 226ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown int32_t pointerIds[] = { 1, 2 }; 227ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown PointerCoords pointerCoords[2]; 228ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].clear(); 229ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_X, 10); 230ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_Y, 11); 231ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_PRESSURE, 12); 232ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_SIZE, 13); 233ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_TOUCH_MAJOR, 14); 234ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_TOUCH_MINOR, 15); 235ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_TOOL_MAJOR, 16); 236ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_TOOL_MINOR, 17); 237ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_ORIENTATION, 18); 238ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].clear(); 239ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_X, 20); 240ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_Y, 21); 241ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_PRESSURE, 22); 242ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_SIZE, 23); 243ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_TOUCH_MAJOR, 24); 244ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_TOUCH_MINOR, 25); 245ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_TOOL_MAJOR, 26); 246ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_TOOL_MINOR, 27); 247ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_ORIENTATION, 28); 248ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown event.initialize(2, AINPUT_SOURCE_TOUCHSCREEN, AMOTION_EVENT_ACTION_MOVE, 249ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED, 250ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown AMOTION_EVENT_EDGE_FLAG_TOP, AMETA_ALT_ON, 251ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown X_OFFSET, Y_OFFSET, 2.0f, 2.1f, 252ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ARBITRARY_DOWN_TIME, ARBITRARY_EVENT_TIME, 253ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 2, pointerIds, pointerCoords); 254ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 255ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_X, 110); 256ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_Y, 111); 257ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_PRESSURE, 112); 258ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_SIZE, 113); 259ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_TOUCH_MAJOR, 114); 260ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_TOUCH_MINOR, 115); 261ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_TOOL_MAJOR, 116); 262ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_TOOL_MINOR, 117); 263ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_ORIENTATION, 118); 264ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_X, 120); 265ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_Y, 121); 266ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_PRESSURE, 122); 267ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_SIZE, 123); 268ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_TOUCH_MAJOR, 124); 269ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_TOUCH_MINOR, 125); 270ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_TOOL_MAJOR, 126); 271ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_TOOL_MINOR, 127); 272ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_ORIENTATION, 128); 273ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown event.addSample(ARBITRARY_EVENT_TIME + 1, pointerCoords); 274ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 275ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_X, 210); 276ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_Y, 211); 277ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_PRESSURE, 212); 278ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_SIZE, 213); 279ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_TOUCH_MAJOR, 214); 280ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_TOUCH_MINOR, 215); 281ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_TOOL_MAJOR, 216); 282ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_TOOL_MINOR, 217); 283ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[0].setAxisValue(AMOTION_EVENT_AXIS_ORIENTATION, 218); 284ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_X, 220); 285ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_Y, 221); 286ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_PRESSURE, 222); 287ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_SIZE, 223); 288ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_TOUCH_MAJOR, 224); 289ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_TOUCH_MINOR, 225); 290ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_TOOL_MAJOR, 226); 291ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_TOOL_MINOR, 227); 292ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown pointerCoords[1].setAxisValue(AMOTION_EVENT_AXIS_ORIENTATION, 228); 293ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown event.addSample(ARBITRARY_EVENT_TIME + 2, pointerCoords); 294ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 295ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(AINPUT_EVENT_TYPE_MOTION, event.getType()); 296ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(2, event.getDeviceId()); 297ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(AINPUT_SOURCE_TOUCHSCREEN, event.getSource()); 298ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(AMOTION_EVENT_ACTION_MOVE, event.getAction()); 299ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED, event.getFlags()); 300ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(AMOTION_EVENT_EDGE_FLAG_TOP, event.getEdgeFlags()); 301ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(AMETA_ALT_ON, event.getMetaState()); 302ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(X_OFFSET, event.getXOffset()); 303ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(Y_OFFSET, event.getYOffset()); 304ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(2.0f, event.getXPrecision()); 305ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(2.1f, event.getYPrecision()); 306ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(ARBITRARY_DOWN_TIME, event.getDownTime()); 307ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 308ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(2U, event.getPointerCount()); 309ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(1, event.getPointerId(0)); 310ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(2, event.getPointerId(1)); 311ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 312ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(2U, event.getHistorySize()); 313ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 314ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown // Get data. 315ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(ARBITRARY_EVENT_TIME, event.getHistoricalEventTime(0)); 316ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(ARBITRARY_EVENT_TIME + 1, event.getHistoricalEventTime(1)); 317ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(ARBITRARY_EVENT_TIME + 2, event.getEventTime()); 318ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 319ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(11, event.getHistoricalRawPointerCoords(0, 0)-> 320ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown getAxisValue(AMOTION_EVENT_AXIS_Y)); 321ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(21, event.getHistoricalRawPointerCoords(1, 0)-> 322ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown getAxisValue(AMOTION_EVENT_AXIS_Y)); 323ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(111, event.getHistoricalRawPointerCoords(0, 1)-> 324ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown getAxisValue(AMOTION_EVENT_AXIS_Y)); 325ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(121, event.getHistoricalRawPointerCoords(1, 1)-> 326ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown getAxisValue(AMOTION_EVENT_AXIS_Y)); 327ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(211, event.getRawPointerCoords(0)-> 328ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown getAxisValue(AMOTION_EVENT_AXIS_Y)); 329ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(221, event.getRawPointerCoords(1)-> 330ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown getAxisValue(AMOTION_EVENT_AXIS_Y)); 331ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 332ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(11, event.getHistoricalRawAxisValue(AMOTION_EVENT_AXIS_Y, 0, 0)); 333ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(21, event.getHistoricalRawAxisValue(AMOTION_EVENT_AXIS_Y, 1, 0)); 334ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(111, event.getHistoricalRawAxisValue(AMOTION_EVENT_AXIS_Y, 0, 1)); 335ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(121, event.getHistoricalRawAxisValue(AMOTION_EVENT_AXIS_Y, 1, 1)); 336ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(211, event.getRawAxisValue(AMOTION_EVENT_AXIS_Y, 0)); 337ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(221, event.getRawAxisValue(AMOTION_EVENT_AXIS_Y, 1)); 338ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 339ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(10, event.getHistoricalRawX(0, 0)); 340ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(20, event.getHistoricalRawX(1, 0)); 341ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(110, event.getHistoricalRawX(0, 1)); 342ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(120, event.getHistoricalRawX(1, 1)); 343ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(210, event.getRawX(0)); 344ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(220, event.getRawX(1)); 345ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 346ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(11, event.getHistoricalRawY(0, 0)); 347ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(21, event.getHistoricalRawY(1, 0)); 348ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(111, event.getHistoricalRawY(0, 1)); 349ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(121, event.getHistoricalRawY(1, 1)); 350ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(211, event.getRawY(0)); 351ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(221, event.getRawY(1)); 352ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 353ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(X_OFFSET + 10, event.getHistoricalX(0, 0)); 354ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(X_OFFSET + 20, event.getHistoricalX(1, 0)); 355ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(X_OFFSET + 110, event.getHistoricalX(0, 1)); 356ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(X_OFFSET + 120, event.getHistoricalX(1, 1)); 357ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(X_OFFSET + 210, event.getX(0)); 358ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(X_OFFSET + 220, event.getX(1)); 359ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 360ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(Y_OFFSET + 11, event.getHistoricalY(0, 0)); 361ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(Y_OFFSET + 21, event.getHistoricalY(1, 0)); 362ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(Y_OFFSET + 111, event.getHistoricalY(0, 1)); 363ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(Y_OFFSET + 121, event.getHistoricalY(1, 1)); 364ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(Y_OFFSET + 211, event.getY(0)); 365ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(Y_OFFSET + 221, event.getY(1)); 366ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 367ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(12, event.getHistoricalPressure(0, 0)); 368ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(22, event.getHistoricalPressure(1, 0)); 369ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(112, event.getHistoricalPressure(0, 1)); 370ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(122, event.getHistoricalPressure(1, 1)); 371ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(212, event.getPressure(0)); 372ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(222, event.getPressure(1)); 373ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 374ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(13, event.getHistoricalSize(0, 0)); 375ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(23, event.getHistoricalSize(1, 0)); 376ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(113, event.getHistoricalSize(0, 1)); 377ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(123, event.getHistoricalSize(1, 1)); 378ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(213, event.getSize(0)); 379ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(223, event.getSize(1)); 380ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 381ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(14, event.getHistoricalTouchMajor(0, 0)); 382ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(24, event.getHistoricalTouchMajor(1, 0)); 383ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(114, event.getHistoricalTouchMajor(0, 1)); 384ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(124, event.getHistoricalTouchMajor(1, 1)); 385ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(214, event.getTouchMajor(0)); 386ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(224, event.getTouchMajor(1)); 387ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 388ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(15, event.getHistoricalTouchMinor(0, 0)); 389ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(25, event.getHistoricalTouchMinor(1, 0)); 390ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(115, event.getHistoricalTouchMinor(0, 1)); 391ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(125, event.getHistoricalTouchMinor(1, 1)); 392ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(215, event.getTouchMinor(0)); 393ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(225, event.getTouchMinor(1)); 394ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 395ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(16, event.getHistoricalToolMajor(0, 0)); 396ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(26, event.getHistoricalToolMajor(1, 0)); 397ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(116, event.getHistoricalToolMajor(0, 1)); 398ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(126, event.getHistoricalToolMajor(1, 1)); 399ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(216, event.getToolMajor(0)); 400ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(226, event.getToolMajor(1)); 401ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 402ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(17, event.getHistoricalToolMinor(0, 0)); 403ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(27, event.getHistoricalToolMinor(1, 0)); 404ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(117, event.getHistoricalToolMinor(0, 1)); 405ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(127, event.getHistoricalToolMinor(1, 1)); 406ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(217, event.getToolMinor(0)); 407ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(227, event.getToolMinor(1)); 408ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 409ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(18, event.getHistoricalOrientation(0, 0)); 410ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(28, event.getHistoricalOrientation(1, 0)); 411ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(118, event.getHistoricalOrientation(0, 1)); 412ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(128, event.getHistoricalOrientation(1, 1)); 413ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(218, event.getOrientation(0)); 414ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown ASSERT_EQ(228, event.getOrientation(1)); 415ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown} 416ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown 417ebbd5d14ad3b1e762d9fcfa026e19413cc857e05Jeff Brown} // namespace android 418