AccessibilityNodeInfoCompat.java revision 70e96ebf69f91da84681a6263b3862c63d53ab11
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 { 7043a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov // TODO: Update the conditional to use SDK_INT when we have an SDK version set. 7053a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov // (tracked by bug:5947249) 7063a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov if (Build.VERSION.CODENAME.equals("JellyBean")) { // JellyBean 7073a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL = new AccessibilityNodeInfoJellybeanImpl(); 7083a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } else if (Build.VERSION.SDK_INT >= 14) { // ICS 7099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL = new AccessibilityNodeInfoIcsImpl(); 7109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } else { 7119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL = new AccessibilityNodeInfoStubImpl(); 7129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 7149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov private static final AccessibilityNodeInfoImpl IMPL; 7169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov private final Object mInfo; 7189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov // Actions. 7209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that focuses the node. 7239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_FOCUS = 0x00000001; 7259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that unfocuses the node. 7289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_CLEAR_FOCUS = 0x00000002; 7309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that selects the node. 7339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_SELECT = 0x00000004; 7359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 7369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 7379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Action that unselects the node. 7389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 7399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static final int ACTION_CLEAR_SELECTION = 0x00000008; 7409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 741c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov /** 74270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that clicks on the node info. 74370e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 74470e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_CLICK = 0x00000010; 74570e96ebf69f91da84681a6263b3862c63d53ab11alanv 74670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 74770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that long clicks on the node. 74870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 74970e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_LONG_CLICK = 0x00000020; 75070e96ebf69f91da84681a6263b3862c63d53ab11alanv 75170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 75270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that gives accessibility focus to the node. 75370e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 75470e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_ACCESSIBILITY_FOCUS = 0x00000040; 75570e96ebf69f91da84681a6263b3862c63d53ab11alanv 75670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 75770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that clears accessibility focus of the node. 75870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 75970e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_CLEAR_ACCESSIBILITY_FOCUS = 0x00000080; 76070e96ebf69f91da84681a6263b3862c63d53ab11alanv 76170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 76270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that requests to go to the next entity in this node's text 76370e96ebf69f91da84681a6263b3862c63d53ab11alanv * at a given movement granularity. For example, move to the next character, 76470e96ebf69f91da84681a6263b3862c63d53ab11alanv * word, etc. 76570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 76670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT}<br> 76770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 76870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 76970e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 77070e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, 77170e96ebf69f91da84681a6263b3862c63d53ab11alanv * AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); 77270e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, arguments); 77370e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 77470e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 77570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 77670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setMovementGranularities(int) 77770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #getMovementGranularities() 77870e96ebf69f91da84681a6263b3862c63d53ab11alanv * 77970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_CHARACTER 78070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_WORD 78170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_LINE 78270e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PARAGRAPH 78370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PAGE 78470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 78570e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_NEXT_AT_MOVEMENT_GRANULARITY = 0x00000100; 78670e96ebf69f91da84681a6263b3862c63d53ab11alanv 78770e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 78870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action that requests to go to the previous entity in this node's text 78970e96ebf69f91da84681a6263b3862c63d53ab11alanv * at a given movement granularity. For example, move to the next character, 79070e96ebf69f91da84681a6263b3862c63d53ab11alanv * word, etc. 79170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 79270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT}<br> 79370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 79470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 79570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 79670e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putInt(AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT, 79770e96ebf69f91da84681a6263b3862c63d53ab11alanv * AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER); 79870e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, 79970e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments); 80070e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 80170e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 80270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 80370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setMovementGranularities(int) 80470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #getMovementGranularities() 80570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 80670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_CHARACTER 80770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_WORD 80870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_LINE 80970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PARAGRAPH 81070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #MOVEMENT_GRANULARITY_PAGE 81170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 81270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY = 0x00000200; 81370e96ebf69f91da84681a6263b3862c63d53ab11alanv 81470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 81570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to move to the next HTML element of a given type. For example, move 81670e96ebf69f91da84681a6263b3862c63d53ab11alanv * to the BUTTON, INPUT, TABLE, etc. 81770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 81870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_HTML_ELEMENT_STRING}<br> 81970e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 82070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 82170e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 82270e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); 82370e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_NEXT_HTML_ELEMENT, arguments); 82470e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 82570e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 82670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 82770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_NEXT_HTML_ELEMENT = 0x00000400; 82870e96ebf69f91da84681a6263b3862c63d53ab11alanv 82970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 83070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to move to the previous HTML element of a given type. For example, move 83170e96ebf69f91da84681a6263b3862c63d53ab11alanv * to the BUTTON, INPUT, TABLE, etc. 83270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 83370e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Arguments:</strong> {@link #ACTION_ARGUMENT_HTML_ELEMENT_STRING}<br> 83470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Example:</strong> 83570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <code><pre><p> 83670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Bundle arguments = new Bundle(); 83770e96ebf69f91da84681a6263b3862c63d53ab11alanv * arguments.putString(AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING, "BUTTON"); 83870e96ebf69f91da84681a6263b3862c63d53ab11alanv * info.performAction(AccessibilityNodeInfo.ACTION_PREVIOUS_HTML_ELEMENT, arguments); 83970e96ebf69f91da84681a6263b3862c63d53ab11alanv * </code></pre></p> 84070e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 84170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 84270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_PREVIOUS_HTML_ELEMENT = 0x00000800; 84370e96ebf69f91da84681a6263b3862c63d53ab11alanv 84470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 84570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to scroll the node content forward. 84670e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 84770e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_SCROLL_FORWARD = 0x00001000; 84870e96ebf69f91da84681a6263b3862c63d53ab11alanv 84970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 85070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Action to scroll the node content backward. 85170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 85270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int ACTION_SCROLL_BACKWARD = 0x00002000; 85370e96ebf69f91da84681a6263b3862c63d53ab11alanv 85470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 85570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Argument for which movement granularity to be used when traversing the node text. 85670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 85770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Type:</strong> int<br> 85870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Actions:</strong> {@link #ACTION_NEXT_AT_MOVEMENT_GRANULARITY}, 85970e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY} 86070e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 86170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 86270e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = 86370e96ebf69f91da84681a6263b3862c63d53ab11alanv "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT"; 86470e96ebf69f91da84681a6263b3862c63d53ab11alanv 86570e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 86670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Argument for which HTML element to get moving to the next/previous HTML element. 86770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 86870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Type:</strong> String<br> 86970e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Actions:</strong> {@link #ACTION_NEXT_HTML_ELEMENT}, 87070e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #ACTION_PREVIOUS_HTML_ELEMENT} 87170e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 87270e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 87370e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final String ACTION_ARGUMENT_HTML_ELEMENT_STRING = 87470e96ebf69f91da84681a6263b3862c63d53ab11alanv "ACTION_ARGUMENT_HTML_ELEMENT_STRING"; 87570e96ebf69f91da84681a6263b3862c63d53ab11alanv 87670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 87770e96ebf69f91da84681a6263b3862c63d53ab11alanv * The input focus. 87870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 87970e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int FOCUS_INPUT = 1; 88070e96ebf69f91da84681a6263b3862c63d53ab11alanv 88170e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 88270e96ebf69f91da84681a6263b3862c63d53ab11alanv * The accessibility focus. 88370e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 88470e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int FOCUS_ACCESSIBILITY = 2; 88570e96ebf69f91da84681a6263b3862c63d53ab11alanv 88670e96ebf69f91da84681a6263b3862c63d53ab11alanv // Movement granularities 88770e96ebf69f91da84681a6263b3862c63d53ab11alanv 88870e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 88970e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by character. 89070e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 89170e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_CHARACTER = 0x00000001; 89270e96ebf69f91da84681a6263b3862c63d53ab11alanv 89370e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 89470e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by word. 89570e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 89670e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_WORD = 0x00000002; 89770e96ebf69f91da84681a6263b3862c63d53ab11alanv 89870e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 89970e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by line. 90070e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 90170e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_LINE = 0x00000004; 90270e96ebf69f91da84681a6263b3862c63d53ab11alanv 90370e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 90470e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by paragraph. 90570e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 90670e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_PARAGRAPH = 0x00000008; 90770e96ebf69f91da84681a6263b3862c63d53ab11alanv 90870e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 90970e96ebf69f91da84681a6263b3862c63d53ab11alanv * Movement granularity bit for traversing the text of a node by page. 91070e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 91170e96ebf69f91da84681a6263b3862c63d53ab11alanv public static final int MOVEMENT_GRANULARITY_PAGE = 0x00000010; 91270e96ebf69f91da84681a6263b3862c63d53ab11alanv 91370e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 914c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * Creates a wrapper for info implementation. 915c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * 916c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * @param object The info to wrap. 917c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov * @return A wrapper for if the object is not null, null otherwise. 918c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov */ 919c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov static AccessibilityNodeInfoCompat wrapNonNullInstance(Object object) { 920c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov if (object != null) { 921c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return new AccessibilityNodeInfoCompat(object); 922c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov } 923c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov return null; 924c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov } 925c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov 926956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov /** 927956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * Creates a new instance wrapping an 928956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * {@link android.view.accessibility.AccessibilityNodeInfo}. 929956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * 930956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * @param info The info. 9319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat(Object info) { 9339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov mInfo = info; 9349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 937956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov * @return The wrapped {@link android.view.accessibility.AccessibilityNodeInfo}. 9389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 939956b013dfda37760b0232ed6d448900a546d2903Svetoslav Ganov public Object getInfo() { 9409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return mInfo; 9419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available otherwise a new one and 9459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * sets the source. 9469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 9489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see #setSource(View) 9499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain(View source) { 95170e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain(source)); 95270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 95370e96ebf69f91da84681a6263b3862c63d53ab11alanv 95470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 95570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Returns a cached instance if such is available otherwise a new one 95670e96ebf69f91da84681a6263b3862c63d53ab11alanv * and sets the source. 95770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 95870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param root The root of the virtual subtree. 95970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param virtualDescendantId The id of the virtual descendant. 96070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return An instance. 96170e96ebf69f91da84681a6263b3862c63d53ab11alanv * 96270e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #setSource(View, int) 96370e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 96470e96ebf69f91da84681a6263b3862c63d53ab11alanv public static AccessibilityNodeInfoCompat obtain(View root, int virtualDescendantId) { 96570e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance( 96670e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.obtain(root, virtualDescendantId)); 9679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available otherwise a new one. 9719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 9739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain() { 97570e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain()); 9769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Returns a cached instance if such is available or a new one is create. 9809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * The returned instance is initialized from the given <code>info</code>. 9819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param info The other info. 9839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return An instance. 9849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public static AccessibilityNodeInfoCompat obtain(AccessibilityNodeInfoCompat info) { 98670e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.obtain(info.mInfo)); 9879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the source. 9919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 9929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param source The info source. 9939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 9949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSource(View source) { 9959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setSource(mInfo, source); 9969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 9979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 9989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 9993a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Sets the source to be a virtual descendant of the given <code>root</code>. 10003a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * If <code>virtualDescendantId</code> is {@link View#NO_ID} the root 10013a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * is set as the source. 10023a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 10033a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * A virtual descendant is an imaginary View that is reported as a part of the view 10043a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * hierarchy for accessibility purposes. This enables custom views that draw complex 10053a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * content to report themselves as a tree of virtual views, thus conveying their 10063a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * logical structure. 10073a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 10083a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 10093a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 10103a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. 10113a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * This class is made immutable before being delivered to an AccessibilityService. 10123a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 10133a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 10143a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param root The root of the virtual subtree. 10153a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param virtualDescendantId The id of the virtual descendant. 10163a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov */ 10173a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void setSource(View root, int virtualDescendantId) { 10183a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.setSource(mInfo, root, virtualDescendantId); 10193a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 10203a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 10213a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov /** 102270e96ebf69f91da84681a6263b3862c63d53ab11alanv * Find the view that has the specified focus type. The search starts from 102370e96ebf69f91da84681a6263b3862c63d53ab11alanv * the view represented by this node info. 102470e96ebf69f91da84681a6263b3862c63d53ab11alanv * 102570e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param focus The focus to find. One of {@link #FOCUS_INPUT} or 102670e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link #FOCUS_ACCESSIBILITY}. 102770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The node info of the focused view or null. 102870e96ebf69f91da84681a6263b3862c63d53ab11alanv * 102970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #FOCUS_INPUT 103070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @see #FOCUS_ACCESSIBILITY 103170e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 103270e96ebf69f91da84681a6263b3862c63d53ab11alanv public AccessibilityNodeInfoCompat findFocus(int focus) { 103370e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.findFocus(mInfo, focus)); 103470e96ebf69f91da84681a6263b3862c63d53ab11alanv } 103570e96ebf69f91da84681a6263b3862c63d53ab11alanv 103670e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 103770e96ebf69f91da84681a6263b3862c63d53ab11alanv * Searches for the nearest view in the specified direction that can take 103870e96ebf69f91da84681a6263b3862c63d53ab11alanv * focus. 103970e96ebf69f91da84681a6263b3862c63d53ab11alanv * 104070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param direction The direction. Can be one of: 104170e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_DOWN}, 104270e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_UP}, 104370e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_LEFT}, 104470e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_RIGHT}, 104570e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_FORWARD}, 104670e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#FOCUS_BACKWARD}, 104770e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#ACCESSIBILITY_FOCUS_FORWARD}, 104870e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#ACCESSIBILITY_FOCUS_BACKWARD}, 104970e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#ACCESSIBILITY_FOCUS_UP}, 105070e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#ACCESSIBILITY_FOCUS_RIGHT}, 105170e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#ACCESSIBILITY_FOCUS_DOWN}, 105270e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link View#ACCESSIBILITY_FOCUS_LEFT}. 105370e96ebf69f91da84681a6263b3862c63d53ab11alanv * 105470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The node info for the view that can take accessibility focus. 105570e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 105670e96ebf69f91da84681a6263b3862c63d53ab11alanv public AccessibilityNodeInfoCompat focusSearch(int direction) { 105770e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.focusSearch(mInfo, direction)); 105870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 105970e96ebf69f91da84681a6263b3862c63d53ab11alanv 106070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 10619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the id of the window from which the info comes from. 10629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The window id. 10649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getWindowId() { 10669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getWindowId(mInfo); 10679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 10709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the number of children. 10719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The child count. 10739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getChildCount() { 10759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getChildCount(mInfo); 10769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 10799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Get the child at given index. 10809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 10819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 10829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link AccessibilityNodeInfoCompat#recycle()} to 10839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * avoid creating of multiple instances. 10849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 10859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 10869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param index The child index. 10879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The child node. 10889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called outside of an 10899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * AccessibilityService. 10909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 10919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getChild(int index) { 109270e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getChild(mInfo, index)); 10939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 10949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 10959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 10969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Adds a child. 10979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 10989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 10999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 11009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 11019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 11029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 11039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param child The child. 11049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 11059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 11069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addChild(View child) { 11079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.addChild(mInfo, child); 11089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 11113a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * Adds a virtual child which is a descendant of the given <code>root</code>. 11123a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * If <code>virtualDescendantId</code> is {@link View#NO_ID} the root 11133a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * is added as a child. 11143a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * <p> 11153a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * A virtual descendant is an imaginary View that is reported as a part of the view 11163a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * hierarchy for accessibility purposes. This enables custom views that draw complex 11173a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * content to report them selves as a tree of virtual views, thus conveying their 11183a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * logical structure. 11193a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * </p> 11203a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * 11213a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param root The root of the virtual subtree. 11223a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov * @param virtualDescendantId The id of the virtual child. 11233a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov */ 11243a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov public void addChild(View root, int virtualDescendantId) { 11253a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.addChild(mInfo, root, virtualDescendantId); 11263a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov } 11273a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov 11283a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov /** 11299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the actions that can be performed on the node. 11309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 11319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The bit mask of with actions. 11329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_FOCUS 11339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_CLEAR_FOCUS 11349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_SELECT 11359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @see android.view.accessibility.AccessibilityNodeInfo#ACTION_CLEAR_SELECTION 11369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 11379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int getActions() { 11389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getActions(mInfo); 11399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 11429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Adds an action that can be performed on the node. 11439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 11449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 11459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 11469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 11479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 11489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 11499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param action The action. 11509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 11519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 11529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void addAction(int action) { 11539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.addAction(mInfo, action); 11549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 11579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Performs an action on the node. 11589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 11599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> An action can be performed only if the request is 11609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made from an {@link android.accessibilityservice.AccessibilityService}. 11619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 11629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 11639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param action The action to perform. 11649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the action was performed. 11659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called outside of an 11669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * AccessibilityService. 11679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 11689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean performAction(int action) { 11699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.performAction(mInfo, action); 11709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 11719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 11729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 117370e96ebf69f91da84681a6263b3862c63d53ab11alanv * Performs an action on the node. 117470e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 117570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> An action can be performed only if the request is made 117670e96ebf69f91da84681a6263b3862c63d53ab11alanv * from an {@link android.accessibilityservice.AccessibilityService}. 117770e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 117870e96ebf69f91da84681a6263b3862c63d53ab11alanv * 117970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param action The action to perform. 118070e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param arguments A bundle with additional arguments. 118170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return True if the action was performed. 118270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 118370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called outside of an AccessibilityService. 118470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 118570e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean performAction(int action, Bundle arguments) { 118670e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.performAction(mInfo, action, arguments); 118770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 118870e96ebf69f91da84681a6263b3862c63d53ab11alanv 118970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 119070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets the movement granularities for traversing the text of this node. 119170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 119270e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 119370e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 119470e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 119570e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 119670e96ebf69f91da84681a6263b3862c63d53ab11alanv * 119770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param granularities The bit mask with granularities. 119870e96ebf69f91da84681a6263b3862c63d53ab11alanv * 119970e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 120070e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 120170e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setMovementGranularities(int granularities) { 120270e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setMovementGranularities(mInfo, granularities); 120370e96ebf69f91da84681a6263b3862c63d53ab11alanv } 120470e96ebf69f91da84681a6263b3862c63d53ab11alanv 120570e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 120670e96ebf69f91da84681a6263b3862c63d53ab11alanv * Gets the movement granularities for traversing the text of this node. 120770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 120870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return The bit mask with granularities. 120970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 121070e96ebf69f91da84681a6263b3862c63d53ab11alanv public int getMovementGranularities() { 121170e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.getMovementGranularities(mInfo); 121270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 121370e96ebf69f91da84681a6263b3862c63d53ab11alanv 121470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 12159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Finds {@link android.view.accessibility.AccessibilityNodeInfo}s by text. The match 12169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * is case insensitive containment. The search is relative to this info i.e. this 12179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * info is the root of the traversed tree. 12189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 12199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 12209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link android.view.accessibility.AccessibilityNodeInfo#recycle()} 12219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * to avoid creating of multiple instances. 12229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 12239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 12249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param text The searched text. 12259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return A list of node info. 12269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public List<AccessibilityNodeInfoCompat> findAccessibilityNodeInfosByText(String text) { 12289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov List<AccessibilityNodeInfoCompat> result = new ArrayList<AccessibilityNodeInfoCompat>(); 12299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov List<Object> infos = IMPL.findAccessibilityNodeInfosByText(mInfo, text); 12309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov final int infoCount = infos.size(); 12319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov for (int i = 0; i < infoCount; i++) { 12329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov Object info = infos.get(i); 12339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov result.add(new AccessibilityNodeInfoCompat(info)); 12349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return result; 12369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 12399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the parent. 12409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 12419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> It is a client responsibility to recycle the 12429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * received info by calling {@link android.view.accessibility.AccessibilityNodeInfo#recycle()} 12439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * to avoid creating of multiple instances. 12449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 12459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 12469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The parent. 12479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public AccessibilityNodeInfoCompat getParent() { 124970e96ebf69f91da84681a6263b3862c63d53ab11alanv return AccessibilityNodeInfoCompat.wrapNonNullInstance(IMPL.getParent(mInfo)); 12509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 12539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the parent. 12549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 12559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 12569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 12579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 12589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 12599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 12609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param parent The parent. 12619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 12629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setParent(View parent) { 12649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setParent(mInfo, parent); 12659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 126870e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets the parent to be a virtual descendant of the given <code>root</code>. 126970e96ebf69f91da84681a6263b3862c63d53ab11alanv * If <code>virtualDescendantId</code> equals to {@link View#NO_ID} the root 127070e96ebf69f91da84681a6263b3862c63d53ab11alanv * is set as the parent. 127170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 127270e96ebf69f91da84681a6263b3862c63d53ab11alanv * A virtual descendant is an imaginary View that is reported as a part of the view 127370e96ebf69f91da84681a6263b3862c63d53ab11alanv * hierarchy for accessibility purposes. This enables custom views that draw complex 127470e96ebf69f91da84681a6263b3862c63d53ab11alanv * content to report them selves as a tree of virtual views, thus conveying their 127570e96ebf69f91da84681a6263b3862c63d53ab11alanv * logical structure. 127670e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 127770e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 127870e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 127970e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 128070e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 128170e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 128270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 128370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param root The root of the virtual subtree. 128470e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param virtualDescendantId The id of the virtual descendant. 128570e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 128670e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setParent(View root, int virtualDescendantId) { 128770e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setParent(mInfo, root, virtualDescendantId); 128870e96ebf69f91da84681a6263b3862c63d53ab11alanv } 128970e96ebf69f91da84681a6263b3862c63d53ab11alanv 129070e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 12919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the node bounds in parent coordinates. 12929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 12939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param outBounds The output node bounds. 12949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 12959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInParent(Rect outBounds) { 12969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.getBoundsInParent(mInfo, outBounds); 12979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 12989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 12999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the node bounds in parent coordinates. 13019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 13029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 13039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 13049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 13059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 13069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param bounds The node bounds. 13089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov *@throws IllegalStateException If called from an AccessibilityService. 13099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInParent(Rect bounds) { 13119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setBoundsInParent(mInfo, bounds); 13129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the node bounds in screen coordinates. 13169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param outBounds The output node bounds. 13189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void getBoundsInScreen(Rect outBounds) { 13209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.getBoundsInScreen(mInfo, outBounds); 13219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the node bounds in screen coordinates. 13259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 13269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 13279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 13289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 13299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 13309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param bounds The node bounds. 13329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 13339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setBoundsInScreen(Rect bounds) { 13353a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov IMPL.setBoundsInScreen(mInfo, bounds); 13369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is checkable. 13409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is checkable. 13429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isCheckable() { 13449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isCheckable(mInfo); 13459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is checkable. 13499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 13509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 13519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 13529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 13539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 13549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param checkable True if the node is checkable. 13569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 13579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setCheckable(boolean checkable) { 13599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setCheckable(mInfo, checkable); 13609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is checked. 13649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is checked. 13669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isChecked() { 13689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isChecked(mInfo); 13699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is checked. 13739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 13749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 13759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 13769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 13779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 13789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param checked True if the node is checked. 13809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 13819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setChecked(boolean checked) { 13839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setChecked(mInfo, checked); 13849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is focusable. 13889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 13899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is focusable. 13909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 13919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocusable() { 13929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isFocusable(mInfo); 13939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 13949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 13959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 13969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is focusable. 13979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 13989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 13999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 14009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 14019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 14029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param focusable True if the node is focusable. 14049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 14059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocusable(boolean focusable) { 14079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setFocusable(mInfo, focusable); 14089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is focused. 14129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is focused. 14149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isFocused() { 14169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isFocused(mInfo); 14179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is focused. 14219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 14229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 14239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 14249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 14259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 14269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param focused True if the node is focused. 14289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 14299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setFocused(boolean focused) { 14319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setFocused(mInfo, focused); 14329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 143570e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is visible to the user. 143670e96ebf69f91da84681a6263b3862c63d53ab11alanv * 143770e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return Whether the node is visible to the user. 143870e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 143970e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isVisibleToUser() { 144070e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.isVisibleToUser(mInfo); 144170e96ebf69f91da84681a6263b3862c63d53ab11alanv } 144270e96ebf69f91da84681a6263b3862c63d53ab11alanv 144370e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 144470e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is visible to the user. 144570e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 144670e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 144770e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 144870e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 144970e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 145070e96ebf69f91da84681a6263b3862c63d53ab11alanv * 145170e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param visibleToUser Whether the node is visible to the user. 145270e96ebf69f91da84681a6263b3862c63d53ab11alanv * 145370e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 145470e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 145570e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setVisibleToUser(boolean visibleToUser) { 145670e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setVisibleToUser(mInfo, visibleToUser); 145770e96ebf69f91da84681a6263b3862c63d53ab11alanv } 145870e96ebf69f91da84681a6263b3862c63d53ab11alanv 145970e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 146070e96ebf69f91da84681a6263b3862c63d53ab11alanv * Gets whether this node is accessibility focused. 146170e96ebf69f91da84681a6263b3862c63d53ab11alanv * 146270e96ebf69f91da84681a6263b3862c63d53ab11alanv * @return True if the node is accessibility focused. 146370e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 146470e96ebf69f91da84681a6263b3862c63d53ab11alanv public boolean isAccessibilityFocused() { 146570e96ebf69f91da84681a6263b3862c63d53ab11alanv return IMPL.isAccessibilityFocused(mInfo); 146670e96ebf69f91da84681a6263b3862c63d53ab11alanv } 146770e96ebf69f91da84681a6263b3862c63d53ab11alanv 146870e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 146970e96ebf69f91da84681a6263b3862c63d53ab11alanv * Sets whether this node is accessibility focused. 147070e96ebf69f91da84681a6263b3862c63d53ab11alanv * <p> 147170e96ebf69f91da84681a6263b3862c63d53ab11alanv * <strong>Note:</strong> Cannot be called from an 147270e96ebf69f91da84681a6263b3862c63d53ab11alanv * {@link android.accessibilityservice.AccessibilityService}. 147370e96ebf69f91da84681a6263b3862c63d53ab11alanv * This class is made immutable before being delivered to an AccessibilityService. 147470e96ebf69f91da84681a6263b3862c63d53ab11alanv * </p> 147570e96ebf69f91da84681a6263b3862c63d53ab11alanv * 147670e96ebf69f91da84681a6263b3862c63d53ab11alanv * @param focused True if the node is accessibility focused. 147770e96ebf69f91da84681a6263b3862c63d53ab11alanv * 147870e96ebf69f91da84681a6263b3862c63d53ab11alanv * @throws IllegalStateException If called from an AccessibilityService. 147970e96ebf69f91da84681a6263b3862c63d53ab11alanv */ 148070e96ebf69f91da84681a6263b3862c63d53ab11alanv public void setAccessibilityFocused(boolean focused) { 148170e96ebf69f91da84681a6263b3862c63d53ab11alanv IMPL.setAccessibilityFocused(mInfo, focused); 148270e96ebf69f91da84681a6263b3862c63d53ab11alanv } 148370e96ebf69f91da84681a6263b3862c63d53ab11alanv 148470e96ebf69f91da84681a6263b3862c63d53ab11alanv /** 14859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is selected. 14869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 14879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is selected. 14889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 14899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isSelected() { 14909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isSelected(mInfo); 14919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 14929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 14939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 14949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is selected. 14959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 14969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 14979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 14989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 14999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 15009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param selected True if the node is selected. 15029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 15039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setSelected(boolean selected) { 15059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setSelected(mInfo, selected); 15069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is clickable. 15109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is clickable. 15129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isClickable() { 15149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isClickable(mInfo); 15159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is clickable. 15199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 15209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 15219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 15229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 15239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 15249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param clickable True if the node is clickable. 15269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 15279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClickable(boolean clickable) { 15299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setClickable(mInfo, clickable); 15309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is long clickable. 15349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is long clickable. 15369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isLongClickable() { 15389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isLongClickable(mInfo); 15399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is long clickable. 15439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 15449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 15459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 15469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 15479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 15489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param longClickable True if the node is long clickable. 15509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 15519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setLongClickable(boolean longClickable) { 15539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setLongClickable(mInfo, longClickable); 15549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is enabled. 15589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is enabled. 15609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isEnabled() { 15629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isEnabled(mInfo); 15639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is enabled. 15679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 15689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 15699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 15709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 15719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 15729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param enabled True if the node is enabled. 15749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 15759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setEnabled(boolean enabled) { 15779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setEnabled(mInfo, enabled); 15789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets whether this node is a password. 15829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is a password. 15849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 15859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isPassword() { 15869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isPassword(mInfo); 15879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 15889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 15899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 15909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets whether this node is a password. 15919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 15929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 15939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 15949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 15959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 15969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 15979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param password True if the node is a password. 15989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 15999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPassword(boolean password) { 16019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setPassword(mInfo, password); 16029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets if the node is scrollable. 16069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return True if the node is scrollable, false otherwise. 16089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean isScrollable() { 16109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.isScrollable(mInfo); 16119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets if the node is scrollable. 16159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 16169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 16179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 16189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 16199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 16209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param scrollable True if the node is scrollable, false otherwise. 16229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 16239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setScrollable(boolean scrollable) { 16259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setScrollable(mInfo, scrollable); 16269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the package this node comes from. 16309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The package name. 16329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getPackageName() { 16349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getPackageName(mInfo); 16359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the package this node comes from. 16399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 16409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 16419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 16429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 16439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 16449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param packageName The package name. 16469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 16479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setPackageName(CharSequence packageName) { 16499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setPackageName(mInfo, packageName); 16509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the class this node comes from. 16549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The class name. 16569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getClassName() { 16589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getClassName(mInfo); 16599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the class this node comes from. 16639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 16649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 16659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 16669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 16679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 16689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param className The class name. 16709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 16719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setClassName(CharSequence className) { 16739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setClassName(mInfo, className); 16749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the text of this node. 16789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The text. 16809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getText() { 16829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getText(mInfo); 16839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 16859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 16869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the text of this node. 16879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 16889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 16899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 16909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 16919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 16929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 16939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param text The text. 16949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 16959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 16969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setText(CharSequence text) { 16979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setText(mInfo, text); 16989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 16999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Gets the content description of this node. 17029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @return The content description. 17049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public CharSequence getContentDescription() { 17069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return IMPL.getContentDescription(mInfo); 17079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Sets the content description of this node. 17119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 17129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> Cannot be called from an 17139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * {@link android.accessibilityservice.AccessibilityService}. This class is 17149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * made immutable before being delivered to an AccessibilityService. 17159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * </p> 17169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @param contentDescription The content description. 17189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If called from an AccessibilityService. 17199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void setContentDescription(CharSequence contentDescription) { 17219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.setContentDescription(mInfo, contentDescription); 17229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov /** 17259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * Return an instance back to be reused. 17269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <p> 17279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * <strong>Note:</strong> You must not touch the object after calling this function. 17289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * 17299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov * @throws IllegalStateException If the info is already recycled. 17309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */ 17319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public void recycle() { 17329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov IMPL.recycle(mInfo); 17339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public int hashCode() { 17379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return (mInfo == null) ? 0 : mInfo.hashCode(); 17389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov 17409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov @Override 17419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov public boolean equals(Object obj) { 17429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (this == obj) { 17439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return true; 17449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (obj == null) { 17469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 17479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (getClass() != obj.getClass()) { 17499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 17509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov AccessibilityNodeInfoCompat other = (AccessibilityNodeInfoCompat) obj; 17529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (mInfo == null) { 17539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov if (other.mInfo != null) { 17549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 17559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } else if (!mInfo.equals(other.mInfo)) { 17579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return false; 17589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov return true; 17609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov } 17619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov} 1762