AccessibilityNodeInfoCompat.java revision 071eca0f490d88fc51cea8f739780c7c92b920c3
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; 239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.view.View; 249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 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 359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static interface AccessibilityNodeInfoImpl { 369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(); 379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source); 389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info); 3970e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId); 409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source); 413a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId); 4270e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus); 4370e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction); 449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info); 459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info); 4670e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index); 479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child); 483a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId); 499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info); 509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action); 519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action); 5270e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments); 5370e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities); 5470e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info); 559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text); 5670e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info); 5770e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId); 589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent); 599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds); 609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds); 619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds); 629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds); 639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info); 649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable); 659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info); 669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked); 679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info); 689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable); 699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info); 709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused); 7170e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info); 7270e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser); 7370e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info); 7470e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused); 759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info); 769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected); 779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info); 789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable); 799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info); 809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable); 819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info); 829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled); 839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info); 849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password); 859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info); 869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable); 879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info); 889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName); 899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info); 909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className); 919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info); 929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text); 939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info); 949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription); 959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info); 96071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName(Object info); 97071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(Object info, String viewId); 989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static class AccessibilityNodeInfoStubImpl implements AccessibilityNodeInfoImpl { 10170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain() { 1039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source) { 1089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 11270e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId) { 11370e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 11470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 11570e96ebf69f91da84681a6263b3862c63d53ab11alanv 11670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info) { 1189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action) { 1239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child) { 1289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1323a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId) { 1333a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 1343a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 1353a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 13670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text) { 138f9c2277244722eca88c784b9cfdcc78df7f94781Svetoslav Ganov return Collections.emptyList(); 1399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info) { 1439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 1449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds) { 1489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds) { 1539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 15770e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index) { 1589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info) { 1639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 1649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info) { 1689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info) { 1739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info) { 1789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 18270e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info) { 1839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info) { 1889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info) { 1939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 1949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info) { 1989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 1999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info) { 2039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info) { 2089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 21170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info) { 2139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 21670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info) { 2189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 22170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info) { 2239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 22670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 22770e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info) { 22870e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 22970e96ebf69f91da84681a6263b3862c63d53ab11alanv } 23070e96ebf69f91da84681a6263b3862c63d53ab11alanv 23170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 23270e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info) { 23370e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 23470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 23570e96ebf69f91da84681a6263b3862c63d53ab11alanv 23670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info) { 2389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 24170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info) { 2439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 24670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info) { 2489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 25170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info) { 2539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 25670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action) { 2589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 26170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 26270e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments) { 26370e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 26470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 26570e96ebf69f91da84681a6263b3862c63d53ab11alanv 26670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 26770e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities) { 26870e96ebf69f91da84681a6263b3862c63d53ab11alanv 26970e96ebf69f91da84681a6263b3862c63d53ab11alanv } 27070e96ebf69f91da84681a6263b3862c63d53ab11alanv 27170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 27270e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info) { 27370e96ebf69f91da84681a6263b3862c63d53ab11alanv return 0; 27470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 27570e96ebf69f91da84681a6263b3862c63d53ab11alanv 27670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds) { 2789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds) { 2839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable) { 2889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 29170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked) { 2939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 29670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className) { 2989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 30170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable) { 3039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 30670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription) { 3089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled) { 3139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable) { 3189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 32170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused) { 3239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 32670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 32770e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser) { 32870e96ebf69f91da84681a6263b3862c63d53ab11alanv 32970e96ebf69f91da84681a6263b3862c63d53ab11alanv } 33070e96ebf69f91da84681a6263b3862c63d53ab11alanv 33170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 33270e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused) { 33370e96ebf69f91da84681a6263b3862c63d53ab11alanv 33470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 33570e96ebf69f91da84681a6263b3862c63d53ab11alanv 33670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable) { 3389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 34170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName) { 3439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 34670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent) { 3489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 35170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password) { 3539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 35670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable) { 3589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 36170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected) { 3639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 36670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source) { 3689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 37170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3723a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId) { 3733a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 3743a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 3753a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 37670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 37770e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus) { 37870e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 37970e96ebf69f91da84681a6263b3862c63d53ab11alanv } 38070e96ebf69f91da84681a6263b3862c63d53ab11alanv 38170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 38270e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction) { 38370e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 38470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 38570e96ebf69f91da84681a6263b3862c63d53ab11alanv 38670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text) { 3889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 39170e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info) { 3939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 39570e96ebf69f91da84681a6263b3862c63d53ab11alanv 39670e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 39770e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId) { 39870e96ebf69f91da84681a6263b3862c63d53ab11alanv 39970e96ebf69f91da84681a6263b3862c63d53ab11alanv } 4000fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 4010fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 402071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName(Object info) { 4030fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return null; 4040fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 4050fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 4060fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 407071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(Object info, String viewId) { 4080fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 4090fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 4109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static class AccessibilityNodeInfoIcsImpl extends AccessibilityNodeInfoStubImpl { 4139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain() { 4159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(); 4169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source) { 4209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(source); 4219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info) { 4259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(info); 4269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action) { 4309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.addAction(info, action); 4319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child) { 4359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.addChild(info, child); 4369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text) { 4409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.findAccessibilityNodeInfosByText(info, text); 4419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info) { 4459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getActions(info); 4469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds) { 4509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.getBoundsInParent(info, outBounds); 4519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds) { 4559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.getBoundsInScreen(info, outBounds); 4569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 45970e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index) { 46070e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatIcs.getChild(info, index); 4619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info) { 4659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getChildCount(info); 4669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info) { 4709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getClassName(info); 4719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info) { 4759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getContentDescription(info); 4769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info) { 4809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getPackageName(info); 4819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 48470e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info) { 48570e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatIcs.getParent(info); 4869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info) { 4909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getText(info); 4919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info) { 4959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getWindowId(info); 4969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info) { 5009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isCheckable(info); 5019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info) { 5059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isChecked(info); 5069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info) { 5109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isClickable(info); 5119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info) { 5159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isEnabled(info); 5169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info) { 5209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isFocusable(info); 5219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info) { 5259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isFocused(info); 5269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info) { 5309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isLongClickable(info); 5319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info) { 5359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isPassword(info); 5369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info) { 5409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isScrollable(info); 5419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info) { 5459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isSelected(info); 5469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action) { 5509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.performAction(info, action); 5519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds) { 5559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setBoundsInParent(info, bounds); 5569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds) { 5609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setBoundsInScreen(info, bounds); 5619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable) { 5659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setCheckable(info, checkable); 5669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked) { 5709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setChecked(info, checked); 5719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className) { 5759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setClassName(info, className); 5769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable) { 5809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setClickable(info, clickable); 5819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription) { 5859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setContentDescription(info, contentDescription); 5869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled) { 5909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setEnabled(info, enabled); 5919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable) { 5959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setFocusable(info, focusable); 5969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused) { 6009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setFocused(info, focused); 6019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable) { 6059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setLongClickable(info, longClickable); 6069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName) { 6109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setPackageName(info, packageName); 6119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent) { 6159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setParent(info, parent); 6169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password) { 6209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setPassword(info, password); 6219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable) { 6259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setScrollable(info, scrollable); 6269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected) { 6309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setSelected(info, selected); 6319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source) { 6359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setSource(info, source); 6369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text) { 6409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setText(info, text); 6419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info) { 6459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.recycle(info); 6469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6493a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov static class AccessibilityNodeInfoJellybeanImpl extends AccessibilityNodeInfoIcsImpl { 6503a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov @Override 65170e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId) { 65270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.obtain(root, virtualDescendantId); 65370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 65470e96ebf69f91da84681a6263b3862c63d53ab11alanv 65570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 65670e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus) { 65770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.findFocus(info, focus); 65870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 65970e96ebf69f91da84681a6263b3862c63d53ab11alanv 66070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 66170e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction) { 66270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.focusSearch(info, direction); 66370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 66470e96ebf69f91da84681a6263b3862c63d53ab11alanv 66570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 6663a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId) { 6673a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov AccessibilityNodeInfoCompatJellyBean.addChild(info, child, virtualDescendantId); 6683a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 6693a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 6703a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov @Override 6713a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId) { 6723a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov AccessibilityNodeInfoCompatJellyBean.setSource(info, root, virtualDescendantId); 6733a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 67470e96ebf69f91da84681a6263b3862c63d53ab11alanv 67570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 67670e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info) { 67770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.isVisibleToUser(info); 67870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 67970e96ebf69f91da84681a6263b3862c63d53ab11alanv 68070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 68170e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser) { 68270e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setVisibleToUser(info, visibleToUser); 68370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 68470e96ebf69f91da84681a6263b3862c63d53ab11alanv 68570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 68670e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info) { 68770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.isAccessibilityFocused(info); 68870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 68970e96ebf69f91da84681a6263b3862c63d53ab11alanv 69070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 69170e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused) { 69270e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setAccesibilityFocused(info, focused); 69370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 69470e96ebf69f91da84681a6263b3862c63d53ab11alanv 69570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 69670e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments) { 69770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.performAction(info, action, arguments); 69870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 69970e96ebf69f91da84681a6263b3862c63d53ab11alanv 70070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 70170e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities) { 70270e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setMovementGranularities(info, granularities); 70370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 70470e96ebf69f91da84681a6263b3862c63d53ab11alanv 70570e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 70670e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info) { 70770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.getMovementGranularities(info); 70870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 70970e96ebf69f91da84681a6263b3862c63d53ab11alanv 71070e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 71170e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId) { 71270e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setParent(info, root, virtualDescendantId); 71370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 7143a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 7153a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 7160fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav static class AccessibilityNodeInfoJellybeanMr2Impl extends AccessibilityNodeInfoJellybeanImpl { 7170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 7180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 719071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName(Object info) { 7200fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return AccessibilityNodeInfoCompatJellybeanMr2.getViewIdResourceName(info); 7210fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 7220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 7230fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 724071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(Object info, String viewId) { 7250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav AccessibilityNodeInfoCompatJellybeanMr2.setViewIdResourceName(info, viewId); 7260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 7270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 7280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 7299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static { 7300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // TODO: Use SDK_INT when it is finalized, tracked by bug:8133596 7310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav if ("JellyBeanMR2".equals(Build.VERSION.CODENAME)) { // JellyBean MR2 7320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav IMPL = new AccessibilityNodeInfoJellybeanMr2Impl(); 7330fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } else if (Build.VERSION.SDK_INT >= 16) { // JellyBean 7343a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL = new AccessibilityNodeInfoJellybeanImpl(); 7353a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } else if (Build.VERSION.SDK_INT >= 14) { // ICS 7369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL = new AccessibilityNodeInfoIcsImpl(); 7379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } else { 7389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL = new AccessibilityNodeInfoStubImpl(); 7399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov private static final AccessibilityNodeInfoImpl IMPL; 7439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov private final Object mInfo; 7459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7460fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Actions introduced in IceCreamSandwich 7479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that focuses the node. 7509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_FOCUS = 0x00000001; 7529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that unfocuses the node. 7559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_CLEAR_FOCUS = 0x00000002; 7579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that selects the node. 7609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_SELECT = 0x00000004; 7629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that unselects the node. 7659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_CLEAR_SELECTION = 0x00000008; 7679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 768c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov /** 76970e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that clicks on the node info. 77070e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 77170e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_CLICK = 0x00000010; 77270e96ebf69f91da84681a6263b3862c63d53ab11alanv 77370e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 77470e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that long clicks on the node. 77570e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 77670e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_LONG_CLICK = 0x00000020; 77770e96ebf69f91da84681a6263b3862c63d53ab11alanv 7780fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Actions introduced in JellyBean 7790fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 78070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 78170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that gives accessibility focus to the node. 78270e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 78370e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_ACCESSIBILITY_FOCUS = 0x00000040; 78470e96ebf69f91da84681a6263b3862c63d53ab11alanv 78570e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 78670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that clears accessibility focus of the node. 78770e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 78870e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_CLEAR_ACCESSIBILITY_FOCUS = 0x00000080; 78970e96ebf69f91da84681a6263b3862c63d53ab11alanv 79070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 79170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that requests to go to the next entity in this node's text 79270e96ebf69f91da84681a6263b3862c63d53ab11alanv * at a given movement granularity. For example, move to the next character, 79370e96ebf69f91da84681a6263b3862c63d53ab11alanv * word, etc. 79470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 7950fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT}<, 7960fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN}<br> 7970fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Example:</strong> Move to the previous character and do not extend selection. 79870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 79970e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 80070e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, 80170e96ebf69f91da84681a6263b3862c63d53ab11alanv * AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); 8020fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, 8030fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * false); 80470e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments); 80570e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 80670e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 80770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 8080fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT 8090fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 8100fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 81170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setMovementGranularities(int) 81270e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #getMovementGranularities() 81370e96ebf69f91da84681a6263b3862c63d53ab11alanv * 81470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_CHARACTER 81570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_WORD 81670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_LINE 81770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PARAGRAPH 81870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PAGE 81970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 82070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_NEXT_AT_MOVEMENT_GRANULARITY = 0x00000100; 82170e96ebf69f91da84681a6263b3862c63d53ab11alanv 82270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 82370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that requests to go to the previous entity in this node's text 82470e96ebf69f91da84681a6263b3862c63d53ab11alanv * at a given movement granularity. For example, move to the next character, 82570e96ebf69f91da84681a6263b3862c63d53ab11alanv * word, etc. 82670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 8270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT}<, 8280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN}<br> 8290fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Example:</strong> Move to the next character and do not extend selection. 83070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 83170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 83270e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, 83370e96ebf69f91da84681a6263b3862c63d53ab11alanv * AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); 8340fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putBoolean(AccessibilityNodeInfo.ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN, 8350fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * false); 83670e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, 83770e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments); 83870e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 83970e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 84070e96ebf69f91da84681a6263b3862c63d53ab11alanv * 8410fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT 8420fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN 8430fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 84470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setMovementGranularities(int) 84570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #getMovementGranularities() 84670e96ebf69f91da84681a6263b3862c63d53ab11alanv * 84770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_CHARACTER 84870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_WORD 84970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_LINE 85070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PARAGRAPH 85170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PAGE 85270e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 85370e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY = 0x00000200; 85470e96ebf69f91da84681a6263b3862c63d53ab11alanv 85570e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 85670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to move to the next HTML element of a given type. For example, move 85770e96ebf69f91da84681a6263b3862c63d53ab11alanv * to the BUTTON, INPUT, TABLE, etc. 85870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 85970e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_HTML_ELEMENT_STRING}<br> 86070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 86170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 86270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 86370e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); 86470e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_NEXT_HTML_ELEMENT, arguments); 86570e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 86670e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 86770e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 86870e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_NEXT_HTML_ELEMENT = 0x00000400; 86970e96ebf69f91da84681a6263b3862c63d53ab11alanv 87070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 87170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to move to the previous HTML element of a given type. For example, move 87270e96ebf69f91da84681a6263b3862c63d53ab11alanv * to the BUTTON, INPUT, TABLE, etc. 87370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 87470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_HTML_ELEMENT_STRING}<br> 87570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 87670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 87770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 87870e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); 87970e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_HTML_ELEMENT, arguments); 88070e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 88170e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 88270e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 88370e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_PREVIOUS_HTML_ELEMENT = 0x00000800; 88470e96ebf69f91da84681a6263b3862c63d53ab11alanv 88570e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 88670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to scroll the node content forward. 88770e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 88870e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_SCROLL_FORWARD = 0x00001000; 88970e96ebf69f91da84681a6263b3862c63d53ab11alanv 89070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 89170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to scroll the node content backward. 89270e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 89370e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_SCROLL_BACKWARD = 0x00002000; 89470e96ebf69f91da84681a6263b3862c63d53ab11alanv 8950fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Actions introduced in JellyBeanMr2 8960fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 8970fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 8980fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to copy the current selection to the clipboard. 8990fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 9000fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_COPY = 0x00004000; 9010fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 9020fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 9030fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to paste the current clipboard content. 9040fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 9050fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_PASTE = 0x00008000; 9060fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 9070fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 9080fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to cut the current selection and place it to the clipboard. 9090fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 9100fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_CUT = 0x00010000; 9110fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 9120fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 9130fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Action to set the selection. Performing this action with no arguments 9140fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * clears the selection. 9150fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 9160fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_SELECTION_START_INT}, 9170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_ARGUMENT_SELECTION_END_INT}<br> 9180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Example:</strong> 9190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <code><pre><p> 9200fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Bundle arguments = new Bundle(); 9210fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT, 1); 9220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT, 2); 9230fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * info.performAction(AccessibilityNodeInfo.ACTION_SET_SELECTION, arguments); 9240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </code></pre></p> 9250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 9260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 9270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_SELECTION_START_INT 9280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_ARGUMENT_SELECTION_END_INT 9290fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 9300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final int ACTION_SET_SELECTION = 0x00020000; 9310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 9320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Action arguments 9330fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 93470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 93570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Argument for which movement granularity to be used when traversing the node text. 93670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 93770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Type:</strong> int<br> 93870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Actions:</strong> {@link #ACTION_NEXT_AT_MOVEMENT_GRANULARITY}, 93970e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY} 94070e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 94170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 94270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = 94370e96ebf69f91da84681a6263b3862c63d53ab11alanv "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT"; 94470e96ebf69f91da84681a6263b3862c63d53ab11alanv 94570e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 94670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Argument for which HTML element to get moving to the next/previous HTML element. 94770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 94870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Type:</strong> String<br> 94970e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Actions:</strong> {@link #ACTION_NEXT_HTML_ELEMENT}, 95070e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #ACTION_PREVIOUS_HTML_ELEMENT} 95170e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 95270e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 95370e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final String ACTION_ARGUMENT_HTML_ELEMENT_STRING = 95470e96ebf69f91da84681a6263b3862c63d53ab11alanv "ACTION_ARGUMENT_HTML_ELEMENT_STRING"; 95570e96ebf69f91da84681a6263b3862c63d53ab11alanv 95670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 9570fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Argument for whether when moving at granularity to extend the selection 9580fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * or to move it otherwise. 9590fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 9600fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Type:</strong> boolean<br> 9610fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Actions:</strong> {@link #ACTION_NEXT_AT_MOVEMENT_GRANULARITY}, 9620fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY} 9630fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 9640fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 9650fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_NEXT_AT_MOVEMENT_GRANULARITY 9660fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY 9670fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 9680fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final String ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN = 9690fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav "ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN"; 9700fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 9710fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 9720fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Argument for specifying the selection start. 9730fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 9740fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Type:</strong> int<br> 9750fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Actions:</strong> {@link #ACTION_SET_SELECTION} 9760fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 9770fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 9780fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_SET_SELECTION 9790fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 9800fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final String ACTION_ARGUMENT_SELECTION_START_INT = 9810fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav "ACTION_ARGUMENT_SELECTION_START_INT"; 9820fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 9830fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 9840fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Argument for specifying the selection end. 9850fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 9860fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Type:</strong> int<br> 9870fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Actions:</strong> {@link #ACTION_SET_SELECTION} 9880fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 9890fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 9900fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @see #ACTION_SET_SELECTION 9910fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 9920fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public static final String ACTION_ARGUMENT_SELECTION_END_INT = 9930fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav "ACTION_ARGUMENT_SELECTION_END_INT"; 9940fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 9950fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav // Focus types 9960fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 9970fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 99870e96ebf69f91da84681a6263b3862c63d53ab11alanv * The input focus. 99970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 100070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int FOCUS_INPUT = 1; 100170e96ebf69f91da84681a6263b3862c63d53ab11alanv 100270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 100370e96ebf69f91da84681a6263b3862c63d53ab11alanv * The accessibility focus. 100470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 100570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int FOCUS_ACCESSIBILITY = 2; 100670e96ebf69f91da84681a6263b3862c63d53ab11alanv 100770e96ebf69f91da84681a6263b3862c63d53ab11alanv // Movement granularities 100870e96ebf69f91da84681a6263b3862c63d53ab11alanv 100970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 101070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by character. 101170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 101270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_CHARACTER = 0x00000001; 101370e96ebf69f91da84681a6263b3862c63d53ab11alanv 101470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 101570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by word. 101670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 101770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_WORD = 0x00000002; 101870e96ebf69f91da84681a6263b3862c63d53ab11alanv 101970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 102070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by line. 102170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 102270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_LINE = 0x00000004; 102370e96ebf69f91da84681a6263b3862c63d53ab11alanv 102470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 102570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by paragraph. 102670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 102770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_PARAGRAPH = 0x00000008; 102870e96ebf69f91da84681a6263b3862c63d53ab11alanv 102970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 103070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by page. 103170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 103270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_PAGE = 0x00000010; 103370e96ebf69f91da84681a6263b3862c63d53ab11alanv 103470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 1035c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * Creates a wrapper for info implementation. 1036c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * 1037c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * @param object The info to wrap. 1038c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * @return A wrapper for if the object is not null, null otherwise. 1039c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov */ 1040c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov static AccessibilityNodeInfoCompat wrapNonNullInstance(Object object) { 1041c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov if (object != null) { 1042c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return new AccessibilityNodeInfoCompat(object); 1043c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov } 1044c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return null; 1045c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov } 1046c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov 1047956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov /** 1048956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * Creates a new instance wrapping an 1049956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * {@link android.view.accessibility.AccessibilityNodeInfo}. 1050956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * 1051956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * @param info The info. 10529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat(Object info) { 10549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov mInfo = info; 10559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 1058956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * @return The wrapped {@link android.view.accessibility.AccessibilityNodeInfo}. 10599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 1060956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov public Object getInfo() { 10619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return mInfo; 10629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 10659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available otherwise a new one and 10669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * sets the source. 10679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 10699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see #setSource(View) 10709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain(View source) { 107270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain(source)); 107370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 107470e96ebf69f91da84681a6263b3862c63d53ab11alanv 107570e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 107670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Returns a cached instance if such is available otherwise a new one 107770e96ebf69f91da84681a6263b3862c63d53ab11alanv * and sets the source. 107870e96ebf69f91da84681a6263b3862c63d53ab11alanv * 107970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param root The root of the virtual subtree. 108070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param virtualDescendantId The id of the virtual descendant. 108170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return An instance. 108270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 108370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setSource(View, int) 108470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 108570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static AccessibilityNodeInfoCompat obtain(View root, int virtualDescendantId) { 108670e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance( 108770e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.obtain(root, virtualDescendantId)); 10889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 10919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available otherwise a new one. 10929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 10949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain() { 109670e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain()); 10979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 11009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available or a new one is create. 11019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * The returned instance is initialized from the given <code>info</code>. 11029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 11039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param info The other info. 11049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 11059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 11069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain(AccessibilityNodeInfoCompat info) { 110770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain(info.mInfo)); 11089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 11119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the source. 11129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 11139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param source The info source. 11149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 11159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(View source) { 11169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setSource(mInfo, source); 11179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 11203a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Sets the source to be a virtual descendant of the given <code>root</code>. 11213a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * If <code>virtualDescendantId</code> is {@link View#NO_ID} the root 11223a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * is set as the source. 11233a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 11243a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * A virtual descendant is an imaginary View that is reported as a part of the view 11253a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * hierarchy for accessibility purposes. This enables custom views that draw complex 11263a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * content to report themselves as a tree of virtual views, thus conveying their 11273a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * logical structure. 11283a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 11293a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 11303a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 11313a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. 11323a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * This class is made immutable before being delivered to an AccessibilityService. 11333a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 11343a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 11353a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param root The root of the virtual subtree. 11363a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param virtualDescendantId The id of the virtual descendant. 11373a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov */ 11383a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(View root, int virtualDescendantId) { 11393a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.setSource(mInfo, root, virtualDescendantId); 11403a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 11413a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 11423a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov /** 114370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Find the view that has the specified focus type. The search starts from 114470e96ebf69f91da84681a6263b3862c63d53ab11alanv * the view represented by this node info. 114570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 114670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param focus The focus to find. One of {@link #FOCUS_INPUT} or 114770e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #FOCUS_ACCESSIBILITY}. 114870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The node info of the focused view or null. 114970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 115070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #FOCUS_INPUT 115170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #FOCUS_ACCESSIBILITY 115270e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 115370e96ebf69f91da84681a6263b3862c63d53ab11alanv public AccessibilityNodeInfoCompat findFocus(int focus) { 115470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.findFocus(mInfo, focus)); 115570e96ebf69f91da84681a6263b3862c63d53ab11alanv } 115670e96ebf69f91da84681a6263b3862c63d53ab11alanv 115770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 115870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Searches for the nearest view in the specified direction that can take 115976ca3a4abf437c04003bacff72491409f8898a18Svetoslav Ganov * input focus. 116070e96ebf69f91da84681a6263b3862c63d53ab11alanv * 116170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param direction The direction. Can be one of: 116270e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_DOWN}, 116370e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_UP}, 116470e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_LEFT}, 116570e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_RIGHT}, 116670e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_FORWARD}, 116776ca3a4abf437c04003bacff72491409f8898a18Svetoslav Ganov * {@link View#FOCUS_BACKWARD}. 116870e96ebf69f91da84681a6263b3862c63d53ab11alanv * 116970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The node info for the view that can take accessibility focus. 117070e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 117170e96ebf69f91da84681a6263b3862c63d53ab11alanv public AccessibilityNodeInfoCompat focusSearch(int direction) { 117270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.focusSearch(mInfo, direction)); 117370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 117470e96ebf69f91da84681a6263b3862c63d53ab11alanv 117570e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 11769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the id of the window from which the info comes from. 11779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 11789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The window id. 11799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 11809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId() { 11819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getWindowId(mInfo); 11829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 11859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the number of children. 11869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 11879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The child count. 11889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 11899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount() { 11909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getChildCount(mInfo); 11919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 11949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Get the child at given index. 11959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 11969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 11979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link AccessibilityNodeInfoCompat#recycle()} to 11989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * avoid creating of multiple instances. 11999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 12009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 12019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param index The child index. 12029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The child node. 12039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called outside of an 12049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * AccessibilityService. 12059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getChild(int index) { 120770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getChild(mInfo, index)); 12089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 12119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Adds a child. 12129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 12139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 12149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 12159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 12169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 12179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 12189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param child The child. 12199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 12209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(View child) { 12229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.addChild(mInfo, child); 12239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 12263a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Adds a virtual child which is a descendant of the given <code>root</code>. 12273a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * If <code>virtualDescendantId</code> is {@link View#NO_ID} the root 12283a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * is added as a child. 12293a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 12303a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * A virtual descendant is an imaginary View that is reported as a part of the view 12313a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * hierarchy for accessibility purposes. This enables custom views that draw complex 12323a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * content to report them selves as a tree of virtual views, thus conveying their 12333a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * logical structure. 12343a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 12353a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 12363a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param root The root of the virtual subtree. 12373a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param virtualDescendantId The id of the virtual child. 12383a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov */ 12393a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(View root, int virtualDescendantId) { 12403a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.addChild(mInfo, root, virtualDescendantId); 12413a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 12423a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 12433a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov /** 12449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the actions that can be performed on the node. 12459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 12469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The bit mask of with actions. 12479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_FOCUS 12489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_CLEAR_FOCUS 12499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_SELECT 12509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_CLEAR_SELECTION 12519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions() { 12539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getActions(mInfo); 12549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 12579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Adds an action that can be performed on the node. 12589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 12599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 12609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 12619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 12629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 12639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 12649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param action The action. 12659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 12669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(int action) { 12689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.addAction(mInfo, action); 12699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 12729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Performs an action on the node. 12739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 12749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> An action can be performed only if the request is 12759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made from an {@link android.accessibilityservice.AccessibilityService}. 12769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 12779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 12789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param action The action to perform. 12799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the action was performed. 12809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called outside of an 12819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * AccessibilityService. 12829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(int action) { 12849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.performAction(mInfo, action); 12859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 128870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Performs an action on the node. 128970e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 129070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> An action can be performed only if the request is made 129170e96ebf69f91da84681a6263b3862c63d53ab11alanv * from an {@link android.accessibilityservice.AccessibilityService}. 129270e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 129370e96ebf69f91da84681a6263b3862c63d53ab11alanv * 129470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param action The action to perform. 129570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param arguments A bundle with additional arguments. 129670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return True if the action was performed. 129770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 129870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called outside of an AccessibilityService. 129970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 130070e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(int action, Bundle arguments) { 130170e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.performAction(mInfo, action, arguments); 130270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 130370e96ebf69f91da84681a6263b3862c63d53ab11alanv 130470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 130570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets the movement granularities for traversing the text of this node. 130670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 130770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 130870e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 130970e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 131070e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 131170e96ebf69f91da84681a6263b3862c63d53ab11alanv * 131270e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param granularities The bit mask with granularities. 131370e96ebf69f91da84681a6263b3862c63d53ab11alanv * 131470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 131570e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 131670e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(int granularities) { 131770e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setMovementGranularities(mInfo, granularities); 131870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 131970e96ebf69f91da84681a6263b3862c63d53ab11alanv 132070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 132170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Gets the movement granularities for traversing the text of this node. 132270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 132370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The bit mask with granularities. 132470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 132570e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities() { 132670e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.getMovementGranularities(mInfo); 132770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 132870e96ebf69f91da84681a6263b3862c63d53ab11alanv 132970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 13309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Finds {@link android.view.accessibility.AccessibilityNodeInfo}s by text. The match 13319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * is case insensitive containment. The search is relative to this info i.e. this 13329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * info is the root of the traversed tree. 13339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 13349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 13359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link android.view.accessibility.AccessibilityNodeInfo#recycle()} 13369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * to avoid creating of multiple instances. 13379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 13389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param text The searched text. 13409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return A list of node info. 13419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<AccessibilityNodeInfoCompat> findAccessibilityNodeInfosByText(String text) { 13439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov List<AccessibilityNodeInfoCompat> result = new ArrayList<AccessibilityNodeInfoCompat>(); 13449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov List<Object> infos = IMPL.findAccessibilityNodeInfosByText(mInfo, text); 13459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov final int infoCount = infos.size(); 13469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov for (int i = 0; i < infoCount; i++) { 13479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov Object info = infos.get(i); 13489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov result.add(new AccessibilityNodeInfoCompat(info)); 13499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return result; 13519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the parent. 13559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 13569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 13579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link android.view.accessibility.AccessibilityNodeInfo#recycle()} 13589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * to avoid creating of multiple instances. 13599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 13609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The parent. 13629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getParent() { 136470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getParent(mInfo)); 13659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the parent. 13699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 13709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 13719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 13729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 13739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 13749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param parent The parent. 13769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 13779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(View parent) { 13799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setParent(mInfo, parent); 13809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 138370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets the parent to be a virtual descendant of the given <code>root</code>. 138470e96ebf69f91da84681a6263b3862c63d53ab11alanv * If <code>virtualDescendantId</code> equals to {@link View#NO_ID} the root 138570e96ebf69f91da84681a6263b3862c63d53ab11alanv * is set as the parent. 138670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 138770e96ebf69f91da84681a6263b3862c63d53ab11alanv * A virtual descendant is an imaginary View that is reported as a part of the view 138870e96ebf69f91da84681a6263b3862c63d53ab11alanv * hierarchy for accessibility purposes. This enables custom views that draw complex 138970e96ebf69f91da84681a6263b3862c63d53ab11alanv * content to report them selves as a tree of virtual views, thus conveying their 139070e96ebf69f91da84681a6263b3862c63d53ab11alanv * logical structure. 139170e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 139270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 139370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 139470e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 139570e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 139670e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 139770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 139870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param root The root of the virtual subtree. 139970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param virtualDescendantId The id of the virtual descendant. 140070e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 140170e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(View root, int virtualDescendantId) { 140270e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setParent(mInfo, root, virtualDescendantId); 140370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 140470e96ebf69f91da84681a6263b3862c63d53ab11alanv 140570e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 14069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the node bounds in parent coordinates. 14079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param outBounds The output node bounds. 14099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Rect outBounds) { 14119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.getBoundsInParent(mInfo, outBounds); 14129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the node bounds in parent coordinates. 14169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 14179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 14189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 14199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 14209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 14219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param bounds The node bounds. 14239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov *@throws IllegalStateException If called from an AccessibilityService. 14249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Rect bounds) { 14269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setBoundsInParent(mInfo, bounds); 14279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the node bounds in screen coordinates. 14319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param outBounds The output node bounds. 14339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Rect outBounds) { 14359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.getBoundsInScreen(mInfo, outBounds); 14369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the node bounds in screen coordinates. 14409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 14419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 14429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 14439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 14449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 14459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param bounds The node bounds. 14479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 14489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Rect bounds) { 14503a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.setBoundsInScreen(mInfo, bounds); 14519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is checkable. 14559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is checkable. 14579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable() { 14599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isCheckable(mInfo); 14609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is checkable. 14649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 14659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 14669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 14679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 14689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 14699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param checkable True if the node is checkable. 14719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 14729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(boolean checkable) { 14749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setCheckable(mInfo, checkable); 14759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is checked. 14799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is checked. 14819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked() { 14839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isChecked(mInfo); 14849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is checked. 14889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 14899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 14909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 14919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 14929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 14939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param checked True if the node is checked. 14959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 14969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(boolean checked) { 14989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setChecked(mInfo, checked); 14999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is focusable. 15039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is focusable. 15059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable() { 15079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isFocusable(mInfo); 15089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is focusable. 15129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 15139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 15149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 15159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 15169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 15179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param focusable True if the node is focusable. 15199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 15209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(boolean focusable) { 15229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setFocusable(mInfo, focusable); 15239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is focused. 15279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is focused. 15299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused() { 15319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isFocused(mInfo); 15329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is focused. 15369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 15379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 15389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 15399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 15409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 15419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param focused True if the node is focused. 15439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 15449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(boolean focused) { 15469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setFocused(mInfo, focused); 15479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 155070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is visible to the user. 155170e96ebf69f91da84681a6263b3862c63d53ab11alanv * 155270e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return Whether the node is visible to the user. 155370e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 155470e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser() { 155570e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.isVisibleToUser(mInfo); 155670e96ebf69f91da84681a6263b3862c63d53ab11alanv } 155770e96ebf69f91da84681a6263b3862c63d53ab11alanv 155870e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 155970e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is visible to the user. 156070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 156170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 156270e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 156370e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 156470e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 156570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 156670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param visibleToUser Whether the node is visible to the user. 156770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 156870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 156970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 157070e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(boolean visibleToUser) { 157170e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setVisibleToUser(mInfo, visibleToUser); 157270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 157370e96ebf69f91da84681a6263b3862c63d53ab11alanv 157470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 157570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Gets whether this node is accessibility focused. 157670e96ebf69f91da84681a6263b3862c63d53ab11alanv * 157770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return True if the node is accessibility focused. 157870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 157970e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused() { 158070e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.isAccessibilityFocused(mInfo); 158170e96ebf69f91da84681a6263b3862c63d53ab11alanv } 158270e96ebf69f91da84681a6263b3862c63d53ab11alanv 158370e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 158470e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is accessibility focused. 158570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 158670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 158770e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 158870e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 158970e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 159070e96ebf69f91da84681a6263b3862c63d53ab11alanv * 159170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param focused True if the node is accessibility focused. 159270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 159370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 159470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 159570e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(boolean focused) { 159670e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setAccessibilityFocused(mInfo, focused); 159770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 159870e96ebf69f91da84681a6263b3862c63d53ab11alanv 159970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 16009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is selected. 16019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is selected. 16039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected() { 16059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isSelected(mInfo); 16069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is selected. 16109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 16119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 16129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 16139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 16149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 16159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param selected True if the node is selected. 16179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 16189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(boolean selected) { 16209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setSelected(mInfo, selected); 16219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is clickable. 16259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is clickable. 16279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable() { 16299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isClickable(mInfo); 16309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is clickable. 16349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 16359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 16369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 16379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 16389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 16399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param clickable True if the node is clickable. 16419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 16429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(boolean clickable) { 16449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setClickable(mInfo, clickable); 16459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is long clickable. 16499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is long clickable. 16519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable() { 16539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isLongClickable(mInfo); 16549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is long clickable. 16589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 16599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 16609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 16619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 16629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 16639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param longClickable True if the node is long clickable. 16659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 16669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(boolean longClickable) { 16689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setLongClickable(mInfo, longClickable); 16699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is enabled. 16739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is enabled. 16759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled() { 16779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isEnabled(mInfo); 16789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is enabled. 16829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 16839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 16849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 16859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 16869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 16879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param enabled True if the node is enabled. 16899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 16909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(boolean enabled) { 16929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setEnabled(mInfo, enabled); 16939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is a password. 16979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is a password. 16999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword() { 17019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isPassword(mInfo); 17029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is a password. 17069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 17079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 17089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 17099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 17109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 17119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param password True if the node is a password. 17139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 17149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(boolean password) { 17169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setPassword(mInfo, password); 17179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets if the node is scrollable. 17219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is scrollable, false otherwise. 17239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable() { 17259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isScrollable(mInfo); 17269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets if the node is scrollable. 17309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 17319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 17329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 17339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 17349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 17359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param scrollable True if the node is scrollable, false otherwise. 17379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 17389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(boolean scrollable) { 17409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setScrollable(mInfo, scrollable); 17419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the package this node comes from. 17459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The package name. 17479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName() { 17499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getPackageName(mInfo); 17509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the package this node comes from. 17549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 17559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 17569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 17579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 17589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 17599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param packageName The package name. 17619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 17629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(CharSequence packageName) { 17649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setPackageName(mInfo, packageName); 17659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the class this node comes from. 17699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The class name. 17719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName() { 17739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getClassName(mInfo); 17749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the class this node comes from. 17789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 17799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 17809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 17819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 17829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 17839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param className The class name. 17859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 17869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(CharSequence className) { 17889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setClassName(mInfo, className); 17899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the text of this node. 17939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The text. 17959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText() { 17979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getText(mInfo); 17989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 18019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the text of this node. 18029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 18039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 18049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 18059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 18069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 18079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 18089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param text The text. 18099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 18109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 18119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(CharSequence text) { 18129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setText(mInfo, text); 18139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 18169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the content description of this node. 18179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 18189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The content description. 18199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 18209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription() { 18219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getContentDescription(mInfo); 18229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 18259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the content description of this node. 18269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 18279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 18289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 18299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 18309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 18319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 18329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param contentDescription The content description. 18339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 18349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 18359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(CharSequence contentDescription) { 18369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setContentDescription(mInfo, contentDescription); 18379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 18409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Return an instance back to be reused. 18419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 18429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> You must not touch the object after calling this function. 18439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 18449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If the info is already recycled. 18459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 18469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle() { 18479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.recycle(mInfo); 18489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18500fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 18510fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Sets the fully qualified resource name of the source view's id. 18520fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 18530fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 18540fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Note:</strong> Cannot be called from an 18550fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * {@link android.accessibilityservice.AccessibilityService}. 18560fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * This class is made immutable before being delivered to an AccessibilityService. 18570fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 18580fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 18590fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @param viewId The id resource name. 18600fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 1861071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public void setViewIdResourceName(String viewId) { 18620fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav IMPL.setViewIdResourceName(mInfo, viewId); 18630fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 18640fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 18650fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav /** 18660fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * Gets the fully qualified resource name of the source view's id. 18670fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 18680fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <p> 18690fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * <strong>Note:</strong> The primary usage of this API is for UI test automation 18700fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * and in order to report the source view id of an {@link AccessibilityNodeInfoCompat} 18710fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * the client has to set the {@link AccessibilityServiceInfoCompat#FLAG_REPORT_VIEW_IDS} 18720fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * flag when configuring his {@link android.accessibilityservice.AccessibilityService}. 18730fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * </p> 18740fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * 18750fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav * @return The id resource name. 18760fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav */ 1877071eca0f490d88fc51cea8f739780c7c92b920c3Svetoslav public String getViewIdResourceName() { 18780fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return IMPL.getViewIdResourceName(mInfo); 18790fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 18800fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 18819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 18829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int hashCode() { 18839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return (mInfo == null) ? 0 : mInfo.hashCode(); 18849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 18879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean equals(Object obj) { 18889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (this == obj) { 18899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return true; 18909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (obj == null) { 18929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 18939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (getClass() != obj.getClass()) { 18959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 18969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 18979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompat other = (AccessibilityNodeInfoCompat) obj; 18989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (mInfo == null) { 18999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (other.mInfo != null) { 19009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 19019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } else if (!mInfo.equals(other.mInfo)) { 19039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 19049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return true; 19069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 19070fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 19080fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav @Override 19090fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav public String toString() { 19100fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav StringBuilder builder = new StringBuilder(); 19110fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append(super.toString()); 19120fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 19130fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav Rect bounds = new Rect(); 19140fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 19150fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav getBoundsInParent(bounds); 19160fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; boundsInParent: " + bounds); 19170fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 19180fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav getBoundsInScreen(bounds); 19190fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; boundsInScreen: " + bounds); 19200fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 19210fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; packageName: ").append(getPackageName()); 19220fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; className: ").append(getClassName()); 19230fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; text: ").append(getText()); 19240fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; contentDescription: ").append(getContentDescription()); 19250fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; viewId: ").append(getViewIdResourceName()); 19260fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 19270fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; checkable: ").append(isCheckable()); 19280fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; checked: ").append(isChecked()); 19290fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; focusable: ").append(isFocusable()); 19300fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; focused: ").append(isFocused()); 19310fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; selected: ").append(isSelected()); 19320fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; clickable: ").append(isClickable()); 19330fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; longClickable: ").append(isLongClickable()); 19340fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; enabled: ").append(isEnabled()); 19350fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; password: ").append(isPassword()); 19360fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; scrollable: " + isScrollable()); 19370fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 19380fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("; ["); 19390fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav for (int actionBits = getActions(); actionBits != 0;) { 19400fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav final int action = 1 << Integer.numberOfTrailingZeros(actionBits); 19410fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav actionBits &= ~action; 19420fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append(getActionSymbolicName(action)); 19430fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav if (actionBits != 0) { 19440fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append(", "); 19450fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 19460fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 19470fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav builder.append("]"); 19480fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 19490fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return builder.toString(); 19500fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 19510fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav 19520fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav private static String getActionSymbolicName(int action) { 19530fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav switch (action) { 19540fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_FOCUS: 19550fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_FOCUS"; 19560fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLEAR_FOCUS: 19570fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLEAR_FOCUS"; 19580fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SELECT: 19590fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SELECT"; 19600fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLEAR_SELECTION: 19610fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLEAR_SELECTION"; 19620fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLICK: 19630fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLICK"; 19640fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_LONG_CLICK: 19650fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_LONG_CLICK"; 19660fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_ACCESSIBILITY_FOCUS: 19670fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_ACCESSIBILITY_FOCUS"; 19680fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CLEAR_ACCESSIBILITY_FOCUS: 19690fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CLEAR_ACCESSIBILITY_FOCUS"; 19700fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_NEXT_AT_MOVEMENT_GRANULARITY: 19710fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_NEXT_AT_MOVEMENT_GRANULARITY"; 19720fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY: 19730fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY"; 19740fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_NEXT_HTML_ELEMENT: 19750fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_NEXT_HTML_ELEMENT"; 19760fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_PREVIOUS_HTML_ELEMENT: 19770fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_PREVIOUS_HTML_ELEMENT"; 19780fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SCROLL_FORWARD: 19790fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SCROLL_FORWARD"; 19800fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SCROLL_BACKWARD: 19810fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SCROLL_BACKWARD"; 19820fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_CUT: 19830fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_CUT"; 19840fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_COPY: 19850fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_COPY"; 19860fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_PASTE: 19870fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_PASTE"; 19880fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav case ACTION_SET_SELECTION: 19890fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return "ACTION_SET_SELECTION"; 19900fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav default: 19910fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav return"ACTION_UNKNOWN"; 19920fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 19930fc5bd7644f7563f7b59bd1017df9c938857e794Svetoslav } 19949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov} 1995