Lines Matching refs:event

26  * When a problem is detected, the event is tainted.  This mechanism prevents the same
56 // The most recently checked event and the nesting level at which it was checked.
58 // so that the verifier can detect when it has been asked to verify the same event twice.
59 // It does not make sense to examine the contents of the last event since it may have
70 // Current event and its type.
90 // Set to true when we discover that the touch event stream is inconsistent.
94 // Set to true if the touch event stream is partially unhandled.
104 * Indicates that the verifier is intended to act on raw device input event streams.
140 * Resets the state of the input event consistency verifier.
160 * Checks an arbitrary input event.
161 * @param event The event.
163 * or 1 from a subclass. If the event was already checked by this consistency verifier
168 public void onInputEvent(InputEvent event, int nestingLevel) {
169 if (event instanceof KeyEvent) {
170 final KeyEvent keyEvent = (KeyEvent)event;
173 final MotionEvent motionEvent = (MotionEvent)event;
185 * Checks a key event.
186 * @param event The event.
188 * or 1 from a subclass. If the event was already checked by this consistency verifier
193 public void onKeyEvent(KeyEvent event, int nestingLevel) {
194 if (!startEvent(event, nestingLevel, EVENT_TYPE_KEY)) {
199 ensureMetaStateIsNormalized(event.getMetaState());
201 final int action = event.getAction();
202 final int deviceId = event.getDeviceId();
203 final int source = event.getSource();
204 final int keyCode = event.getKeyCode();
216 && event.getRepeatCount() == 0) {
217 problem("ACTION_DOWN but key is already down and this event "
238 + " for key event.");
247 * Checks a trackball event.
248 * @param event The event.
250 * or 1 from a subclass. If the event was already checked by this consistency verifier
255 public void onTrackballEvent(MotionEvent event, int nestingLevel) {
256 if (!startEvent(event, nestingLevel, EVENT_TYPE_TRACKBALL)) {
261 ensureMetaStateIsNormalized(event.getMetaState());
263 final int action = event.getAction();
264 final int source = event.getSource();
274 ensureHistorySizeIsZeroForThisAction(event);
275 ensurePointerCountIsOneForThisAction(event);
284 ensureHistorySizeIsZeroForThisAction(event);
285 ensurePointerCountIsOneForThisAction(event);
288 ensurePointerCountIsOneForThisAction(event);
292 + " for trackball event.");
296 if (mTrackballDown && event.getPressure() <= 0) {
298 } else if (!mTrackballDown && event.getPressure() != 0) {
310 * Checks a touch event.
311 * @param event The event.
313 * or 1 from a subclass. If the event was already checked by this consistency verifier
318 public void onTouchEvent(MotionEvent event, int nestingLevel) {
319 if (!startEvent(event, nestingLevel, EVENT_TYPE_TOUCH)) {
323 final int action = event.getAction();
332 event.setTainted(true);
336 ensureMetaStateIsNormalized(event.getMetaState());
338 final int deviceId = event.getDeviceId();
339 final int source = event.getSource();
344 problem("Touch event stream contains events from multiple sources: "
353 final int pointerCount = event.getPointerCount();
361 ensureHistorySizeIsZeroForThisAction(event);
362 ensurePointerCountIsOneForThisAction(event);
363 mTouchEventStreamPointers = 1 << event.getPointerId(0);
366 ensureHistorySizeIsZeroForThisAction(event);
367 ensurePointerCountIsOneForThisAction(event);
390 ensureHistorySizeIsZeroForThisAction(event);
391 ensurePointerCountIsOneForThisAction(event);
395 final int actionMasked = event.getActionMasked();
396 final int actionIndex = event.getActionIndex();
407 final int id = event.getPointerId(actionIndex);
417 ensureHistorySizeIsZeroForThisAction(event);
424 final int id = event.getPointerId(actionIndex);
434 ensureHistorySizeIsZeroForThisAction(event);
437 + " for touch event.");
451 * Checks a generic motion event.
452 * @param event The event.
454 * or 1 from a subclass. If the event was already checked by this consistency verifier
459 public void onGenericMotionEvent(MotionEvent event, int nestingLevel) {
460 if (!startEvent(event, nestingLevel, EVENT_TYPE_GENERIC_MOTION)) {
465 ensureMetaStateIsNormalized(event.getMetaState());
467 final int action = event.getAction();
468 final int source = event.getSource();
472 ensurePointerCountIsOneForThisAction(event);
476 ensurePointerCountIsOneForThisAction(event);
479 ensurePointerCountIsOneForThisAction(event);
486 ensureHistorySizeIsZeroForThisAction(event);
487 ensurePointerCountIsOneForThisAction(event);
490 problem("Invalid action for generic pointer event.");
496 ensurePointerCountIsOneForThisAction(event);
499 problem("Invalid action for generic joystick event.");
509 * Notifies the verifier that a given event was unhandled and the rest of the
510 * trace for the event should be ignored.
511 * This method should only be called if the event was previously checked by
513 * @param event The event.
515 * or 1 from a subclass. If the event was already checked by this consistency verifier
520 public void onUnhandledEvent(InputEvent event, int nestingLevel) {
529 if (event instanceof KeyEvent) {
530 final KeyEvent keyEvent = (KeyEvent)event;
539 final MotionEvent motionEvent = (MotionEvent)event;
558 private void ensurePointerCountIsOneForThisAction(MotionEvent event) {
559 final int pointerCount = event.getPointerCount();
562 + MotionEvent.actionToString(event.getAction()));
566 private void ensureHistorySizeIsZeroForThisAction(MotionEvent event) {
567 final int historySize = event.getHistorySize();
570 + MotionEvent.actionToString(event.getAction()));
574 private boolean startEvent(InputEvent event, int nestingLevel, String eventType) {
575 // Ignore the event if we already checked it at a higher nesting level.
576 final int seq = event.getSequenceNumber();
592 mCurrentEvent = event;
600 // Write a log message only if the event was not already tainted.
610 final InputEvent event = mRecentEvents[index];
611 if (event == null) {
615 appendEvent(mViolationMessage, i + 1, event, mRecentEventsUnhandled[index]);
621 // Taint the event so that we do not generate additional violations from it
647 InputEvent event, boolean unhandled) {
648 message.append(index).append(": sent at ").append(event.getEventTimeNano());
653 message.append(event);