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; 229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.view.View; 239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport java.util.ArrayList; 25f9c2277244722eca88c784b9cfdcc78df7f94781Svetoslav Ganovimport java.util.Collections; 269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport java.util.List; 279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov/** 290574ca37da4619afe4e26753f5a1b4de314b6565Svetoslav Ganov * Helper for accessing {@link android.view.accessibility.AccessibilityNodeInfo} 300574ca37da4619afe4e26753f5a1b4de314b6565Svetoslav Ganov * introduced after API level 4 in a backwards compatible fashion. 319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovpublic class AccessibilityNodeInfoCompat { 339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static interface AccessibilityNodeInfoImpl { 359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(); 369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source); 379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info); 3870e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId); 399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source); 403a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId); 4170e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus); 4270e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction); 439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info); 449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info); 4570e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index); 469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child); 473a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId); 489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info); 499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action); 509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action); 5170e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments); 5270e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities); 5370e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info); 549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text); 5570e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info); 5670e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId); 579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent); 589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds); 599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds); 609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds); 619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds); 629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info); 639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable); 649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info); 659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked); 669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info); 679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable); 689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info); 699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused); 7070e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info); 7170e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser); 7270e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info); 7370e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused); 749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info); 759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected); 769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info); 779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable); 789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info); 799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable); 809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info); 819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled); 829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info); 839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password); 849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info); 859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable); 869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info); 879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName); 889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info); 899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className); 909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info); 919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text); 929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info); 939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription); 949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info); 959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static class AccessibilityNodeInfoStubImpl implements AccessibilityNodeInfoImpl { 9870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain() { 1009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source) { 1059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 10970e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId) { 11070e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 11170e96ebf69f91da84681a6263b3862c63d53ab11alanv } 11270e96ebf69f91da84681a6263b3862c63d53ab11alanv 11370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info) { 1159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action) { 1209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child) { 1259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1293a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId) { 1303a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 1313a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 1323a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 13370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text) { 135f9c2277244722eca88c784b9cfdcc78df7f94781Svetoslav Ganov return Collections.emptyList(); 1369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info) { 1409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 1419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds) { 1459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds) { 1509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 1519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 15470e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index) { 1559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info) { 1609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 1619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info) { 1659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info) { 1709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info) { 1759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 17970e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info) { 1809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info) { 1859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return null; 1869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 18870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info) { 1909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return 0; 1919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info) { 1959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 1969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 1979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 19870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 1999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info) { 2009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info) { 2059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 20870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info) { 2109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 21370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info) { 2159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 21870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info) { 2209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 22370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 22470e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info) { 22570e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 22670e96ebf69f91da84681a6263b3862c63d53ab11alanv } 22770e96ebf69f91da84681a6263b3862c63d53ab11alanv 22870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 22970e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info) { 23070e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 23170e96ebf69f91da84681a6263b3862c63d53ab11alanv } 23270e96ebf69f91da84681a6263b3862c63d53ab11alanv 23370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info) { 2359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 23870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info) { 2409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 24370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info) { 2459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 24870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info) { 2509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 25370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action) { 2559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 2569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 25870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 25970e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments) { 26070e96ebf69f91da84681a6263b3862c63d53ab11alanv return false; 26170e96ebf69f91da84681a6263b3862c63d53ab11alanv } 26270e96ebf69f91da84681a6263b3862c63d53ab11alanv 26370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 26470e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities) { 26570e96ebf69f91da84681a6263b3862c63d53ab11alanv 26670e96ebf69f91da84681a6263b3862c63d53ab11alanv } 26770e96ebf69f91da84681a6263b3862c63d53ab11alanv 26870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 26970e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info) { 27070e96ebf69f91da84681a6263b3862c63d53ab11alanv return 0; 27170e96ebf69f91da84681a6263b3862c63d53ab11alanv } 27270e96ebf69f91da84681a6263b3862c63d53ab11alanv 27370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds) { 2759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 27870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds) { 2809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable) { 2859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 28870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked) { 2909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 29370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className) { 2959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 2969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 2979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 29870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 2999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable) { 3009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 30370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription) { 3059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 30870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled) { 3109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable) { 3159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 31870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused) { 3209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 32370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 32470e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser) { 32570e96ebf69f91da84681a6263b3862c63d53ab11alanv 32670e96ebf69f91da84681a6263b3862c63d53ab11alanv } 32770e96ebf69f91da84681a6263b3862c63d53ab11alanv 32870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 32970e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused) { 33070e96ebf69f91da84681a6263b3862c63d53ab11alanv 33170e96ebf69f91da84681a6263b3862c63d53ab11alanv } 33270e96ebf69f91da84681a6263b3862c63d53ab11alanv 33370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable) { 3359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 33870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName) { 3409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 34370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent) { 3459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 34870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password) { 3509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 35370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable) { 3559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 35870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected) { 3609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 36370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source) { 3659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 36870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3693a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId) { 3703a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 3713a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 3723a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 37370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 37470e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus) { 37570e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 37670e96ebf69f91da84681a6263b3862c63d53ab11alanv } 37770e96ebf69f91da84681a6263b3862c63d53ab11alanv 37870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 37970e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction) { 38070e96ebf69f91da84681a6263b3862c63d53ab11alanv return null; 38170e96ebf69f91da84681a6263b3862c63d53ab11alanv } 38270e96ebf69f91da84681a6263b3862c63d53ab11alanv 38370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text) { 3859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 38870e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 3899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info) { 3909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 39270e96ebf69f91da84681a6263b3862c63d53ab11alanv 39370e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 39470e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId) { 39570e96ebf69f91da84681a6263b3862c63d53ab11alanv 39670e96ebf69f91da84681a6263b3862c63d53ab11alanv } 3979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 3989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 3999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static class AccessibilityNodeInfoIcsImpl extends AccessibilityNodeInfoStubImpl { 4009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain() { 4029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(); 4039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(View source) { 4079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(source); 4089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public Object obtain(Object info) { 4129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.obtain(info); 4139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(Object info, int action) { 4179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.addAction(info, action); 4189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(Object info, View child) { 4229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.addChild(info, child); 4239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<Object> findAccessibilityNodeInfosByText(Object info, String text) { 4279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.findAccessibilityNodeInfosByText(info, text); 4289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions(Object info) { 4329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getActions(info); 4339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Object info, Rect outBounds) { 4379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.getBoundsInParent(info, outBounds); 4389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Object info, Rect outBounds) { 4429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.getBoundsInScreen(info, outBounds); 4439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 44670e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getChild(Object info, int index) { 44770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatIcs.getChild(info, index); 4489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount(Object info) { 4529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getChildCount(info); 4539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName(Object info) { 4579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getClassName(info); 4589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription(Object info) { 4629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getContentDescription(info); 4639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName(Object info) { 4679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getPackageName(info); 4689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 47170e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object getParent(Object info) { 47270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatIcs.getParent(info); 4739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText(Object info) { 4779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getText(info); 4789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId(Object info) { 4829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.getWindowId(info); 4839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable(Object info) { 4879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isCheckable(info); 4889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked(Object info) { 4929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isChecked(info); 4939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 4959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 4969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable(Object info) { 4979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isClickable(info); 4989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 4999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled(Object info) { 5029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isEnabled(info); 5039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable(Object info) { 5079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isFocusable(info); 5089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused(Object info) { 5129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isFocused(info); 5139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable(Object info) { 5179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isLongClickable(info); 5189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword(Object info) { 5229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isPassword(info); 5239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable(Object info) { 5279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isScrollable(info); 5289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected(Object info) { 5329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.isSelected(info); 5339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(Object info, int action) { 5379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return AccessibilityNodeInfoCompatIcs.performAction(info, action); 5389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Object info, Rect bounds) { 5429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setBoundsInParent(info, bounds); 5439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Object info, Rect bounds) { 5479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setBoundsInScreen(info, bounds); 5489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(Object info, boolean checkable) { 5529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setCheckable(info, checkable); 5539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(Object info, boolean checked) { 5579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setChecked(info, checked); 5589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(Object info, CharSequence className) { 5629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setClassName(info, className); 5639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(Object info, boolean clickable) { 5679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setClickable(info, clickable); 5689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(Object info, CharSequence contentDescription) { 5729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setContentDescription(info, contentDescription); 5739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(Object info, boolean enabled) { 5779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setEnabled(info, enabled); 5789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(Object info, boolean focusable) { 5829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setFocusable(info, focusable); 5839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(Object info, boolean focused) { 5879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setFocused(info, focused); 5889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(Object info, boolean longClickable) { 5929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setLongClickable(info, longClickable); 5939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 5959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 5969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(Object info, CharSequence packageName) { 5979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setPackageName(info, packageName); 5989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 5999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(Object info, View parent) { 6029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setParent(info, parent); 6039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(Object info, boolean password) { 6079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setPassword(info, password); 6089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(Object info, boolean scrollable) { 6129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setScrollable(info, scrollable); 6139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(Object info, boolean selected) { 6179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setSelected(info, selected); 6189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(Object info, View source) { 6229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setSource(info, source); 6239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(Object info, CharSequence text) { 6279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.setText(info, text); 6289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 6319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle(Object info) { 6329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompatIcs.recycle(info); 6339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 6359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 6363a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov static class AccessibilityNodeInfoJellybeanImpl extends AccessibilityNodeInfoIcsImpl { 6373a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov @Override 63870e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object obtain(View root, int virtualDescendantId) { 63970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.obtain(root, virtualDescendantId); 64070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 64170e96ebf69f91da84681a6263b3862c63d53ab11alanv 64270e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 64370e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object findFocus(Object info, int focus) { 64470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.findFocus(info, focus); 64570e96ebf69f91da84681a6263b3862c63d53ab11alanv } 64670e96ebf69f91da84681a6263b3862c63d53ab11alanv 64770e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 64870e96ebf69f91da84681a6263b3862c63d53ab11alanv public Object focusSearch(Object info, int direction) { 64970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.focusSearch(info, direction); 65070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 65170e96ebf69f91da84681a6263b3862c63d53ab11alanv 65270e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 6533a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(Object info, View child, int virtualDescendantId) { 6543a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov AccessibilityNodeInfoCompatJellyBean.addChild(info, child, virtualDescendantId); 6553a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 6563a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 6573a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov @Override 6583a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(Object info, View root, int virtualDescendantId) { 6593a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov AccessibilityNodeInfoCompatJellyBean.setSource(info, root, virtualDescendantId); 6603a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 66170e96ebf69f91da84681a6263b3862c63d53ab11alanv 66270e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 66370e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser(Object info) { 66470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.isVisibleToUser(info); 66570e96ebf69f91da84681a6263b3862c63d53ab11alanv } 66670e96ebf69f91da84681a6263b3862c63d53ab11alanv 66770e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 66870e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(Object info, boolean visibleToUser) { 66970e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setVisibleToUser(info, visibleToUser); 67070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 67170e96ebf69f91da84681a6263b3862c63d53ab11alanv 67270e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 67370e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused(Object info) { 67470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.isAccessibilityFocused(info); 67570e96ebf69f91da84681a6263b3862c63d53ab11alanv } 67670e96ebf69f91da84681a6263b3862c63d53ab11alanv 67770e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 67870e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(Object info, boolean focused) { 67970e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setAccesibilityFocused(info, focused); 68070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 68170e96ebf69f91da84681a6263b3862c63d53ab11alanv 68270e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 68370e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(Object info, int action, Bundle arguments) { 68470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.performAction(info, action, arguments); 68570e96ebf69f91da84681a6263b3862c63d53ab11alanv } 68670e96ebf69f91da84681a6263b3862c63d53ab11alanv 68770e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 68870e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(Object info, int granularities) { 68970e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setMovementGranularities(info, granularities); 69070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 69170e96ebf69f91da84681a6263b3862c63d53ab11alanv 69270e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 69370e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities(Object info) { 69470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompatJellyBean.getMovementGranularities(info); 69570e96ebf69f91da84681a6263b3862c63d53ab11alanv } 69670e96ebf69f91da84681a6263b3862c63d53ab11alanv 69770e96ebf69f91da84681a6263b3862c63d53ab11alanv @Override 69870e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(Object info, View root, int virtualDescendantId) { 69970e96ebf69f91da84681a6263b3862c63d53ab11alanv AccessibilityNodeInfoCompatJellyBean.setParent(info, root, virtualDescendantId); 70070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 7013a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 7023a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 7039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov static { 704f3ed7c56e6c409d27c60f7d74c026906593c21d4Svetoslav Ganov if (Build.VERSION.SDK_INT >= 16) { // JellyBean 7053a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL = new AccessibilityNodeInfoJellybeanImpl(); 7063a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } else if (Build.VERSION.SDK_INT >= 14) { // ICS 7079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL = new AccessibilityNodeInfoIcsImpl(); 7089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } else { 7099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL = new AccessibilityNodeInfoStubImpl(); 7109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov private static final AccessibilityNodeInfoImpl IMPL; 7149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov private final Object mInfo; 7169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov // Actions. 7189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that focuses the node. 7219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_FOCUS = 0x00000001; 7239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that unfocuses the node. 7269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_CLEAR_FOCUS = 0x00000002; 7289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that selects the node. 7319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_SELECT = 0x00000004; 7339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that unselects the node. 7369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_CLEAR_SELECTION = 0x00000008; 7389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 739c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov /** 74070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that clicks on the node info. 74170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 74270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_CLICK = 0x00000010; 74370e96ebf69f91da84681a6263b3862c63d53ab11alanv 74470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 74570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that long clicks on the node. 74670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 74770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_LONG_CLICK = 0x00000020; 74870e96ebf69f91da84681a6263b3862c63d53ab11alanv 74970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 75070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that gives accessibility focus to the node. 75170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 75270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_ACCESSIBILITY_FOCUS = 0x00000040; 75370e96ebf69f91da84681a6263b3862c63d53ab11alanv 75470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 75570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that clears accessibility focus of the node. 75670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 75770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_CLEAR_ACCESSIBILITY_FOCUS = 0x00000080; 75870e96ebf69f91da84681a6263b3862c63d53ab11alanv 75970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 76070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that requests to go to the next entity in this node's text 76170e96ebf69f91da84681a6263b3862c63d53ab11alanv * at a given movement granularity. For example, move to the next character, 76270e96ebf69f91da84681a6263b3862c63d53ab11alanv * word, etc. 76370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 76470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT}<br> 76570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 76670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 76770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 76870e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, 76970e96ebf69f91da84681a6263b3862c63d53ab11alanv * AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); 77070e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments); 77170e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 77270e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 77370e96ebf69f91da84681a6263b3862c63d53ab11alanv * 77470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setMovementGranularities(int) 77570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #getMovementGranularities() 77670e96ebf69f91da84681a6263b3862c63d53ab11alanv * 77770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_CHARACTER 77870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_WORD 77970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_LINE 78070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PARAGRAPH 78170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PAGE 78270e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 78370e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_NEXT_AT_MOVEMENT_GRANULARITY = 0x00000100; 78470e96ebf69f91da84681a6263b3862c63d53ab11alanv 78570e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 78670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that requests to go to the previous entity in this node's text 78770e96ebf69f91da84681a6263b3862c63d53ab11alanv * at a given movement granularity. For example, move to the next character, 78870e96ebf69f91da84681a6263b3862c63d53ab11alanv * word, etc. 78970e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 79070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT}<br> 79170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 79270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 79370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 79470e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, 79570e96ebf69f91da84681a6263b3862c63d53ab11alanv * AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); 79670e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, 79770e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments); 79870e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 79970e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 80070e96ebf69f91da84681a6263b3862c63d53ab11alanv * 80170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setMovementGranularities(int) 80270e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #getMovementGranularities() 80370e96ebf69f91da84681a6263b3862c63d53ab11alanv * 80470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_CHARACTER 80570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_WORD 80670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_LINE 80770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PARAGRAPH 80870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PAGE 80970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 81070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY = 0x00000200; 81170e96ebf69f91da84681a6263b3862c63d53ab11alanv 81270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 81370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to move to the next HTML element of a given type. For example, move 81470e96ebf69f91da84681a6263b3862c63d53ab11alanv * to the BUTTON, INPUT, TABLE, etc. 81570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 81670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_HTML_ELEMENT_STRING}<br> 81770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 81870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 81970e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 82070e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); 82170e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_NEXT_HTML_ELEMENT, arguments); 82270e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 82370e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 82470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 82570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_NEXT_HTML_ELEMENT = 0x00000400; 82670e96ebf69f91da84681a6263b3862c63d53ab11alanv 82770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 82870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to move to the previous HTML element of a given type. For example, move 82970e96ebf69f91da84681a6263b3862c63d53ab11alanv * to the BUTTON, INPUT, TABLE, etc. 83070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 83170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_HTML_ELEMENT_STRING}<br> 83270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 83370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 83470e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 83570e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); 83670e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_HTML_ELEMENT, arguments); 83770e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 83870e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 83970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 84070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_PREVIOUS_HTML_ELEMENT = 0x00000800; 84170e96ebf69f91da84681a6263b3862c63d53ab11alanv 84270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 84370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to scroll the node content forward. 84470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 84570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_SCROLL_FORWARD = 0x00001000; 84670e96ebf69f91da84681a6263b3862c63d53ab11alanv 84770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 84870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to scroll the node content backward. 84970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 85070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_SCROLL_BACKWARD = 0x00002000; 85170e96ebf69f91da84681a6263b3862c63d53ab11alanv 85270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 85370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Argument for which movement granularity to be used when traversing the node text. 85470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 85570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Type:</strong> int<br> 85670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Actions:</strong> {@link #ACTION_NEXT_AT_MOVEMENT_GRANULARITY}, 85770e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY} 85870e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 85970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 86070e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = 86170e96ebf69f91da84681a6263b3862c63d53ab11alanv "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT"; 86270e96ebf69f91da84681a6263b3862c63d53ab11alanv 86370e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 86470e96ebf69f91da84681a6263b3862c63d53ab11alanv * Argument for which HTML element to get moving to the next/previous HTML element. 86570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 86670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Type:</strong> String<br> 86770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Actions:</strong> {@link #ACTION_NEXT_HTML_ELEMENT}, 86870e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #ACTION_PREVIOUS_HTML_ELEMENT} 86970e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 87070e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 87170e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final String ACTION_ARGUMENT_HTML_ELEMENT_STRING = 87270e96ebf69f91da84681a6263b3862c63d53ab11alanv "ACTION_ARGUMENT_HTML_ELEMENT_STRING"; 87370e96ebf69f91da84681a6263b3862c63d53ab11alanv 87470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 87570e96ebf69f91da84681a6263b3862c63d53ab11alanv * The input focus. 87670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 87770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int FOCUS_INPUT = 1; 87870e96ebf69f91da84681a6263b3862c63d53ab11alanv 87970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 88070e96ebf69f91da84681a6263b3862c63d53ab11alanv * The accessibility focus. 88170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 88270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int FOCUS_ACCESSIBILITY = 2; 88370e96ebf69f91da84681a6263b3862c63d53ab11alanv 88470e96ebf69f91da84681a6263b3862c63d53ab11alanv // Movement granularities 88570e96ebf69f91da84681a6263b3862c63d53ab11alanv 88670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 88770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by character. 88870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 88970e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_CHARACTER = 0x00000001; 89070e96ebf69f91da84681a6263b3862c63d53ab11alanv 89170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 89270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by word. 89370e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 89470e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_WORD = 0x00000002; 89570e96ebf69f91da84681a6263b3862c63d53ab11alanv 89670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 89770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by line. 89870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 89970e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_LINE = 0x00000004; 90070e96ebf69f91da84681a6263b3862c63d53ab11alanv 90170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 90270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by paragraph. 90370e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 90470e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_PARAGRAPH = 0x00000008; 90570e96ebf69f91da84681a6263b3862c63d53ab11alanv 90670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 90770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by page. 90870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 90970e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_PAGE = 0x00000010; 91070e96ebf69f91da84681a6263b3862c63d53ab11alanv 91170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 912c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * Creates a wrapper for info implementation. 913c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * 914c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * @param object The info to wrap. 915c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * @return A wrapper for if the object is not null, null otherwise. 916c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov */ 917c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov static AccessibilityNodeInfoCompat wrapNonNullInstance(Object object) { 918c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov if (object != null) { 919c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return new AccessibilityNodeInfoCompat(object); 920c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov } 921c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return null; 922c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov } 923c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov 924956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov /** 925956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * Creates a new instance wrapping an 926956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * {@link android.view.accessibility.AccessibilityNodeInfo}. 927956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * 928956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * @param info The info. 9299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat(Object info) { 9319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov mInfo = info; 9329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 935956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * @return The wrapped {@link android.view.accessibility.AccessibilityNodeInfo}. 9369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 937956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov public Object getInfo() { 9389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return mInfo; 9399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available otherwise a new one and 9439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * sets the source. 9449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 9469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see #setSource(View) 9479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain(View source) { 94970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain(source)); 95070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 95170e96ebf69f91da84681a6263b3862c63d53ab11alanv 95270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 95370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Returns a cached instance if such is available otherwise a new one 95470e96ebf69f91da84681a6263b3862c63d53ab11alanv * and sets the source. 95570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 95670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param root The root of the virtual subtree. 95770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param virtualDescendantId The id of the virtual descendant. 95870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return An instance. 95970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 96070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setSource(View, int) 96170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 96270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static AccessibilityNodeInfoCompat obtain(View root, int virtualDescendantId) { 96370e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance( 96470e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.obtain(root, virtualDescendantId)); 9659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available otherwise a new one. 9699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 9719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain() { 97370e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain()); 9749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available or a new one is create. 9789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * The returned instance is initialized from the given <code>info</code>. 9799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param info The other info. 9819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 9829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain(AccessibilityNodeInfoCompat info) { 98470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain(info.mInfo)); 9859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the source. 9899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param source The info source. 9919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(View source) { 9939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setSource(mInfo, source); 9949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9973a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Sets the source to be a virtual descendant of the given <code>root</code>. 9983a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * If <code>virtualDescendantId</code> is {@link View#NO_ID} the root 9993a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * is set as the source. 10003a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 10013a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * A virtual descendant is an imaginary View that is reported as a part of the view 10023a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * hierarchy for accessibility purposes. This enables custom views that draw complex 10033a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * content to report themselves as a tree of virtual views, thus conveying their 10043a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * logical structure. 10053a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 10063a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 10073a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 10083a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. 10093a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * This class is made immutable before being delivered to an AccessibilityService. 10103a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 10113a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 10123a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param root The root of the virtual subtree. 10133a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param virtualDescendantId The id of the virtual descendant. 10143a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov */ 10153a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(View root, int virtualDescendantId) { 10163a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.setSource(mInfo, root, virtualDescendantId); 10173a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 10183a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 10193a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov /** 102070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Find the view that has the specified focus type. The search starts from 102170e96ebf69f91da84681a6263b3862c63d53ab11alanv * the view represented by this node info. 102270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 102370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param focus The focus to find. One of {@link #FOCUS_INPUT} or 102470e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #FOCUS_ACCESSIBILITY}. 102570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The node info of the focused view or null. 102670e96ebf69f91da84681a6263b3862c63d53ab11alanv * 102770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #FOCUS_INPUT 102870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #FOCUS_ACCESSIBILITY 102970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 103070e96ebf69f91da84681a6263b3862c63d53ab11alanv public AccessibilityNodeInfoCompat findFocus(int focus) { 103170e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.findFocus(mInfo, focus)); 103270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 103370e96ebf69f91da84681a6263b3862c63d53ab11alanv 103470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 103570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Searches for the nearest view in the specified direction that can take 103676ca3a4abf437c04003bacff72491409f8898a18Svetoslav Ganov * input focus. 103770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 103870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param direction The direction. Can be one of: 103970e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_DOWN}, 104070e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_UP}, 104170e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_LEFT}, 104270e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_RIGHT}, 104370e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_FORWARD}, 104476ca3a4abf437c04003bacff72491409f8898a18Svetoslav Ganov * {@link View#FOCUS_BACKWARD}. 104570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 104670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The node info for the view that can take accessibility focus. 104770e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 104870e96ebf69f91da84681a6263b3862c63d53ab11alanv public AccessibilityNodeInfoCompat focusSearch(int direction) { 104970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.focusSearch(mInfo, direction)); 105070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 105170e96ebf69f91da84681a6263b3862c63d53ab11alanv 105270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 10539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the id of the window from which the info comes from. 10549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The window id. 10569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId() { 10589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getWindowId(mInfo); 10599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 10629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the number of children. 10639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The child count. 10659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount() { 10679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getChildCount(mInfo); 10689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 10719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Get the child at given index. 10729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 10739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 10749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link AccessibilityNodeInfoCompat#recycle()} to 10759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * avoid creating of multiple instances. 10769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 10779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param index The child index. 10799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The child node. 10809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called outside of an 10819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * AccessibilityService. 10829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getChild(int index) { 108470e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getChild(mInfo, index)); 10859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 10889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Adds a child. 10899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 10909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 10919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 10929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 10939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 10949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param child The child. 10969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 10979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(View child) { 10999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.addChild(mInfo, child); 11009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 11033a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Adds a virtual child which is a descendant of the given <code>root</code>. 11043a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * If <code>virtualDescendantId</code> is {@link View#NO_ID} the root 11053a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * is added as a child. 11063a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 11073a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * A virtual descendant is an imaginary View that is reported as a part of the view 11083a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * hierarchy for accessibility purposes. This enables custom views that draw complex 11093a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * content to report them selves as a tree of virtual views, thus conveying their 11103a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * logical structure. 11113a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 11123a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 11133a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param root The root of the virtual subtree. 11143a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param virtualDescendantId The id of the virtual child. 11153a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov */ 11163a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(View root, int virtualDescendantId) { 11173a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.addChild(mInfo, root, virtualDescendantId); 11183a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 11193a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 11203a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov /** 11219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the actions that can be performed on the node. 11229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 11239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The bit mask of with actions. 11249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_FOCUS 11259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_CLEAR_FOCUS 11269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_SELECT 11279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_CLEAR_SELECTION 11289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 11299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions() { 11309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getActions(mInfo); 11319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 11349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Adds an action that can be performed on the node. 11359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 11369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 11379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 11389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 11399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 11409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 11419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param action The action. 11429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 11439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 11449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(int action) { 11459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.addAction(mInfo, action); 11469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 11499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Performs an action on the node. 11509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 11519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> An action can be performed only if the request is 11529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made from an {@link android.accessibilityservice.AccessibilityService}. 11539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 11549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 11559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param action The action to perform. 11569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the action was performed. 11579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called outside of an 11589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * AccessibilityService. 11599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 11609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(int action) { 11619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.performAction(mInfo, action); 11629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 116570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Performs an action on the node. 116670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 116770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> An action can be performed only if the request is made 116870e96ebf69f91da84681a6263b3862c63d53ab11alanv * from an {@link android.accessibilityservice.AccessibilityService}. 116970e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 117070e96ebf69f91da84681a6263b3862c63d53ab11alanv * 117170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param action The action to perform. 117270e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param arguments A bundle with additional arguments. 117370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return True if the action was performed. 117470e96ebf69f91da84681a6263b3862c63d53ab11alanv * 117570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called outside of an AccessibilityService. 117670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 117770e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(int action, Bundle arguments) { 117870e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.performAction(mInfo, action, arguments); 117970e96ebf69f91da84681a6263b3862c63d53ab11alanv } 118070e96ebf69f91da84681a6263b3862c63d53ab11alanv 118170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 118270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets the movement granularities for traversing the text of this node. 118370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 118470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 118570e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 118670e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 118770e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 118870e96ebf69f91da84681a6263b3862c63d53ab11alanv * 118970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param granularities The bit mask with granularities. 119070e96ebf69f91da84681a6263b3862c63d53ab11alanv * 119170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 119270e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 119370e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(int granularities) { 119470e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setMovementGranularities(mInfo, granularities); 119570e96ebf69f91da84681a6263b3862c63d53ab11alanv } 119670e96ebf69f91da84681a6263b3862c63d53ab11alanv 119770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 119870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Gets the movement granularities for traversing the text of this node. 119970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 120070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The bit mask with granularities. 120170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 120270e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities() { 120370e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.getMovementGranularities(mInfo); 120470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 120570e96ebf69f91da84681a6263b3862c63d53ab11alanv 120670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 12079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Finds {@link android.view.accessibility.AccessibilityNodeInfo}s by text. The match 12089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * is case insensitive containment. The search is relative to this info i.e. this 12099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * info is the root of the traversed tree. 12109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 12119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 12129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link android.view.accessibility.AccessibilityNodeInfo#recycle()} 12139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * to avoid creating of multiple instances. 12149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 12159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 12169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param text The searched text. 12179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return A list of node info. 12189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<AccessibilityNodeInfoCompat> findAccessibilityNodeInfosByText(String text) { 12209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov List<AccessibilityNodeInfoCompat> result = new ArrayList<AccessibilityNodeInfoCompat>(); 12219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov List<Object> infos = IMPL.findAccessibilityNodeInfosByText(mInfo, text); 12229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov final int infoCount = infos.size(); 12239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov for (int i = 0; i < infoCount; i++) { 12249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov Object info = infos.get(i); 12259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov result.add(new AccessibilityNodeInfoCompat(info)); 12269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return result; 12289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 12319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the parent. 12329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 12339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 12349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link android.view.accessibility.AccessibilityNodeInfo#recycle()} 12359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * to avoid creating of multiple instances. 12369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 12379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 12389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The parent. 12399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getParent() { 124170e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getParent(mInfo)); 12429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 12459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the parent. 12469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 12479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 12489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 12499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 12509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 12519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 12529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param parent The parent. 12539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 12549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(View parent) { 12569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setParent(mInfo, parent); 12579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 126070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets the parent to be a virtual descendant of the given <code>root</code>. 126170e96ebf69f91da84681a6263b3862c63d53ab11alanv * If <code>virtualDescendantId</code> equals to {@link View#NO_ID} the root 126270e96ebf69f91da84681a6263b3862c63d53ab11alanv * is set as the parent. 126370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 126470e96ebf69f91da84681a6263b3862c63d53ab11alanv * A virtual descendant is an imaginary View that is reported as a part of the view 126570e96ebf69f91da84681a6263b3862c63d53ab11alanv * hierarchy for accessibility purposes. This enables custom views that draw complex 126670e96ebf69f91da84681a6263b3862c63d53ab11alanv * content to report them selves as a tree of virtual views, thus conveying their 126770e96ebf69f91da84681a6263b3862c63d53ab11alanv * logical structure. 126870e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 126970e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 127070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 127170e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 127270e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 127370e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 127470e96ebf69f91da84681a6263b3862c63d53ab11alanv * 127570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param root The root of the virtual subtree. 127670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param virtualDescendantId The id of the virtual descendant. 127770e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 127870e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(View root, int virtualDescendantId) { 127970e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setParent(mInfo, root, virtualDescendantId); 128070e96ebf69f91da84681a6263b3862c63d53ab11alanv } 128170e96ebf69f91da84681a6263b3862c63d53ab11alanv 128270e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 12839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the node bounds in parent coordinates. 12849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 12859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param outBounds The output node bounds. 12869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Rect outBounds) { 12889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.getBoundsInParent(mInfo, outBounds); 12899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 12929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the node bounds in parent coordinates. 12939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 12949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 12959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 12969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 12979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 12989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 12999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param bounds The node bounds. 13009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov *@throws IllegalStateException If called from an AccessibilityService. 13019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Rect bounds) { 13039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setBoundsInParent(mInfo, bounds); 13049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the node bounds in screen coordinates. 13089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param outBounds The output node bounds. 13109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Rect outBounds) { 13129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.getBoundsInScreen(mInfo, outBounds); 13139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the node bounds in screen coordinates. 13179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 13189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 13199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 13209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 13219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 13229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param bounds The node bounds. 13249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 13259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Rect bounds) { 13273a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.setBoundsInScreen(mInfo, bounds); 13289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is checkable. 13329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is checkable. 13349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable() { 13369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isCheckable(mInfo); 13379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is checkable. 13419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 13429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 13439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 13449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 13459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 13469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param checkable True if the node is checkable. 13489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 13499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(boolean checkable) { 13519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setCheckable(mInfo, checkable); 13529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is checked. 13569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is checked. 13589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked() { 13609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isChecked(mInfo); 13619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is checked. 13659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 13669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 13679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 13689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 13699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 13709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param checked True if the node is checked. 13729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 13739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(boolean checked) { 13759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setChecked(mInfo, checked); 13769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is focusable. 13809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is focusable. 13829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable() { 13849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isFocusable(mInfo); 13859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is focusable. 13899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 13909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 13919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 13929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 13939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 13949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param focusable True if the node is focusable. 13969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 13979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(boolean focusable) { 13999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setFocusable(mInfo, focusable); 14009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is focused. 14049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is focused. 14069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused() { 14089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isFocused(mInfo); 14099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is focused. 14139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 14149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 14159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 14169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 14179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 14189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param focused True if the node is focused. 14209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 14219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(boolean focused) { 14239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setFocused(mInfo, focused); 14249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 142770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is visible to the user. 142870e96ebf69f91da84681a6263b3862c63d53ab11alanv * 142970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return Whether the node is visible to the user. 143070e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 143170e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser() { 143270e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.isVisibleToUser(mInfo); 143370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 143470e96ebf69f91da84681a6263b3862c63d53ab11alanv 143570e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 143670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is visible to the user. 143770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 143870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 143970e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 144070e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 144170e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 144270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 144370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param visibleToUser Whether the node is visible to the user. 144470e96ebf69f91da84681a6263b3862c63d53ab11alanv * 144570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 144670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 144770e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(boolean visibleToUser) { 144870e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setVisibleToUser(mInfo, visibleToUser); 144970e96ebf69f91da84681a6263b3862c63d53ab11alanv } 145070e96ebf69f91da84681a6263b3862c63d53ab11alanv 145170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 145270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Gets whether this node is accessibility focused. 145370e96ebf69f91da84681a6263b3862c63d53ab11alanv * 145470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return True if the node is accessibility focused. 145570e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 145670e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused() { 145770e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.isAccessibilityFocused(mInfo); 145870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 145970e96ebf69f91da84681a6263b3862c63d53ab11alanv 146070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 146170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is accessibility focused. 146270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 146370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 146470e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 146570e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 146670e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 146770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 146870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param focused True if the node is accessibility focused. 146970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 147070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 147170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 147270e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(boolean focused) { 147370e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setAccessibilityFocused(mInfo, focused); 147470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 147570e96ebf69f91da84681a6263b3862c63d53ab11alanv 147670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 14779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is selected. 14789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is selected. 14809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected() { 14829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isSelected(mInfo); 14839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is selected. 14879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 14889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 14899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 14909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 14919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 14929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param selected True if the node is selected. 14949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 14959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(boolean selected) { 14979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setSelected(mInfo, selected); 14989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is clickable. 15029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is clickable. 15049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable() { 15069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isClickable(mInfo); 15079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is clickable. 15119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 15129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 15139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 15149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 15159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 15169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param clickable True if the node is clickable. 15189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 15199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(boolean clickable) { 15219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setClickable(mInfo, clickable); 15229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is long clickable. 15269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is long clickable. 15289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable() { 15309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isLongClickable(mInfo); 15319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is long clickable. 15359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 15369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 15379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 15389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 15399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 15409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param longClickable True if the node is long clickable. 15429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 15439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(boolean longClickable) { 15459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setLongClickable(mInfo, longClickable); 15469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is enabled. 15509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is enabled. 15529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled() { 15549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isEnabled(mInfo); 15559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is enabled. 15599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 15609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 15619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 15629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 15639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 15649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param enabled True if the node is enabled. 15669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 15679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(boolean enabled) { 15699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setEnabled(mInfo, enabled); 15709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is a password. 15749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is a password. 15769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword() { 15789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isPassword(mInfo); 15799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is a password. 15839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 15849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 15859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 15869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 15879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 15889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param password True if the node is a password. 15909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 15919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(boolean password) { 15939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setPassword(mInfo, password); 15949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets if the node is scrollable. 15989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is scrollable, false otherwise. 16009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable() { 16029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isScrollable(mInfo); 16039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets if the node is scrollable. 16079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 16089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 16099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 16109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 16119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 16129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param scrollable True if the node is scrollable, false otherwise. 16149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 16159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(boolean scrollable) { 16179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setScrollable(mInfo, scrollable); 16189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the package this node comes from. 16229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The package name. 16249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName() { 16269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getPackageName(mInfo); 16279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the package this node comes from. 16319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 16329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 16339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 16349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 16359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 16369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param packageName The package name. 16389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 16399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(CharSequence packageName) { 16419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setPackageName(mInfo, packageName); 16429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the class this node comes from. 16469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The class name. 16489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName() { 16509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getClassName(mInfo); 16519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the class this node comes from. 16559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 16569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 16579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 16589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 16599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 16609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param className The class name. 16629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 16639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(CharSequence className) { 16659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setClassName(mInfo, className); 16669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the text of this node. 16709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The text. 16729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText() { 16749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getText(mInfo); 16759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the text of this node. 16799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 16809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 16819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 16829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 16839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 16849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param text The text. 16869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 16879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(CharSequence text) { 16899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setText(mInfo, text); 16909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the content description of this node. 16949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The content description. 16969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription() { 16989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getContentDescription(mInfo); 16999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the content description of this node. 17039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 17049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 17059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 17069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 17079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 17089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param contentDescription The content description. 17109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 17119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(CharSequence contentDescription) { 17139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setContentDescription(mInfo, contentDescription); 17149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Return an instance back to be reused. 17189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 17199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> You must not touch the object after calling this function. 17209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If the info is already recycled. 17229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle() { 17249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.recycle(mInfo); 17259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int hashCode() { 17299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return (mInfo == null) ? 0 : mInfo.hashCode(); 17309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean equals(Object obj) { 17349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (this == obj) { 17359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return true; 17369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (obj == null) { 17389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 17399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (getClass() != obj.getClass()) { 17419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 17429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompat other = (AccessibilityNodeInfoCompat) obj; 17449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (mInfo == null) { 17459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (other.mInfo != null) { 17469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 17479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } else if (!mInfo.equals(other.mInfo)) { 17499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 17509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return true; 17529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov} 1754