@Override public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) { super.onInitializeAccessibilityNodeInfo(host, info); info.setClassName(ViewPager.class.getName()); info.setScrollable(canScroll()); if (canScrollHorizontally(1)) { info.addAction(AccessibilityNodeInfoCompat.ACTION_SCROLL_FORWARD); } if (canScrollHorizontally(-1)) { info.addAction(AccessibilityNodeInfoCompat.ACTION_SCROLL_BACKWARD); } }
@Override public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) { super.onInitializeAccessibilityEvent(host, event); event.setClassName(BGASwipeBackLayout.class.getName()); }
@Override public boolean performAccessibilityAction(View host, int action, Bundle args) { if (super.performAccessibilityAction(host, action, args)) { return true; } switch (action) { case AccessibilityNodeInfoCompat.ACTION_SCROLL_FORWARD: { if (canScrollHorizontally(1)) { setCurrentItem(mCurItem + 1); return true; } } return false; case AccessibilityNodeInfoCompat.ACTION_SCROLL_BACKWARD: { if (canScrollHorizontally(-1)) { setCurrentItem(mCurItem - 1); return true; } } return false; } return false; }
@Override public boolean onRequestSendAccessibilityEvent(ViewGroup host, View child, AccessibilityEvent event) { if (!filter(child)) { return super.onRequestSendAccessibilityEvent(host, child, event); } return false; }
@Override public boolean dispatchPopulateAccessibilityEvent(View host, AccessibilityEvent event) { return compat.dispatchPopulateAccessibilityEvent(host, event); }
@Override public boolean onRequestSendAccessibilityEvent(ViewGroup host, View child, AccessibilityEvent event) { if (!filter(child)) { return super.onRequestSendAccessibilityEvent(host, child, event); } return false; }
@Override public boolean dispatchPopulateAccessibilityEvent(View host, AccessibilityEvent event) { return compat.dispatchPopulateAccessibilityEvent(host, event); }
@Override public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) { super.onInitializeAccessibilityNodeInfo(host, info); info.setClassName(CustomViewPager.class.getName()); info.setScrollable(canScroll()); if (canScrollHorizontally(1)) { info.addAction(AccessibilityNodeInfoCompat.ACTION_SCROLL_FORWARD); } if (canScrollHorizontally(-1)) { info.addAction(AccessibilityNodeInfoCompat.ACTION_SCROLL_BACKWARD); } }
@Override public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) { super.onInitializeAccessibilityEvent(host, event); event.setClassName(CustomViewPager.class.getName()); final AccessibilityRecordCompat recordCompat = AccessibilityEventCompat.asRecord(event); recordCompat.setScrollable(canScroll()); if (event.getEventType() == AccessibilityEventCompat.TYPE_VIEW_SCROLLED && mAdapter != null) { recordCompat.setItemCount(mAdapter.getCount()); recordCompat.setFromIndex(mCurItem); recordCompat.setToIndex(mCurItem); } }
@Override public boolean performAccessibilityAction(View host, int action, Bundle args) { if (super.performAccessibilityAction(host, action, args)) { return true; } switch (action) { case AccessibilityNodeInfoCompat.ACTION_SCROLL_FORWARD: { if (canScrollHorizontally(1)) { setCurrentItem(mCurItem + 1); return true; } } return false; case AccessibilityNodeInfoCompat.ACTION_SCROLL_BACKWARD: { if (canScrollHorizontally(-1)) { setCurrentItem(mCurItem - 1); return true; } } return false; } return false; }
@Override public boolean onRequestSendAccessibilityEvent(ViewGroup host, View child, AccessibilityEvent event) { if (!filter(child)) { return super.onRequestSendAccessibilityEvent(host, child, event); } return false; }
@Override public boolean dispatchPopulateAccessibilityEvent(View host, AccessibilityEvent event) { return compat.dispatchPopulateAccessibilityEvent(host, event); }
@Override public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) { super.onInitializeAccessibilityNodeInfo(host, info); info.setClassName(DirectionalViewpager.class.getName()); info.setScrollable(canScroll()); if (isHorizontal()) { if (canScrollHorizontally(1)) { info.addAction(AccessibilityNodeInfoCompat.ACTION_SCROLL_FORWARD); } if (canScrollHorizontally(-1)) { info.addAction(AccessibilityNodeInfoCompat.ACTION_SCROLL_BACKWARD); } } else { if (internalCanScrollVertically(1)) { info.addAction(AccessibilityNodeInfoCompat.ACTION_SCROLL_FORWARD); } if (internalCanScrollVertically(-1)) { info.addAction(AccessibilityNodeInfoCompat.ACTION_SCROLL_BACKWARD); } } }
@Override public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) { super.onInitializeAccessibilityEvent(host, event); event.setClassName(DirectionalViewpager.class.getName()); AccessibilityRecordCompat recordCompat = null; if (isHorizontal()) { recordCompat = AccessibilityEventCompat.asRecord(event); } else { recordCompat = AccessibilityRecordCompat.obtain(); } recordCompat.setScrollable(canScroll()); if (event.getEventType() == AccessibilityEventCompat.TYPE_VIEW_SCROLLED && mAdapter != null) { recordCompat.setItemCount(mAdapter.getCount()); recordCompat.setFromIndex(mCurItem); recordCompat.setToIndex(mCurItem); } }
@Override public boolean performAccessibilityAction(View host, int action, Bundle args) { if (super.performAccessibilityAction(host, action, args)) { return true;
@Override public boolean onRequestSendAccessibilityEvent(ViewGroup host, View child, AccessibilityEvent event) { return compat.onRequestSendAccessibilityEvent(host, child, event); }
@Override public boolean dispatchPopulateAccessibilityEvent(View host, AccessibilityEvent event) { // Special case to handle window state change events. As far as // accessibility services are concerned, state changes from // LauncherDrawerLayout invalidate the entire contents of the screen (like // an Activity or Dialog) and they should announce the title of the // new content. if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) { final List<CharSequence> eventText = event.getText(); final View visibleDrawer = findVisibleDrawer(); if (visibleDrawer != null) { final int edgeGravity = getDrawerViewAbsoluteGravity(visibleDrawer); final CharSequence title = getDrawerTitle(edgeGravity); if (title != null) { eventText.add(title); } } return true; } return super.dispatchPopulateAccessibilityEvent(host, event); }
@Override public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) { final AccessibilityNodeInfoCompat superNode = AccessibilityNodeInfoCompat.obtain(info); super.onInitializeAccessibilityNodeInfo(host, superNode); copyNodeInfoNoChildren(info, superNode); superNode.recycle(); info.setClassName(BGASwipeBackLayout.class.getName()); info.setSource(host); final ViewParent parent = ViewCompat.getParentForAccessibility(host); if (parent instanceof View) { info.setParent((View) parent); } // This is a best-approximation of addChildrenForAccessibility() // that accounts for filtering. final int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { final View child = getChildAt(i); if (!filter(child) && (child.getVisibility() == View.VISIBLE)) { // Force importance to "yes" since we can't read the value. ViewCompat.setImportantForAccessibility( child, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_YES); info.addChild(child); } } }
@Override public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) { super.onInitializeAccessibilityEvent(host, event); event.setClassName(ViewPager.class.getName()); final AccessibilityRecordCompat recordCompat = AccessibilityEventCompat.asRecord(event); recordCompat.setScrollable(canScroll()); if (event.getEventType() == AccessibilityEventCompat.TYPE_VIEW_SCROLLED && mAdapter != null) { recordCompat.setItemCount(mAdapter.getCount()); recordCompat.setFromIndex(mCurItem); recordCompat.setToIndex(mCurItem); } }
@Override public boolean performAccessibilityAction(View host, int action, Bundle args) { return compat.performAccessibilityAction(host, action, args); } });