Example usage for android.view.accessibility AccessibilityEvent TYPE_VIEW_HOVER_EXIT

List of usage examples for android.view.accessibility AccessibilityEvent TYPE_VIEW_HOVER_EXIT

Introduction

In this page you can find the example usage for android.view.accessibility AccessibilityEvent TYPE_VIEW_HOVER_EXIT.

Prototype

int TYPE_VIEW_HOVER_EXIT

To view the source code for android.view.accessibility AccessibilityEvent TYPE_VIEW_HOVER_EXIT.

Click Source Link

Document

Represents the event of a hover exit over a android.view.View .

Usage

From source file:com.android.utils.AccessibilityEventUtils.java

public static int[] getAllEventTypes() {
    return new int[] { AccessibilityEvent.TYPE_ANNOUNCEMENT, AccessibilityEvent.TYPE_ASSIST_READING_CONTEXT,
            AccessibilityEvent.TYPE_GESTURE_DETECTION_END, AccessibilityEvent.TYPE_GESTURE_DETECTION_START,
            AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED,
            AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_END,
            AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_START,
            AccessibilityEvent.TYPE_TOUCH_INTERACTION_END, AccessibilityEvent.TYPE_TOUCH_INTERACTION_START,
            AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED,
            AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED, AccessibilityEvent.TYPE_VIEW_CLICKED,
            AccessibilityEvent.TYPE_VIEW_CONTEXT_CLICKED, AccessibilityEvent.TYPE_VIEW_FOCUSED,
            AccessibilityEvent.TYPE_VIEW_HOVER_ENTER, AccessibilityEvent.TYPE_VIEW_HOVER_EXIT,
            AccessibilityEvent.TYPE_VIEW_LONG_CLICKED, AccessibilityEvent.TYPE_VIEW_SCROLLED,
            AccessibilityEvent.TYPE_VIEW_SELECTED, AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED,
            AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED,
            AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY,
            AccessibilityEvent.TYPE_WINDOWS_CHANGED, AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED,
            AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED };
}

From source file:com.google.android.marvin.mytalkback.ProcessorLongHover.java

@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
    final int eventType = event.getEventType();

    if ((eventType == AccessibilityEvent.TYPE_VIEW_HOVER_ENTER)
            || (eventType == AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_START)) {
        mIsTouchExploring = true;/*from w w w.j  av  a 2s  .  c  o  m*/
    }

    if (eventType == AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_END) {
        mIsTouchExploring = false;
        cacheEnteredNode(null);
        cancelLongHover();
        return;
    }

    if (!mIsTouchExploring
            || ((eventType != TRIGGER_ACTION) && (eventType != AccessibilityEvent.TYPE_VIEW_HOVER_EXIT))) {
        return;
    }

    final AccessibilityRecordCompat record = new AccessibilityRecordCompat(event);
    final AccessibilityNodeInfoCompat source = record.getSource();

    if (source == null) {
        return;
    }

    if (eventType == TRIGGER_ACTION) {
        cacheEnteredNode(source);
        postLongHoverRunnable(event);
    } else if (eventType == AccessibilityEventCompat.TYPE_VIEW_HOVER_EXIT) {
        if (source.equals(mWaitingForExit)) {
            cancelLongHover();
        }
    }

    source.recycle();
}

From source file:com.android.screenspeak.eventprocessor.ProcessorAccessibilityHints.java

@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
    final int eventType = event.getEventType();

    if (eventType == AccessibilityEvent.TYPE_VIEW_HOVER_ENTER
            || eventType == AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_START) {
        mIsTouchExploring = true;//from w w w .  j a v a  2  s . co  m
    }

    if (eventType == AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_END
            || eventType == AccessibilityEvent.TYPE_VIEW_CLICKED) {
        mIsTouchExploring = false;
        cacheEnteredNode(null);
        cancelA11yHint();
        return;
    }

    if (!mIsTouchExploring || ((eventType != AccessibilityEventCompat.TYPE_VIEW_ACCESSIBILITY_FOCUSED)
            && (eventType != AccessibilityEvent.TYPE_VIEW_HOVER_EXIT))) {
        return;
    }

    final AccessibilityRecordCompat record = AccessibilityEventCompat.asRecord(event);
    final AccessibilityNodeInfoCompat source = record.getSource();

    if (source == null) {
        return;
    }

    if (eventType == AccessibilityEventCompat.TYPE_VIEW_ACCESSIBILITY_FOCUSED) {
        cacheEnteredNode(source);
        String hint = getHintFromEvent(event);
        if (hint != null) {
            postA11yHintRunnable(hint);
        }
    } else if (eventType == AccessibilityEventCompat.TYPE_VIEW_HOVER_EXIT) {
        if (source.equals(mWaitingForExit)) {
            cancelA11yHint();
        }
    }

    source.recycle();
}

From source file:com.android.yijiang.kzx.widget.betterpickers.TouchExplorationHelper.java

private void setCurrentItem(T item) {
    if (mCurrentItem == item) {
        return;// ww  w. j a  v a  2 s  .c om
    }

    if (mCurrentItem != null) {
        sendEventForItem(mCurrentItem, AccessibilityEvent.TYPE_VIEW_HOVER_EXIT);
    }

    mCurrentItem = item;

    if (mCurrentItem != null) {
        sendEventForItem(mCurrentItem, AccessibilityEvent.TYPE_VIEW_HOVER_ENTER);
    }
}

From source file:com.android.utils.ExploreByTouchHelper.java

/**
 * Sets the currently hovered item, sending hover accessibility events as
 * necessary to maintain the correct state.
 *
 * @param virtualViewId The virtual view id for the item currently being
 *            hovered, or {@code #INVALID_ID} if no item is hovered within
 *            the parent view.// w  ww  . j  ava2  s . c o  m
 */
private void setHoveredVirtualViewId(int virtualViewId) {
    if (mHoveredVirtualViewId == virtualViewId) {
        return;
    }

    final int previousVirtualViewId = mHoveredVirtualViewId;
    mHoveredVirtualViewId = virtualViewId;

    // Stay consistent with framework behavior by sending ENTER/EXIT pairs
    // in reverse order. This is accurate as of API 18.
    sendEventForVirtualViewId(virtualViewId, AccessibilityEvent.TYPE_VIEW_HOVER_ENTER);
    sendEventForVirtualViewId(previousVirtualViewId, AccessibilityEvent.TYPE_VIEW_HOVER_EXIT);
}