AccessibilityNodeInfoCompat.java revision 389a2e54dda92632fc0004c17323ae4e5a249277
19648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov/* 29648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Copyright (C) 2011 The Android Open Source Project 39648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 49648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Licensed under the Apache License, Version 2.0 (the "License"); 59648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * you may not use this file except in compliance with the License. 69648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * You may obtain a copy of the License at 79648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 89648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * http://www.apache.org/licenses/LICENSE-2.0 99648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Unless required by applicable law or agreed to in writing, software 119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * distributed under the License is distributed on an "AS IS" BASIS, 129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * See the License for the specific language governing permissions and 149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * limitations under the License. 159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovpackage android.support.v4.view.accessibility; 189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.graphics.Rect; 209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.os.Build; 2170e96ebf69f91da84681a6263b3862c63d53ab11alanvimport android.os.Bundle; 220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslavimport android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat; 23086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viveretteimport android.support.v4.view.ViewCompat; 249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.view.View; 259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport java.util.ArrayList; 26f9c2277244722eca88c784b9cfdcc78df7f94781Svetoslav Ganovimport java.util.Collections; 279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport java.util.List; 289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov/** 300574ca37da4619afe4e26753f5a1b4de314b6565Svetoslav Ganov * Helper for accessing {@link android.view.accessibility.AccessibilityNodeInfo} 310574ca37da4619afe4e26753f5a1b4de314b6565Svetoslav Ganov * introduced after API level 4 in a backwards compatible fashion. 329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovpublic class AccessibilityNodeInfoCompat { 349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 35389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public static class AccessibilityActionCompat { 36389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen private final Object mAction; 37389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 38389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen private AccessibilityActionCompat(Object action) { 39389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen mAction = action; 40389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 41389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 42389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen /** 43389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * Gets the id for this action. 44389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * 45389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * @return The action id. 46389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen */ 47389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public int getId() { 48389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen return AccessibilityNodeInfoCompatApi21.AccessibilityAction.getId(mAction); 49389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 50389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 51389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen /** 52389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * Gets the label for this action. Its purpose is to describe the 53389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * action to user. 54389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * 55389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * @return The label. 56389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen */ 57389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public CharSequence getLabel() { 58389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen return AccessibilityNodeInfoCompatApi21.AccessibilityAction.getLabel(mAction); 59389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 60389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 61389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 62fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static class CollectionInfoCompat { 63fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen private final Object mInfo; 64fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 65fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen private CollectionInfoCompat(Object info) { 66fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen mInfo = info; 67fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 68fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 69fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getColumnCount() { 70fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.CollectionInfo.getColumnCount(mInfo); 71fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 72fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 73fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getRowCount() { 74fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.CollectionInfo.getRowCount(mInfo); 75fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 76fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 77fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public boolean isHierarchical() { 78fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.CollectionInfo.isHierarchical(mInfo); 79fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 80fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 81fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 82fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static class CollectionItemInfoCompat { 83fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen private final Object mInfo; 84fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 85fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen private CollectionItemInfoCompat(Object info) { 86fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen mInfo = info; 87fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 88fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 89fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getColumnIndex() { 90fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.getColumnIndex(mInfo); 91fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 92fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 93fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getColumnSpan() { 94fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.getColumnSpan(mInfo); 95fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 96fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 97fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getRowIndex() { 98fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.getRowIndex(mInfo); 99fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 100fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 101fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getRowSpan() { 102fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.getRowSpan(mInfo); 103fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 104fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 105fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public boolean isHeading() { 106fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.CollectionItemInfo.isHeading(mInfo); 107fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 108fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 109fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 110fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static class RangeInfoCompat { 111fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** Range type: integer. */ 112fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static final int RANGE_TYPE_INT = 0; 113fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** Range type: float. */ 114fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static final int RANGE_TYPE_FLOAT = 1; 115fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** Range type: percent with values from zero to one.*/ 116fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public static final int RANGE_TYPE_PERCENT = 2; 117fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 118fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen private final Object mInfo; 119fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 120fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen private RangeInfoCompat(Object info) { 121fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen mInfo = info; 122fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 123fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 124fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public float getCurrent() { 125fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.RangeInfo.getCurrent(mInfo); 126fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 127fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 128fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public float getMax() { 129fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.RangeInfo.getMax(mInfo); 130fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 131fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 132fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public float getMin() { 133fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.RangeInfo.getMin(mInfo); 134fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 135fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 136fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public int getType() { 137fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.RangeInfo.getType(mInfo); 138fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 139fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 140fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 1419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static interface AccessibilityNodeInfoImpl { 1429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(); 1439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source); 1449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info); 14570e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId); 1469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source); 1473a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId); 14870e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus); 14970e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction); 1509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info); 1519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info); 15270e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index); 1539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child); 1543a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId); 1559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info); 1569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action); 1579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action); 15870e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments); 15970e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities); 16070e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info); 1619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text); 16270e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info); 16370e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId); 1649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent); 1659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds); 1669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds); 1679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds); 1689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds); 1699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info); 1709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable); 1719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info); 1729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked); 1739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info); 1749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable); 1759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info); 1769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused); 17770e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info); 17870e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser); 17970e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info); 18070e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused); 1819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info); 1829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected); 1839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info); 1849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable); 1859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info); 1869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable); 1879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info); 1889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled); 1899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info); 1909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password); 1919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info); 1929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable); 1939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info); 1949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName); 1959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info); 1969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className); 1979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info); 1989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text); 1999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info); 2009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription); 2019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info); 202071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName(Object info); 203071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(Object info, String viewId); 204086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public int getLiveRegion(Object info); 205086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public void setLiveRegion(Object info, int mode); 206fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionInfo(Object info); 207fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionItemInfo(Object info); 208fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getRangeInfo(Object info); 209389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public List<Object> getActionList(Object info); 210389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public void addAction(Object info, int id, CharSequence label); 2119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static class AccessibilityNodeInfoStubImpl implements AccessibilityNodeInfoImpl { 21470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain() { 2169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 2179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 21970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source) { 2219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 2229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 22470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 22570e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId) { 22670e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 22770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 22870e96ebf69f91da84681a6263b3862c63d53ab11alanv 22970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info) { 2319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 2329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action) { 2369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child) { 2419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 24470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2453a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId) { 2463a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 2473a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 2483a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 24970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text) { 251f9c2277244722eca88c784b9cfdcc78df7f94781Svetoslav Ganov return Collections.emptyList(); 2529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 25470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info) { 2569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 2579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 25970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds) { 2619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 26470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds) { 2669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 26970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 27070e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index) { 2719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 2729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 27470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info) { 2769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 2779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 27970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info) { 2819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 2829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info) { 2869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 2879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info) { 2919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 2929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 29470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 29570e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info) { 2969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 2979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 29970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info) { 3019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 3029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 30470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info) { 3069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 3079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 30970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info) { 3119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 3129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info) { 3169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 3179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info) { 3219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 3229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 32470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info) { 3269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 3279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 32970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info) { 3319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 3329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 33470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info) { 3369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 3379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 33970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 34070e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info) { 34170e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 34270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 34370e96ebf69f91da84681a6263b3862c63d53ab11alanv 34470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 34570e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info) { 34670e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 34770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 34870e96ebf69f91da84681a6263b3862c63d53ab11alanv 34970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info) { 3519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 3529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 35470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info) { 3569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 3579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 35970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info) { 3619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 3629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 36470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info) { 3669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 3679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 36970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action) { 3719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 3729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 37470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 37570e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments) { 37670e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 37770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 37870e96ebf69f91da84681a6263b3862c63d53ab11alanv 37970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 38070e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities) { 38170e96ebf69f91da84681a6263b3862c63d53ab11alanv 38270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 38370e96ebf69f91da84681a6263b3862c63d53ab11alanv 38470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 38570e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info) { 38670e96ebf69f91da84681a6263b3862c63d53ab11alanv return 0; 38770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 38870e96ebf69f91da84681a6263b3862c63d53ab11alanv 38970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds) { 3919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 39470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds) { 3969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 39970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable) { 4019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 40470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked) { 4069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 40970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className) { 4119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 41470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable) { 4169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 41970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription) { 4219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 42470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled) { 4269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 42970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable) { 4319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 43470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused) { 4369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 43970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 44070e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser) { 44170e96ebf69f91da84681a6263b3862c63d53ab11alanv 44270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 44370e96ebf69f91da84681a6263b3862c63d53ab11alanv 44470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 44570e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused) { 44670e96ebf69f91da84681a6263b3862c63d53ab11alanv 44770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 44870e96ebf69f91da84681a6263b3862c63d53ab11alanv 44970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable) { 4519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 45470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName) { 4569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 45970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent) { 4619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 46470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password) { 4669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 46970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable) { 4719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 47470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected) { 4769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 47970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source) { 4819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 48470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 4853a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId) { 4863a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 4873a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 4883a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 48970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 49070e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus) { 49170e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 49270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 49370e96ebf69f91da84681a6263b3862c63d53ab11alanv 49470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 49570e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction) { 49670e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 49770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 49870e96ebf69f91da84681a6263b3862c63d53ab11alanv 49970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text) { 5019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 50470e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 5059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info) { 5069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 50870e96ebf69f91da84681a6263b3862c63d53ab11alanv 50970e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 51070e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId) { 51170e96ebf69f91da84681a6263b3862c63d53ab11alanv 51270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 5130fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 5140fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 515071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName(Object info) { 5160fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return null; 5170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 5180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 5190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 520071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(Object info, String viewId) { 5210fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 5220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 523086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 524086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette @Override 525086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public int getLiveRegion(Object info) { 526086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette return ViewCompat.ACCESSIBILITY_LIVE_REGION_NONE; 527086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 528086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 529086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette @Override 530086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public void setLiveRegion(Object info, int mode) { 531086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette // No-op 532086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 533fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 534fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 535fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionInfo(Object info) { 536fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return null; 537fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 538fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 539fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 540fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionItemInfo(Object info) { 541fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return null; 542fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 543fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 544fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 545fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getRangeInfo(Object info) { 546fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return null; 547fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 548389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 549389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 550389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public List<Object> getActionList(Object info) { 551389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen return null; 552389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 553389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 554389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 555389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public void addAction(Object info, int id, CharSequence label) { 556389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 557389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 5589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static class AccessibilityNodeInfoIcsImpl extends AccessibilityNodeInfoStubImpl { 5619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain() { 5639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(); 5649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source) { 5689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(source); 5699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info) { 5739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(info); 5749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action) { 5789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.addAction(info, action); 5799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child) { 5839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.addChild(info, child); 5849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text) { 5889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.findAccessibilityNodeInfosByText(info, text); 5899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info) { 5939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getActions(info); 5949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds) { 5989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.getBoundsInParent(info, outBounds); 5999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds) { 6039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.getBoundsInScreen(info, outBounds); 6049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 60770e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index) { 60870e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatIcs.getChild(info, index); 6099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info) { 6139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getChildCount(info); 6149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info) { 6189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getClassName(info); 6199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info) { 6239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getContentDescription(info); 6249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info) { 6289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getPackageName(info); 6299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 63270e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info) { 63370e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatIcs.getParent(info); 6349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info) { 6389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getText(info); 6399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info) { 6439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getWindowId(info); 6449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info) { 6489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isCheckable(info); 6499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info) { 6539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isChecked(info); 6549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info) { 6589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isClickable(info); 6599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info) { 6639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isEnabled(info); 6649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info) { 6689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isFocusable(info); 6699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info) { 6739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isFocused(info); 6749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info) { 6789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isLongClickable(info); 6799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info) { 6839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isPassword(info); 6849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info) { 6889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isScrollable(info); 6899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info) { 6939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isSelected(info); 6949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action) { 6989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.performAction(info, action); 6999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds) { 7039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setBoundsInParent(info, bounds); 7049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds) { 7089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setBoundsInScreen(info, bounds); 7099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable) { 7139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setCheckable(info, checkable); 7149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked) { 7189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setChecked(info, checked); 7199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className) { 7239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setClassName(info, className); 7249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable) { 7289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setClickable(info, clickable); 7299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription) { 7339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setContentDescription(info, contentDescription); 7349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled) { 7389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setEnabled(info, enabled); 7399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable) { 7439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setFocusable(info, focusable); 7449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused) { 7489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setFocused(info, focused); 7499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable) { 7539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setLongClickable(info, longClickable); 7549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName) { 7589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setPackageName(info, packageName); 7599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent) { 7639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setParent(info, parent); 7649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password) { 7689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setPassword(info, password); 7699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable) { 7739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setScrollable(info, scrollable); 7749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected) { 7789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setSelected(info, selected); 7799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source) { 7839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setSource(info, source); 7849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text) { 7889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setText(info, text); 7899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 7929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info) { 7939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.recycle(info); 7949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 795389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 796389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 797389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public void addAction(Object info, int id, CharSequence label) { 798389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen if (Integer.bitCount(id) == 1) { 799389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen addAction(info, id); 800389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 801389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 8029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 8039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 8043a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov static class AccessibilityNodeInfoJellybeanImpl extends AccessibilityNodeInfoIcsImpl { 8053a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov @Override 80670e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId) { 80770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.obtain(root, virtualDescendantId); 80870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 80970e96ebf69f91da84681a6263b3862c63d53ab11alanv 81070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 81170e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus) { 81270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.findFocus(info, focus); 81370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 81470e96ebf69f91da84681a6263b3862c63d53ab11alanv 81570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 81670e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction) { 81770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.focusSearch(info, direction); 81870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 81970e96ebf69f91da84681a6263b3862c63d53ab11alanv 82070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 8213a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId) { 8223a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov AccessibilityNodeInfoCompatJellyBean.addChild(info, child, virtualDescendantId); 8233a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 8243a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 8253a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov @Override 8263a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId) { 8273a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov AccessibilityNodeInfoCompatJellyBean.setSource(info, root, virtualDescendantId); 8283a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 82970e96ebf69f91da84681a6263b3862c63d53ab11alanv 83070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 83170e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info) { 83270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.isVisibleToUser(info); 83370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 83470e96ebf69f91da84681a6263b3862c63d53ab11alanv 83570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 83670e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser) { 83770e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setVisibleToUser(info, visibleToUser); 83870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 83970e96ebf69f91da84681a6263b3862c63d53ab11alanv 84070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 84170e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info) { 84270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.isAccessibilityFocused(info); 84370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 84470e96ebf69f91da84681a6263b3862c63d53ab11alanv 84570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 84670e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused) { 84770e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setAccesibilityFocused(info, focused); 84870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 84970e96ebf69f91da84681a6263b3862c63d53ab11alanv 85070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 85170e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments) { 85270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.performAction(info, action, arguments); 85370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 85470e96ebf69f91da84681a6263b3862c63d53ab11alanv 85570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 85670e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities) { 85770e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setMovementGranularities(info, granularities); 85870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 85970e96ebf69f91da84681a6263b3862c63d53ab11alanv 86070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 86170e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info) { 86270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.getMovementGranularities(info); 86370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 86470e96ebf69f91da84681a6263b3862c63d53ab11alanv 86570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 86670e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId) { 86770e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setParent(info, root, virtualDescendantId); 86870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 8693a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 8703a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 8710fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav static class AccessibilityNodeInfoJellybeanMr2Impl extends AccessibilityNodeInfoJellybeanImpl { 8720fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 8730fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 874071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName(Object info) { 8750fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return AccessibilityNodeInfoCompatJellybeanMr2.getViewIdResourceName(info); 8760fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 8770fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 8780fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 879071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(Object info, String viewId) { 8800fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav AccessibilityNodeInfoCompatJellybeanMr2.setViewIdResourceName(info, viewId); 8810fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 8820fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 8830fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 884086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette static class AccessibilityNodeInfoKitKatImpl extends AccessibilityNodeInfoJellybeanMr2Impl { 885086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette @Override 886086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public int getLiveRegion(Object info) { 887086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette return AccessibilityNodeInfoCompatKitKat.getLiveRegion(info); 888086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 889086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 890086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette @Override 891086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public void setLiveRegion(Object info, int mode) { 892086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette AccessibilityNodeInfoCompatKitKat.setLiveRegion(info, mode); 893086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 894fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 895fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 896fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionInfo(Object info) { 897fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.getCollectionInfo(info); 898fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 899fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 900fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 901fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getCollectionItemInfo(Object info) { 902fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.getCollectionItemInfo(info); 903fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 904fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 905fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen @Override 906fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public Object getRangeInfo(Object info) { 907fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return AccessibilityNodeInfoCompatKitKat.getRangeInfo(info); 908fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 909086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 910086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 911389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen static class AccessibilityNodeInfoApi21Impl extends AccessibilityNodeInfoKitKatImpl { 912389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 913389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public List<Object> getActionList(Object info) { 914389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen return AccessibilityNodeInfoCompatApi21.getActionList(info); 915389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 916389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 917389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen @Override 918389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public void addAction(Object info, int id, CharSequence label) { 919389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen AccessibilityNodeInfoCompatApi21.addAction(info, id, label); 920389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 921389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 922389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 9239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static { 924389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen if (Build.VERSION.CODENAME.equals("L")) { // b/15469684 filed to change to API 21 925389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen IMPL = new AccessibilityNodeInfoApi21Impl(); 926389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } else if (Build.VERSION.SDK_INT >= 19) { // KitKat 927086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette IMPL = new AccessibilityNodeInfoKitKatImpl(); 928086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } else if (Build.VERSION.SDK_INT >= 18) { // JellyBean MR2 9290fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav IMPL = new AccessibilityNodeInfoJellybeanMr2Impl(); 9300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } else if (Build.VERSION.SDK_INT >= 16) { // JellyBean 9313a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL = new AccessibilityNodeInfoJellybeanImpl(); 9323a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } else if (Build.VERSION.SDK_INT >= 14) { // ICS 9339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL = new AccessibilityNodeInfoIcsImpl(); 9349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } else { 9359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL = new AccessibilityNodeInfoStubImpl(); 9369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov private static final AccessibilityNodeInfoImpl IMPL; 9409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov private final Object mInfo; 9429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9430fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Actions introduced in IceCreamSandwich 9449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that focuses the node. 9479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_FOCUS = 0x00000001; 9499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that unfocuses the node. 9529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_CLEAR_FOCUS = 0x00000002; 9549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that selects the node. 9579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_SELECT = 0x00000004; 9599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that unselects the node. 9629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_CLEAR_SELECTION = 0x00000008; 9649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 965c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov /** 96670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that clicks on the node info. 96770e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 96870e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_CLICK = 0x00000010; 96970e96ebf69f91da84681a6263b3862c63d53ab11alanv 97070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 97170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that long clicks on the node. 97270e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 97370e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_LONG_CLICK = 0x00000020; 97470e96ebf69f91da84681a6263b3862c63d53ab11alanv 9750fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Actions introduced in JellyBean 9760fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 97770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 97870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that gives accessibility focus to the node. 97970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 98070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_ACCESSIBILITY_FOCUS = 0x00000040; 98170e96ebf69f91da84681a6263b3862c63d53ab11alanv 98270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 98370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that clears accessibility focus of the node. 98470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 98570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_CLEAR_ACCESSIBILITY_FOCUS = 0x00000080; 98670e96ebf69f91da84681a6263b3862c63d53ab11alanv 98770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 98870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that requests to go to the next entity in this node's text 98970e96ebf69f91da84681a6263b3862c63d53ab11alanv * at a given movement granularity. For example, move to the next character, 99070e96ebf69f91da84681a6263b3862c63d53ab11alanv * word, etc. 99170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 9920fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT}<, 9930fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN}<br> 9940fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Example:</strong> Move to the previous character and do not extend selection. 99570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 99670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 99770e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, 99870e96ebf69f91da84681a6263b3862c63d53ab11alanv * AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); 9990fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, 10000fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * false); 100170e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments); 100270e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 100370e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 100470e96ebf69f91da84681a6263b3862c63d53ab11alanv * 10050fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT 10060fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 10070fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 100870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setMovementGranularities(int) 100970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #getMovementGranularities() 101070e96ebf69f91da84681a6263b3862c63d53ab11alanv * 101170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_CHARACTER 101270e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_WORD 101370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_LINE 101470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PARAGRAPH 101570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PAGE 101670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 101770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_NEXT_AT_MOVEMENT_GRANULARITY = 0x00000100; 101870e96ebf69f91da84681a6263b3862c63d53ab11alanv 101970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 102070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that requests to go to the previous entity in this node's text 102170e96ebf69f91da84681a6263b3862c63d53ab11alanv * at a given movement granularity. For example, move to the next character, 102270e96ebf69f91da84681a6263b3862c63d53ab11alanv * word, etc. 102370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 10240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT}<, 10250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN}<br> 10260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Example:</strong> Move to the next character and do not extend selection. 102770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 102870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 102970e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, 103070e96ebf69f91da84681a6263b3862c63d53ab11alanv * AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); 10310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, 10320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * false); 103370e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, 103470e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments); 103570e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 103670e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 103770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 10380fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT 10390fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 10400fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 104170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setMovementGranularities(int) 104270e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #getMovementGranularities() 104370e96ebf69f91da84681a6263b3862c63d53ab11alanv * 104470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_CHARACTER 104570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_WORD 104670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_LINE 104770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PARAGRAPH 104870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PAGE 104970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 105070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY = 0x00000200; 105170e96ebf69f91da84681a6263b3862c63d53ab11alanv 105270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 105370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to move to the next HTML element of a given type. For example, move 105470e96ebf69f91da84681a6263b3862c63d53ab11alanv * to the BUTTON, INPUT, TABLE, etc. 105570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 105670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_HTML_ELEMENT_STRING}<br> 105770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 105870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 105970e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 106070e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); 106170e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_NEXT_HTML_ELEMENT, arguments); 106270e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 106370e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 106470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 106570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_NEXT_HTML_ELEMENT = 0x00000400; 106670e96ebf69f91da84681a6263b3862c63d53ab11alanv 106770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 106870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to move to the previous HTML element of a given type. For example, move 106970e96ebf69f91da84681a6263b3862c63d53ab11alanv * to the BUTTON, INPUT, TABLE, etc. 107070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 107170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_HTML_ELEMENT_STRING}<br> 107270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 107370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 107470e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 107570e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); 107670e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_HTML_ELEMENT, arguments); 107770e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 107870e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 107970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 108070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_PREVIOUS_HTML_ELEMENT = 0x00000800; 108170e96ebf69f91da84681a6263b3862c63d53ab11alanv 108270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 108370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to scroll the node content forward. 108470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 108570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_SCROLL_FORWARD = 0x00001000; 108670e96ebf69f91da84681a6263b3862c63d53ab11alanv 108770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 108870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to scroll the node content backward. 108970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 109070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_SCROLL_BACKWARD = 0x00002000; 109170e96ebf69f91da84681a6263b3862c63d53ab11alanv 10920fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Actions introduced in JellyBeanMr2 10930fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 10940fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 10950fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to copy the current selection to the clipboard. 10960fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 10970fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_COPY = 0x00004000; 10980fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 10990fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 11000fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to paste the current clipboard content. 11010fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 11020fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_PASTE = 0x00008000; 11030fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 11040fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 11050fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to cut the current selection and place it to the clipboard. 11060fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 11070fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_CUT = 0x00010000; 11080fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 11090fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 11100fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to set the selection. Performing this action with no arguments 11110fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * clears the selection. 11120fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 11130fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_SELECTION_START_INT}, 11140fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_ARGUMENT_SELECTION_END_INT}<br> 11150fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Example:</strong> 11160fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <code><pre><p> 11170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Bundle arguments = new Bundle(); 11180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT, 1); 11190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT, 2); 11200fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * info.performAction(AccessibilityNodeInfo.ACTION_SET_SELECTION, arguments); 11210fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </code></pre></p> 11220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 11230fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 11240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_SELECTION_START_INT 11250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_SELECTION_END_INT 11260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 11270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_SET_SELECTION = 0x00020000; 11280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 11298d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu /** 11308d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * Action that sets the text of the node. Performing the action without argument, using <code> 11318d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * null</code> or empty {@link CharSequence} will clear the text. This action will also put the 11328d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * cursor at the end of text. 11338d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <p> 11348d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE}<br> 11358d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <strong>Example:</strong> 11368d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <code><pre><p> 11378d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * Bundle arguments = new Bundle(); 11388d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * arguments.putCharSequence(AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE, 11398d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * "android"); 11408d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * info.performAction(AccessibilityNodeInfo.ACTION_SET_TEXT, arguments); 11418d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * </code></pre></p> 11428d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu */ 11438d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu public static final int ACTION_SET_TEXT = 0x00200000; 11448d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu 11450fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Action arguments 11460fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 114770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 114870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Argument for which movement granularity to be used when traversing the node text. 114970e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 115070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Type:</strong> int<br> 115170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Actions:</strong> {@link #ACTION_NEXT_AT_MOVEMENT_GRANULARITY}, 115270e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY} 115370e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 115470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 115570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = 115670e96ebf69f91da84681a6263b3862c63d53ab11alanv "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT"; 115770e96ebf69f91da84681a6263b3862c63d53ab11alanv 115870e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 115970e96ebf69f91da84681a6263b3862c63d53ab11alanv * Argument for which HTML element to get moving to the next/previous HTML element. 116070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 116170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Type:</strong> String<br> 116270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Actions:</strong> {@link #ACTION_NEXT_HTML_ELEMENT}, 116370e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #ACTION_PREVIOUS_HTML_ELEMENT} 116470e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 116570e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 116670e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final String ACTION_ARGUMENT_HTML_ELEMENT_STRING = 116770e96ebf69f91da84681a6263b3862c63d53ab11alanv "ACTION_ARGUMENT_HTML_ELEMENT_STRING"; 116870e96ebf69f91da84681a6263b3862c63d53ab11alanv 116970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 11700fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Argument for whether when moving at granularity to extend the selection 11710fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * or to move it otherwise. 11720fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 11730fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Type:</strong> boolean<br> 11740fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Actions:</strong> {@link #ACTION_NEXT_AT_MOVEMENT_GRANULARITY}, 11750fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY} 11760fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 11770fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 11780fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_NEXT_AT_MOVEMENT_GRANULARITY 11790fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY 11800fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 11810fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final String ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN = 11820fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav "ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN"; 11830fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 11840fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 11850fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Argument for specifying the selection start. 11860fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 11870fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Type:</strong> int<br> 11880fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Actions:</strong> {@link #ACTION_SET_SELECTION} 11890fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 11900fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 11910fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_SET_SELECTION 11920fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 11930fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final String ACTION_ARGUMENT_SELECTION_START_INT = 11940fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav "ACTION_ARGUMENT_SELECTION_START_INT"; 11950fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 11960fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 11970fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Argument for specifying the selection end. 11980fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 11990fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Type:</strong> int<br> 12000fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Actions:</strong> {@link #ACTION_SET_SELECTION} 12010fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 12020fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 12030fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_SET_SELECTION 12040fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 12050fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final String ACTION_ARGUMENT_SELECTION_END_INT = 12060fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav "ACTION_ARGUMENT_SELECTION_END_INT"; 12070fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 12088d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu /** 12098d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * Argument for specifying the text content to set 12108d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <p> 12118d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <strong>Type:</strong> CharSequence<br> 12128d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * <strong>Actions:</strong> {@link #ACTION_SET_TEXT} 12138d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * </p> 12148d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * 12158d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu * @see #ACTION_SET_TEXT 12168d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu */ 12178d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu public static final String ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE = 12188d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu "ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE"; 12198d8799de4d4f9eb4877e5724673271662e97a3cbGuang Zhu 12200fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Focus types 12210fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 12220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 122370e96ebf69f91da84681a6263b3862c63d53ab11alanv * The input focus. 122470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 122570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int FOCUS_INPUT = 1; 122670e96ebf69f91da84681a6263b3862c63d53ab11alanv 122770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 122870e96ebf69f91da84681a6263b3862c63d53ab11alanv * The accessibility focus. 122970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 123070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int FOCUS_ACCESSIBILITY = 2; 123170e96ebf69f91da84681a6263b3862c63d53ab11alanv 123270e96ebf69f91da84681a6263b3862c63d53ab11alanv // Movement granularities 123370e96ebf69f91da84681a6263b3862c63d53ab11alanv 123470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 123570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by character. 123670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 123770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_CHARACTER = 0x00000001; 123870e96ebf69f91da84681a6263b3862c63d53ab11alanv 123970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 124070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by word. 124170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 124270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_WORD = 0x00000002; 124370e96ebf69f91da84681a6263b3862c63d53ab11alanv 124470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 124570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by line. 124670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 124770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_LINE = 0x00000004; 124870e96ebf69f91da84681a6263b3862c63d53ab11alanv 124970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 125070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by paragraph. 125170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 125270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_PARAGRAPH = 0x00000008; 125370e96ebf69f91da84681a6263b3862c63d53ab11alanv 125470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 125570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by page. 125670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 125770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_PAGE = 0x00000010; 125870e96ebf69f91da84681a6263b3862c63d53ab11alanv 125970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 1260c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * Creates a wrapper for info implementation. 1261c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * 1262c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * @param object The info to wrap. 1263c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * @return A wrapper for if the object is not null, null otherwise. 1264c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov */ 1265c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov static AccessibilityNodeInfoCompat wrapNonNullInstance(Object object) { 1266c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov if (object != null) { 1267c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return new AccessibilityNodeInfoCompat(object); 1268c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov } 1269c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return null; 1270c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov } 1271c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov 1272956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov /** 1273956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * Creates a new instance wrapping an 1274956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * {@link android.view.accessibility.AccessibilityNodeInfo}. 1275956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * 1276956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * @param info The info. 12779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat(Object info) { 12799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov mInfo = info; 12809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 1283956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * @return The wrapped {@link android.view.accessibility.AccessibilityNodeInfo}. 12849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 1285956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov public Object getInfo() { 12869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return mInfo; 12879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 12909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available otherwise a new one and 12919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * sets the source. 12929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 12939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 12949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see #setSource(View) 12959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain(View source) { 129770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain(source)); 129870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 129970e96ebf69f91da84681a6263b3862c63d53ab11alanv 130070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 130170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Returns a cached instance if such is available otherwise a new one 130270e96ebf69f91da84681a6263b3862c63d53ab11alanv * and sets the source. 130370e96ebf69f91da84681a6263b3862c63d53ab11alanv * 130470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param root The root of the virtual subtree. 130570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param virtualDescendantId The id of the virtual descendant. 130670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return An instance. 130770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 130870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setSource(View, int) 130970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 131070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static AccessibilityNodeInfoCompat obtain(View root, int virtualDescendantId) { 131170e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance( 131270e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.obtain(root, virtualDescendantId)); 13139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available otherwise a new one. 13179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 13199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain() { 132170e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain()); 13229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available or a new one is create. 13269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * The returned instance is initialized from the given <code>info</code>. 13279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param info The other info. 13299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 13309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain(AccessibilityNodeInfoCompat info) { 133270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain(info.mInfo)); 13339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the source. 13379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param source The info source. 13399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(View source) { 13419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setSource(mInfo, source); 13429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13453a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Sets the source to be a virtual descendant of the given <code>root</code>. 13463a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * If <code>virtualDescendantId</code> is {@link View#NO_ID} the root 13473a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * is set as the source. 13483a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 13493a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * A virtual descendant is an imaginary View that is reported as a part of the view 13503a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * hierarchy for accessibility purposes. This enables custom views that draw complex 13513a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * content to report themselves as a tree of virtual views, thus conveying their 13523a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * logical structure. 13533a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 13543a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 13553a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 13563a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. 13573a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * This class is made immutable before being delivered to an AccessibilityService. 13583a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 13593a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 13603a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param root The root of the virtual subtree. 13613a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param virtualDescendantId The id of the virtual descendant. 13623a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov */ 13633a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(View root, int virtualDescendantId) { 13643a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.setSource(mInfo, root, virtualDescendantId); 13653a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 13663a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 13673a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov /** 136870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Find the view that has the specified focus type. The search starts from 136970e96ebf69f91da84681a6263b3862c63d53ab11alanv * the view represented by this node info. 137070e96ebf69f91da84681a6263b3862c63d53ab11alanv * 137170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param focus The focus to find. One of {@link #FOCUS_INPUT} or 137270e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #FOCUS_ACCESSIBILITY}. 137370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The node info of the focused view or null. 137470e96ebf69f91da84681a6263b3862c63d53ab11alanv * 137570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #FOCUS_INPUT 137670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #FOCUS_ACCESSIBILITY 137770e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 137870e96ebf69f91da84681a6263b3862c63d53ab11alanv public AccessibilityNodeInfoCompat findFocus(int focus) { 137970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.findFocus(mInfo, focus)); 138070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 138170e96ebf69f91da84681a6263b3862c63d53ab11alanv 138270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 138370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Searches for the nearest view in the specified direction that can take 138476ca3a4abf437c04003bacff72491409f8898a18Svetoslav Ganov * input focus. 138570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 138670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param direction The direction. Can be one of: 138770e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_DOWN}, 138870e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_UP}, 138970e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_LEFT}, 139070e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_RIGHT}, 139170e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_FORWARD}, 139276ca3a4abf437c04003bacff72491409f8898a18Svetoslav Ganov * {@link View#FOCUS_BACKWARD}. 139370e96ebf69f91da84681a6263b3862c63d53ab11alanv * 139470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The node info for the view that can take accessibility focus. 139570e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 139670e96ebf69f91da84681a6263b3862c63d53ab11alanv public AccessibilityNodeInfoCompat focusSearch(int direction) { 139770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.focusSearch(mInfo, direction)); 139870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 139970e96ebf69f91da84681a6263b3862c63d53ab11alanv 140070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 14019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the id of the window from which the info comes from. 14029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The window id. 14049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId() { 14069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getWindowId(mInfo); 14079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the number of children. 14119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The child count. 14139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount() { 14159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getChildCount(mInfo); 14169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Get the child at given index. 14209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 14219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 14229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link AccessibilityNodeInfoCompat#recycle()} to 14239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * avoid creating of multiple instances. 14249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 14259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param index The child index. 14279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The child node. 14289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called outside of an 14299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * AccessibilityService. 14309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getChild(int index) { 143270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getChild(mInfo, index)); 14339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Adds a child. 14379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 14389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 14399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 14409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 14419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 14429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param child The child. 14449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 14459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(View child) { 14479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.addChild(mInfo, child); 14489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14513a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Adds a virtual child which is a descendant of the given <code>root</code>. 14523a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * If <code>virtualDescendantId</code> is {@link View#NO_ID} the root 14533a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * is added as a child. 14543a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 14553a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * A virtual descendant is an imaginary View that is reported as a part of the view 14563a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * hierarchy for accessibility purposes. This enables custom views that draw complex 14573a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * content to report them selves as a tree of virtual views, thus conveying their 14583a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * logical structure. 14593a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 14603a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 14613a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param root The root of the virtual subtree. 14623a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param virtualDescendantId The id of the virtual child. 14633a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov */ 14643a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(View root, int virtualDescendantId) { 14653a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.addChild(mInfo, root, virtualDescendantId); 14663a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 14673a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 14683a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov /** 14699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the actions that can be performed on the node. 14709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The bit mask of with actions. 14729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_FOCUS 14739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_CLEAR_FOCUS 14749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_SELECT 14759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_CLEAR_SELECTION 14769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions() { 14789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getActions(mInfo); 14799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Adds an action that can be performed on the node. 14839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 14849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 14859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 14869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 14879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 14889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param action The action. 14909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 14919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(int action) { 14939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.addAction(mInfo, action); 14949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Performs an action on the node. 14989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 14999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> An action can be performed only if the request is 15009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made from an {@link android.accessibilityservice.AccessibilityService}. 15019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 15029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param action The action to perform. 15049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the action was performed. 15059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called outside of an 15069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * AccessibilityService. 15079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(int action) { 15099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.performAction(mInfo, action); 15109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 151370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Performs an action on the node. 151470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 151570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> An action can be performed only if the request is made 151670e96ebf69f91da84681a6263b3862c63d53ab11alanv * from an {@link android.accessibilityservice.AccessibilityService}. 151770e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 151870e96ebf69f91da84681a6263b3862c63d53ab11alanv * 151970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param action The action to perform. 152070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param arguments A bundle with additional arguments. 152170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return True if the action was performed. 152270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 152370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called outside of an AccessibilityService. 152470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 152570e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(int action, Bundle arguments) { 152670e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.performAction(mInfo, action, arguments); 152770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 152870e96ebf69f91da84681a6263b3862c63d53ab11alanv 152970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 153070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets the movement granularities for traversing the text of this node. 153170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 153270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 153370e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 153470e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 153570e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 153670e96ebf69f91da84681a6263b3862c63d53ab11alanv * 153770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param granularities The bit mask with granularities. 153870e96ebf69f91da84681a6263b3862c63d53ab11alanv * 153970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 154070e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 154170e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(int granularities) { 154270e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setMovementGranularities(mInfo, granularities); 154370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 154470e96ebf69f91da84681a6263b3862c63d53ab11alanv 154570e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 154670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Gets the movement granularities for traversing the text of this node. 154770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 154870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The bit mask with granularities. 154970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 155070e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities() { 155170e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.getMovementGranularities(mInfo); 155270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 155370e96ebf69f91da84681a6263b3862c63d53ab11alanv 155470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 15559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Finds {@link android.view.accessibility.AccessibilityNodeInfo}s by text. The match 15569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * is case insensitive containment. The search is relative to this info i.e. this 15579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * info is the root of the traversed tree. 15589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 15599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 15609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link android.view.accessibility.AccessibilityNodeInfo#recycle()} 15619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * to avoid creating of multiple instances. 15629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 15639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param text The searched text. 15659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return A list of node info. 15669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<AccessibilityNodeInfoCompat> findAccessibilityNodeInfosByText(String text) { 15689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov List<AccessibilityNodeInfoCompat> result = new ArrayList<AccessibilityNodeInfoCompat>(); 15699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov List<Object> infos = IMPL.findAccessibilityNodeInfosByText(mInfo, text); 15709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov final int infoCount = infos.size(); 15719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov for (int i = 0; i < infoCount; i++) { 15729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov Object info = infos.get(i); 15739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov result.add(new AccessibilityNodeInfoCompat(info)); 15749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return result; 15769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the parent. 15809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 15819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 15829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link android.view.accessibility.AccessibilityNodeInfo#recycle()} 15839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * to avoid creating of multiple instances. 15849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 15859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The parent. 15879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getParent() { 158970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getParent(mInfo)); 15909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the parent. 15949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 15959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 15969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 15979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 15989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 15999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param parent The parent. 16019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 16029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(View parent) { 16049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setParent(mInfo, parent); 16059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 160870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets the parent to be a virtual descendant of the given <code>root</code>. 160970e96ebf69f91da84681a6263b3862c63d53ab11alanv * If <code>virtualDescendantId</code> equals to {@link View#NO_ID} the root 161070e96ebf69f91da84681a6263b3862c63d53ab11alanv * is set as the parent. 161170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 161270e96ebf69f91da84681a6263b3862c63d53ab11alanv * A virtual descendant is an imaginary View that is reported as a part of the view 161370e96ebf69f91da84681a6263b3862c63d53ab11alanv * hierarchy for accessibility purposes. This enables custom views that draw complex 161470e96ebf69f91da84681a6263b3862c63d53ab11alanv * content to report them selves as a tree of virtual views, thus conveying their 161570e96ebf69f91da84681a6263b3862c63d53ab11alanv * logical structure. 161670e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 161770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 161870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 161970e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 162070e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 162170e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 162270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 162370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param root The root of the virtual subtree. 162470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param virtualDescendantId The id of the virtual descendant. 162570e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 162670e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(View root, int virtualDescendantId) { 162770e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setParent(mInfo, root, virtualDescendantId); 162870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 162970e96ebf69f91da84681a6263b3862c63d53ab11alanv 163070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 16319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the node bounds in parent coordinates. 16329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param outBounds The output node bounds. 16349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Rect outBounds) { 16369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.getBoundsInParent(mInfo, outBounds); 16379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the node bounds in parent coordinates. 16419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 16429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 16439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 16449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 16459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 16469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param bounds The node bounds. 16489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov *@throws IllegalStateException If called from an AccessibilityService. 16499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Rect bounds) { 16519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setBoundsInParent(mInfo, bounds); 16529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the node bounds in screen coordinates. 16569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param outBounds The output node bounds. 16589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Rect outBounds) { 16609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.getBoundsInScreen(mInfo, outBounds); 16619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the node bounds in screen coordinates. 16659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 16669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 16679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 16689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 16699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 16709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param bounds The node bounds. 16729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 16739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Rect bounds) { 16753a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.setBoundsInScreen(mInfo, bounds); 16769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is checkable. 16809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is checkable. 16829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable() { 16849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isCheckable(mInfo); 16859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is checkable. 16899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 16909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 16919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 16929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 16939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 16949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param checkable True if the node is checkable. 16969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 16979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(boolean checkable) { 16999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setCheckable(mInfo, checkable); 17009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is checked. 17049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is checked. 17069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked() { 17089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isChecked(mInfo); 17099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is checked. 17139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 17149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 17159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 17169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 17179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 17189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param checked True if the node is checked. 17209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 17219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(boolean checked) { 17239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setChecked(mInfo, checked); 17249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is focusable. 17289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is focusable. 17309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable() { 17329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isFocusable(mInfo); 17339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is focusable. 17379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 17389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 17399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 17409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 17419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 17429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param focusable True if the node is focusable. 17449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 17459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(boolean focusable) { 17479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setFocusable(mInfo, focusable); 17489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is focused. 17529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is focused. 17549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused() { 17569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isFocused(mInfo); 17579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is focused. 17619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 17629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 17639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 17649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 17659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 17669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param focused True if the node is focused. 17689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 17699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(boolean focused) { 17719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setFocused(mInfo, focused); 17729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 177570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is visible to the user. 177670e96ebf69f91da84681a6263b3862c63d53ab11alanv * 177770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return Whether the node is visible to the user. 177870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 177970e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser() { 178070e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.isVisibleToUser(mInfo); 178170e96ebf69f91da84681a6263b3862c63d53ab11alanv } 178270e96ebf69f91da84681a6263b3862c63d53ab11alanv 178370e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 178470e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is visible to the user. 178570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 178670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 178770e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 178870e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 178970e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 179070e96ebf69f91da84681a6263b3862c63d53ab11alanv * 179170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param visibleToUser Whether the node is visible to the user. 179270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 179370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 179470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 179570e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(boolean visibleToUser) { 179670e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setVisibleToUser(mInfo, visibleToUser); 179770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 179870e96ebf69f91da84681a6263b3862c63d53ab11alanv 179970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 180070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Gets whether this node is accessibility focused. 180170e96ebf69f91da84681a6263b3862c63d53ab11alanv * 180270e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return True if the node is accessibility focused. 180370e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 180470e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused() { 180570e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.isAccessibilityFocused(mInfo); 180670e96ebf69f91da84681a6263b3862c63d53ab11alanv } 180770e96ebf69f91da84681a6263b3862c63d53ab11alanv 180870e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 180970e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is accessibility focused. 181070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 181170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 181270e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 181370e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 181470e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 181570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 181670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param focused True if the node is accessibility focused. 181770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 181870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 181970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 182070e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(boolean focused) { 182170e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setAccessibilityFocused(mInfo, focused); 182270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 182370e96ebf69f91da84681a6263b3862c63d53ab11alanv 182470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 18259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is selected. 18269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 18279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is selected. 18289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 18299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected() { 18309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isSelected(mInfo); 18319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 18349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is selected. 18359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 18369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 18379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 18389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 18399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 18409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 18419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param selected True if the node is selected. 18429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 18439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 18449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(boolean selected) { 18459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setSelected(mInfo, selected); 18469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 18499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is clickable. 18509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 18519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is clickable. 18529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 18539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable() { 18549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isClickable(mInfo); 18559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 18589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is clickable. 18599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 18609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 18619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 18629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 18639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 18649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 18659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param clickable True if the node is clickable. 18669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 18679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 18689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(boolean clickable) { 18699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setClickable(mInfo, clickable); 18709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 18739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is long clickable. 18749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 18759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is long clickable. 18769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 18779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable() { 18789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isLongClickable(mInfo); 18799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 18829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is long clickable. 18839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 18849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 18859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 18869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 18879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 18889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 18899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param longClickable True if the node is long clickable. 18909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 18919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 18929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(boolean longClickable) { 18939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setLongClickable(mInfo, longClickable); 18949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 18979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is enabled. 18989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 18999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is enabled. 19009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled() { 19029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isEnabled(mInfo); 19039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is enabled. 19079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 19089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 19099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 19109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 19119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 19129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 19139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param enabled True if the node is enabled. 19149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 19159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(boolean enabled) { 19179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setEnabled(mInfo, enabled); 19189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is a password. 19229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 19239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is a password. 19249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword() { 19269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isPassword(mInfo); 19279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is a password. 19319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 19329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 19339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 19349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 19359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 19369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 19379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param password True if the node is a password. 19389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 19399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(boolean password) { 19419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setPassword(mInfo, password); 19429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets if the node is scrollable. 19469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 19479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is scrollable, false otherwise. 19489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable() { 19509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isScrollable(mInfo); 19519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets if the node is scrollable. 19559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 19569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 19579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 19589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 19599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 19609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 19619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param scrollable True if the node is scrollable, false otherwise. 19629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 19639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(boolean scrollable) { 19659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setScrollable(mInfo, scrollable); 19669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the package this node comes from. 19709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 19719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The package name. 19729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName() { 19749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getPackageName(mInfo); 19759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the package this node comes from. 19799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 19809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 19819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 19829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 19839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 19849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 19859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param packageName The package name. 19869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 19879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(CharSequence packageName) { 19899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setPackageName(mInfo, packageName); 19909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 19939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the class this node comes from. 19949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 19959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The class name. 19969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 19979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName() { 19989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getClassName(mInfo); 19999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 20009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 20029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the class this node comes from. 20039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 20049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 20059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 20069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 20079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 20089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 20099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param className The class name. 20109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 20119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 20129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(CharSequence className) { 20139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setClassName(mInfo, className); 20149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 20159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 20179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the text of this node. 20189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 20199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The text. 20209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 20219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText() { 20229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getText(mInfo); 20239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 20249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 20269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the text of this node. 20279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 20289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 20299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 20309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 20319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 20329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 20339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param text The text. 20349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 20359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 20369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(CharSequence text) { 20379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setText(mInfo, text); 20389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 20399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 20419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the content description of this node. 20429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 20439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The content description. 20449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 20459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription() { 20469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getContentDescription(mInfo); 20479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 20489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 20509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the content description of this node. 20519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 20529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 20539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 20549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 20559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 20569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 20579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param contentDescription The content description. 20589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 20599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 20609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(CharSequence contentDescription) { 20619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setContentDescription(mInfo, contentDescription); 20629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 20639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 20659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Return an instance back to be reused. 20669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 20679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> You must not touch the object after calling this function. 20689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 20699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If the info is already recycled. 20709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 20719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle() { 20729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.recycle(mInfo); 20739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 20749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20750fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 20760fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Sets the fully qualified resource name of the source view's id. 20770fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 20780fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 20790fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Note:</strong> Cannot be called from an 20800fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link android.accessibilityservice.AccessibilityService}. 20810fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * This class is made immutable before being delivered to an AccessibilityService. 20820fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 20830fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 20840fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @param viewId The id resource name. 20850fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 2086071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(String viewId) { 20870fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav IMPL.setViewIdResourceName(mInfo, viewId); 20880fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 20890fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 20900fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 20910fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Gets the fully qualified resource name of the source view's id. 20920fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 20930fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 20940fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Note:</strong> The primary usage of this API is for UI test automation 20950fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * and in order to report the source view id of an {@link AccessibilityNodeInfoCompat} 20960fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * the client has to set the {@link AccessibilityServiceInfoCompat#FLAG_REPORT_VIEW_IDS} 20970fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * flag when configuring his {@link android.accessibilityservice.AccessibilityService}. 20980fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 20990fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 21000fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @return The id resource name. 21010fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 2102071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName() { 21030fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return IMPL.getViewIdResourceName(mInfo); 21040fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 21050fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 2106086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette /** 2107086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * Gets the node's live region mode. 2108086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * <p> 2109086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * A live region is a node that contains information that is important for 2110086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * the user and when it changes the user should be notified. For example, 2111086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * in a login screen with a TextView that displays an "incorrect password" 2112086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * notification, that view should be marked as a live region with mode 2113086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link ViewCompat#ACCESSIBILITY_LIVE_REGION_POLITE}. 2114086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * <p> 2115086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * It is the responsibility of the accessibility service to monitor 2116086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link AccessibilityEventCompat#TYPE_WINDOW_CONTENT_CHANGED} events 2117086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * indicating changes to live region nodes and their children. 2118086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * 2119086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * @return The live region mode, or 2120086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link ViewCompat#ACCESSIBILITY_LIVE_REGION_NONE} if the view is 2121086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * not a live region. 2122086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * @see ViewCompat#getAccessibilityLiveRegion(View) 2123086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette */ 2124086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public int getLiveRegion() { 2125086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette return IMPL.getLiveRegion(mInfo); 2126086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 2127086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 2128086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette /** 2129086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * Sets the node's live region mode. 2130086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * <p> 2131086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * <strong>Note:</strong> Cannot be called from an 2132086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link android.accessibilityservice.AccessibilityService}. This class is 2133086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * made immutable before being delivered to an AccessibilityService. 2134086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * 2135086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * @param mode The live region mode, or 2136086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * {@link ViewCompat#ACCESSIBILITY_LIVE_REGION_NONE} if the view is 2137086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * not a live region. 2138086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette * @see ViewCompat#setAccessibilityLiveRegion(View, int) 2139086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette */ 2140086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette public void setLiveRegion(int mode) { 2141086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette IMPL.setLiveRegion(mInfo, mode); 2142086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette } 2143086e7db1ab6ef49b4b7974c471b70f81b2d13aefAlan Viverette 2144fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** 2145fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * Gets the collection info if the node is a collection. A collection 2146fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * child is always a collection item. 2147fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * 2148fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * @return The collection info. 2149fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen */ 2150fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public CollectionInfoCompat getCollectionInfo() { 2151fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen Object info = IMPL.getCollectionInfo(mInfo); 2152fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen if (info == null) return null; 2153fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return new CollectionInfoCompat(info); 2154fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 2155fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 2156fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** 2157fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * Gets the collection item info if the node is a collection item. A collection 2158fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * item is always a child of a collection. 2159fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * 2160fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * @return The collection item info. 2161fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen */ 2162fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public CollectionItemInfoCompat getCollectionItemInfo() { 2163fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen Object info = IMPL.getCollectionItemInfo(mInfo); 2164fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen if (info == null) return null; 2165fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return new CollectionItemInfoCompat(info); 2166fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 2167fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 2168fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen /** 2169fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * Gets the range info if this node is a range. 2170fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * 2171fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen * @return The range. 2172fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen */ 2173fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen public RangeInfoCompat getRangeInfo() { 2174fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen Object info = IMPL.getRangeInfo(mInfo); 2175fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen if (info == null) return null; 2176fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen return new RangeInfoCompat(info); 2177fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen } 2178fbfefc40581dd94616359c796b4cc03969b22a10Kristian Monsen 2179389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen /** 2180389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * Gets the actions that can be performed on the node. 2181389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * 2182389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen * @return A list of AccessibilityActions. 2183389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen */ 2184389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen public List<AccessibilityActionCompat> getActionList() { 2185389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen List<AccessibilityActionCompat> result = new ArrayList<AccessibilityActionCompat>(); 2186389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen List<Object> actions = IMPL.getActionList(mInfo); 2187389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen final int actionCount = actions.size(); 2188389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen for (int i = 0; i < actionCount; i++) { 2189389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen Object action = actions.get(i); 2190389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen result.add(new AccessibilityActionCompat(action)); 2191389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 2192389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen return result; 2193389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen } 2194389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 2195389a2e54dda92632fc0004c17323ae4e5a249277Kristian Monsen 21969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 21979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int hashCode() { 21989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return (mInfo == null) ? 0 : mInfo.hashCode(); 21999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 22009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 22019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 22029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean equals(Object obj) { 22039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (this == obj) { 22049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return true; 22059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 22069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (obj == null) { 22079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 22089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 22099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (getClass() != obj.getClass()) { 22109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 22119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 22129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompat other = (AccessibilityNodeInfoCompat) obj; 22139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (mInfo == null) { 22149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (other.mInfo != null) { 22159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 22169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 22179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } else if (!mInfo.equals(other.mInfo)) { 22189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 22199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 22209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return true; 22219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 22220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 22230fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 22240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public String toString() { 22250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav StringBuilder builder = new StringBuilder(); 22260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append(super.toString()); 22270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 22280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav Rect bounds = new Rect(); 22290fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 22300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav getBoundsInParent(bounds); 22310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; boundsInParent: " + bounds); 22320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 22330fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav getBoundsInScreen(bounds); 22340fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; boundsInScreen: " + bounds); 22350fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 22360fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; packageName: ").append(getPackageName()); 22370fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; className: ").append(getClassName()); 22380fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; text: ").append(getText()); 22390fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; contentDescription: ").append(getContentDescription()); 22400fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; viewId: ").append(getViewIdResourceName()); 22410fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 22420fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; checkable: ").append(isCheckable()); 22430fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; checked: ").append(isChecked()); 22440fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; focusable: ").append(isFocusable()); 22450fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; focused: ").append(isFocused()); 22460fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; selected: ").append(isSelected()); 22470fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; clickable: ").append(isClickable()); 22480fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; longClickable: ").append(isLongClickable()); 22490fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; enabled: ").append(isEnabled()); 22500fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; password: ").append(isPassword()); 22510fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; scrollable: " + isScrollable()); 22520fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 22530fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; ["); 22540fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav for (int actionBits = getActions(); actionBits != 0;) { 22550fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav final int action = 1 << Integer.numberOfTrailingZeros(actionBits); 22560fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav actionBits &= ~action; 22570fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append(getActionSymbolicName(action)); 22580fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav if (actionBits != 0) { 22590fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append(", "); 22600fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 22610fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 22620fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("]"); 22630fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 22640fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return builder.toString(); 22650fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 22660fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 22670fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav private static String getActionSymbolicName(int action) { 22680fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav switch (action) { 22690fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_FOCUS: 22700fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_FOCUS"; 22710fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLEAR_FOCUS: 22720fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLEAR_FOCUS"; 22730fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SELECT: 22740fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SELECT"; 22750fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLEAR_SELECTION: 22760fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLEAR_SELECTION"; 22770fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLICK: 22780fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLICK"; 22790fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_LONG_CLICK: 22800fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_LONG_CLICK"; 22810fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_ACCESSIBILITY_FOCUS: 22820fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_ACCESSIBILITY_FOCUS"; 22830fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLEAR_ACCESSIBILITY_FOCUS: 22840fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLEAR_ACCESSIBILITY_FOCUS"; 22850fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_NEXT_AT_MOVEMENT_GRANULARITY: 22860fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_NEXT_AT_MOVEMENT_GRANULARITY"; 22870fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY: 22880fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY"; 22890fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_NEXT_HTML_ELEMENT: 22900fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_NEXT_HTML_ELEMENT"; 22910fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_PREVIOUS_HTML_ELEMENT: 22920fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_PREVIOUS_HTML_ELEMENT"; 22930fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SCROLL_FORWARD: 22940fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SCROLL_FORWARD"; 22950fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SCROLL_BACKWARD: 22960fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SCROLL_BACKWARD"; 22970fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CUT: 22980fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CUT"; 22990fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_COPY: 23000fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_COPY"; 23010fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_PASTE: 23020fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_PASTE"; 23030fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SET_SELECTION: 23040fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SET_SELECTION"; 23050fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav default: 23060fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return"ACTION_UNKNOWN"; 23070fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 23080fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 23099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov} 2310