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.os.Build;
209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.os.Parcelable;
219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport android.view.View;
224184a5ee0959c0071eb6eb94878de9c5408d4e5eSvetoslavimport android.view.accessibility.AccessibilityEvent;
239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
24f9c2277244722eca88c784b9cfdcc78df7f94781Svetoslav Ganovimport java.util.Collections;
259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovimport java.util.List;
269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov/**
280574ca37da4619afe4e26753f5a1b4de314b6565Svetoslav Ganov * Helper for accessing {@link android.view.accessibility.AccessibilityRecord}
290574ca37da4619afe4e26753f5a1b4de314b6565Svetoslav Ganov * introduced after API level 4 in a backwards compatible fashion.
309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov */
319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganovpublic class AccessibilityRecordCompat {
329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    static interface AccessibilityRecordImpl {
349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public Object obtain();
359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public Object obtain(Object record);
369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setSource(Object record, View source);
373a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov        public void setSource(Object record, View root, int virtualDescendantId);
38c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        public AccessibilityNodeInfoCompat getSource(Object record);
399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getWindowId(Object record);
409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public boolean isChecked(Object record);
419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setChecked(Object record, boolean isChecked);
429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public boolean isEnabled(Object record);
439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setEnabled(Object record, boolean isEnabled);
449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public boolean isPassword(Object record);
459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setPassword(Object record, boolean isPassword);
469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public boolean isFullScreen(Object record);
479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setFullScreen(Object record, boolean isFullScreen);
489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public boolean isScrollable(Object record);
499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setScrollable(Object record, boolean scrollable);
509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getItemCount(Object record);
519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setItemCount(Object record, int itemCount);
529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getCurrentItemIndex(Object record);
539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setCurrentItemIndex(Object record, int currentItemIndex);
549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getFromIndex(Object record);
559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setFromIndex(Object record, int fromIndex);
569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getToIndex(Object record);
579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setToIndex(Object record, int toIndex);
589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getScrollX(Object record);
599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setScrollX(Object record, int scrollX);
609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getScrollY(Object record);
619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setScrollY(Object record, int scrollY);
629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getMaxScrollX(Object record);
639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setMaxScrollX(Object record, int maxScrollX);
649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getMaxScrollY(Object record);
659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setMaxScrollY(Object record, int maxScrollY);
669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getAddedCount(Object record);
679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setAddedCount(Object record, int addedCount);
689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getRemovedCount(Object record);
699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setRemovedCount(Object record, int removedCount);
709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public CharSequence getClassName(Object record);
719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setClassName(Object record, CharSequence className);
729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public List<CharSequence> getText(Object record);
739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public CharSequence getBeforeText(Object record);
749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setBeforeText(Object record, CharSequence beforeText);
759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public CharSequence getContentDescription(Object record);
769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setContentDescription(Object record, CharSequence contentDescription);
779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public Parcelable getParcelableData(Object record);
789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setParcelableData(Object record, Parcelable parcelableData);
799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void recycle(Object record);
809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    static class AccessibilityRecordStubImpl implements AccessibilityRecordImpl {
8315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public Object obtain() {
859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return null;
869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
8815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public Object obtain(Object record) {
909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return null;
919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
9315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getAddedCount(Object record) {
959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return 0;
969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
9815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public CharSequence getBeforeText(Object record) {
1009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return null;
1019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
10315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public CharSequence getClassName(Object record) {
1059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return null;
1069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
10815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public CharSequence getContentDescription(Object record) {
1109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return null;
1119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
11315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getCurrentItemIndex(Object record) {
1159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return 0;
1169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
11815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getFromIndex(Object record) {
1209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return 0;
1219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
12315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getItemCount(Object record) {
1259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return 0;
1269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
12815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getMaxScrollX(Object record) {
1309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return 0;
1319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
13315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getMaxScrollY(Object record) {
1359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return 0;
1369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
13815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public Parcelable getParcelableData(Object record) {
1409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return null;
1419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
14315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getRemovedCount(Object record) {
1459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return 0;
1469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
14815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getScrollX(Object record) {
1509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return 0;
1519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
15315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getScrollY(Object record) {
1559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return 0;
1569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
15815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
159c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        public AccessibilityNodeInfoCompat getSource(Object record) {
1609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return null;
1619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
16315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public List<CharSequence> getText(Object record) {
165f9c2277244722eca88c784b9cfdcc78df7f94781Svetoslav Ganov            return Collections.emptyList();
1669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
16815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getToIndex(Object record) {
1709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return 0;
1719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
17315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getWindowId(Object record) {
1759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return 0;
1769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
17815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public boolean isChecked(Object record) {
1809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return false;
1819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
18315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public boolean isEnabled(Object record) {
1859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return false;
1869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
18815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public boolean isFullScreen(Object record) {
1909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return false;
1919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
19315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public boolean isPassword(Object record) {
1959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return false;
1969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
1979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
19815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
1999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public boolean isScrollable(Object record) {
2009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return false;
2019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
20315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void recycle(Object record) {
2059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
20815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setAddedCount(Object record, int addedCount) {
2109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
21315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setBeforeText(Object record, CharSequence beforeText) {
2159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
21815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setChecked(Object record, boolean isChecked) {
2209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
22315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setClassName(Object record, CharSequence className) {
2259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
22815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setContentDescription(Object record, CharSequence contentDescription) {
2309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
23315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setCurrentItemIndex(Object record, int currentItemIndex) {
2359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
23815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setEnabled(Object record, boolean isEnabled) {
2409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
24315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setFromIndex(Object record, int fromIndex) {
2459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
24815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setFullScreen(Object record, boolean isFullScreen) {
2509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
25315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setItemCount(Object record, int itemCount) {
2559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
25815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setMaxScrollX(Object record, int maxScrollX) {
2609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
26315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setMaxScrollY(Object record, int maxScrollY) {
2659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
26815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setParcelableData(Object record, Parcelable parcelableData) {
2709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
27315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setPassword(Object record, boolean isPassword) {
2759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
27815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setRemovedCount(Object record, int removedCount) {
2809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
28315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setScrollX(Object record, int scrollX) {
2859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
28815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setScrollY(Object record, int scrollY) {
2909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
29315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setScrollable(Object record, boolean scrollable) {
2959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
2969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
2979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
29815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
2999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setSource(Object record, View source) {
3009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
3019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
30315375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
3043a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov        public void setSource(Object record, View root, int virtualDescendantId) {
3053a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov
3063a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov        }
3073a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov
30815375aa6fd54b036f97f99229aefab2822c8a1c9Aurimas Liutikas        @Override
3099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setToIndex(Object record, int toIndex) {
3109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
3119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
3139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
314c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov    static class AccessibilityRecordIcsImpl extends AccessibilityRecordStubImpl {
315c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
3169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public Object obtain() {
3179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.obtain();
3189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
320c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
3219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public Object obtain(Object record) {
3229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.obtain(record);
3239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
325c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
3269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getAddedCount(Object record) {
3279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.getAddedCount(record);
3289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
330c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
3319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public CharSequence getBeforeText(Object record) {
3329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.getBeforeText(record);
3339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
335c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
3369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public CharSequence getClassName(Object record) {
3379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.getClassName(record);
3389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
340c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
3419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public CharSequence getContentDescription(Object record) {
3429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.getContentDescription(record);
3439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
345c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
3469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getCurrentItemIndex(Object record) {
3479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.getCurrentItemIndex(record);
3489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
350c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
3519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getFromIndex(Object record) {
3529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.getFromIndex(record);
3539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
355c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
3569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getItemCount(Object record) {
3579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.getItemCount(record);
3589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
360c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
3619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public Parcelable getParcelableData(Object record) {
3629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.getParcelableData(record);
3639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
365c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
3669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getRemovedCount(Object record) {
3679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.getRemovedCount(record);
3689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
370c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
3719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getScrollX(Object record) {
3729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.getScrollX(record);
3739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
375c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
3769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getScrollY(Object record) {
3779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.getScrollY(record);
3789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
380c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
381c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        public AccessibilityNodeInfoCompat getSource(Object record) {
382c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov            return AccessibilityNodeInfoCompat.wrapNonNullInstance(
383c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov                    AccessibilityRecordCompatIcs.getSource(record));
3849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
386c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
3879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public List<CharSequence> getText(Object record) {
3889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.getText(record);
3899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
391c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
3929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getToIndex(Object record) {
3939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.getToIndex(record);
3949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
3959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
396c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
3979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public int getWindowId(Object record) {
3989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.getWindowId(record);
3999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
401c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public boolean isChecked(Object record) {
4039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.isChecked(record);
4049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
406c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public boolean isEnabled(Object record) {
4089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.isEnabled(record);
4099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
411c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public boolean isFullScreen(Object record) {
4139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.isFullScreen(record);
4149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
416c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public boolean isPassword(Object record) {
4189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.isPassword(record);
4199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
421c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public boolean isScrollable(Object record) {
4239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return AccessibilityRecordCompatIcs.isScrollable(record);
4249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
426c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void recycle(Object record) {
4289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.recycle(record);
4299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
431c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setAddedCount(Object record, int addedCount) {
4339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setAddedCount(record, addedCount);
4349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
436c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setBeforeText(Object record, CharSequence beforeText) {
4389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setBeforeText(record, beforeText);
4399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
441c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setChecked(Object record, boolean isChecked) {
4439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setChecked(record, isChecked);
4449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
446c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setClassName(Object record, CharSequence className) {
4489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setClassName(record, className);
4499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
451c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setContentDescription(Object record, CharSequence contentDescription) {
4539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setContentDescription(record, contentDescription);
4549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
456c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setCurrentItemIndex(Object record, int currentItemIndex) {
4589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setCurrentItemIndex(record, currentItemIndex);
4599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
461c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setEnabled(Object record, boolean isEnabled) {
4639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setEnabled(record, isEnabled);
4649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
466c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setFromIndex(Object record, int fromIndex) {
4689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setFromIndex(record, fromIndex);
4699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
471c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setFullScreen(Object record, boolean isFullScreen) {
4739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setFullScreen(record, isFullScreen);
4749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
476c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setItemCount(Object record, int itemCount) {
4789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setItemCount(record, itemCount);
4799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
481c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setParcelableData(Object record, Parcelable parcelableData) {
4839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setParcelableData(record, parcelableData);
4849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
486c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setPassword(Object record, boolean isPassword) {
4889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setPassword(record, isPassword);
4899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
491c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setRemovedCount(Object record, int removedCount) {
4939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setRemovedCount(record, removedCount);
4949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
4959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
496c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
4979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setScrollX(Object record, int scrollX) {
4989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setScrollX(record, scrollX);
4999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
5009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
501c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
5029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setScrollY(Object record, int scrollY) {
5039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setScrollY(record, scrollY);
5049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
5059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
506c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
5079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setScrollable(Object record, boolean scrollable) {
5089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setScrollable(record, scrollable);
5099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
5109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
511c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
5129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setSource(Object record, View source) {
5139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setSource(record, source);
5149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
5159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
516c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
5179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        public void setToIndex(Object record, int toIndex) {
5189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            AccessibilityRecordCompatIcs.setToIndex(record, toIndex);
5199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
5209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
5219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
522c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov    static class AccessibilityRecordIcsMr1Impl extends AccessibilityRecordIcsImpl {
523c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
524c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        public int getMaxScrollX(Object record) {
525c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov            return AccessibilityRecordCompatIcsMr1.getMaxScrollX(record);
526c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        }
527c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov
528c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
529c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        public int getMaxScrollY(Object record) {
530c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov            return AccessibilityRecordCompatIcsMr1.getMaxScrollY(record);
531c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        }
532c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov
533c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
534c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        public void setMaxScrollX(Object record, int maxScrollX) {
535c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov            AccessibilityRecordCompatIcsMr1.setMaxScrollX(record, maxScrollX);
536c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        }
537c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov
538c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        @Override
539c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        public void setMaxScrollY(Object record, int maxScrollY) {
540c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov            AccessibilityRecordCompatIcsMr1.setMaxScrollY(record, maxScrollY);
541c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        }
542c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov    }
543c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov
5443a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov    static class AccessibilityRecordJellyBeanImpl extends AccessibilityRecordIcsMr1Impl {
5453a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov        @Override
5463a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov        public void setSource(Object record, View root, int virtualDescendantId) {
5473a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov            AccessibilityRecordCompatJellyBean.setSource(record, root, virtualDescendantId);
5483a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov        }
5493a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov    }
5503a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov
5519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    static {
552f3ed7c56e6c409d27c60f7d74c026906593c21d4Svetoslav Ganov        if (Build.VERSION.SDK_INT >= 16) { // JellyBean
5533a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov            IMPL = new AccessibilityRecordJellyBeanImpl();
5543a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov        } else if (Build.VERSION.SDK_INT >= 15) {  // ICS MR1
555c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov            IMPL = new AccessibilityRecordIcsMr1Impl();
5563a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov        } else if (Build.VERSION.SDK_INT >= 14) { // ICS
5579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            IMPL = new AccessibilityRecordIcsImpl();
5589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        } else {
5599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            IMPL = new AccessibilityRecordStubImpl();
5609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
5619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
5629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
5639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    private static final AccessibilityRecordImpl IMPL;
5649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
5659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    private final Object mRecord;
5669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
5674184a5ee0959c0071eb6eb94878de9c5408d4e5eSvetoslav    /**
5684184a5ee0959c0071eb6eb94878de9c5408d4e5eSvetoslav     * @deprecated This is not type safe. If you want to modify an
5694184a5ee0959c0071eb6eb94878de9c5408d4e5eSvetoslav     * {@link AccessibilityEvent}'s properties defined in
5704184a5ee0959c0071eb6eb94878de9c5408d4e5eSvetoslav     * {@link android.view.accessibility.AccessibilityRecord} use
5718f590dabd4e7d3fa4abfc74c91640690b63fc45aSvetoslav     * {@link AccessibilityEventCompat#asRecord(AccessibilityEvent)}. This method will be removed
5724184a5ee0959c0071eb6eb94878de9c5408d4e5eSvetoslav     * in a subsequent release of the support library.
5739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
574d805095048f6be52cddbd572ee343c4639ba8187Alan Viverette    @Deprecated
5759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public AccessibilityRecordCompat(Object record) {
5769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        mRecord = record;
5779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
5789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
5799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
5809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return The wrapped implementation.
5814184a5ee0959c0071eb6eb94878de9c5408d4e5eSvetoslav     *
5824184a5ee0959c0071eb6eb94878de9c5408d4e5eSvetoslav     * @deprecated This method will be removed in a subsequent release of
5834184a5ee0959c0071eb6eb94878de9c5408d4e5eSvetoslav     * the support library.
5849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
585d805095048f6be52cddbd572ee343c4639ba8187Alan Viverette    @Deprecated
5869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public Object getImpl() {
5879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return mRecord;
5889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
5899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
5909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
5919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Returns a cached instance if such is available or a new one is
5929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * instantiated. The instance is initialized with data from the
5939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * given record.
5949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
5959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return An instance.
5969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
5979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public static AccessibilityRecordCompat obtain(AccessibilityRecordCompat record) {
5989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov       return new AccessibilityRecordCompat(IMPL.obtain(record.mRecord));
5999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
6009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
6019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
6029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Returns a cached instance if such is available or a new one is
6039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * instantiated.
6049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
6059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return An instance.
6069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
6079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public static AccessibilityRecordCompat obtain() {
6089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return new AccessibilityRecordCompat(IMPL.obtain());
6099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
6109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
6119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
6129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets the event source.
6139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
6149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param source The source.
6159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
6169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @throws IllegalStateException If called from an AccessibilityService.
6179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
6189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setSource(View source) {
6199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setSource(mRecord, source);
6209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
6219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
6229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
6233a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov     * Sets the source to be a virtual descendant of the given <code>root</code>.
6243a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov     * If <code>virtualDescendantId</code> equals to {@link View#NO_ID} the root
6253a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov     * is set as the source.
6263a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov     * <p>
6273a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov     * A virtual descendant is an imaginary View that is reported as a part of the view
6283a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov     * hierarchy for accessibility purposes. This enables custom views that draw complex
6293a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov     * content to report them selves as a tree of virtual views, thus conveying their
6303a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov     * logical structure.
6313a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov     * </p>
6323a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov     *
6333a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov     * @param root The root of the virtual subtree.
6343a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov     * @param virtualDescendantId The id of the virtual descendant.
6353a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov     */
6363a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov    public void setSource(View root, int virtualDescendantId) {
6373a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov        IMPL.setSource(mRecord, root, virtualDescendantId);
6383a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov    }
6393a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov
6403a137cd495b313a047b5e800d02a925dea707fa0Svetoslav Ganov    /**
6419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets the {@link android.view.accessibility.AccessibilityNodeInfo} of
6429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * the event source.
6439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * <p>
6449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * <strong>Note:</strong> It is a client responsibility to recycle the
6459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * received info by calling
6469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * {@link android.view.accessibility.AccessibilityNodeInfo#recycle()
6479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * AccessibilityNodeInfo#recycle()} to avoid creating of multiple instances.
6489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *</p>
6499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
6509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return The info of the source.
6519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
6529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public AccessibilityNodeInfoCompat getSource() {
653c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        return IMPL.getSource(mRecord);
6549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
6559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
6569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
6579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets the id of the window from which the event comes from.
6589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
6599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return The window id.
6609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
6619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public int getWindowId() {
6629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.getWindowId(mRecord);
6639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
6649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
6659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
6669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets if the source is checked.
6679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
6689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return True if the view is checked, false otherwise.
6699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
6709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public boolean isChecked() {
6719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.isChecked(mRecord);
6729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
6739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
6749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
6759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets if the source is checked.
6769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
6779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param isChecked True if the view is checked, false otherwise.
6789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
6799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @throws IllegalStateException If called from an AccessibilityService.
6809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
6819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setChecked(boolean isChecked) {
6829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setChecked(mRecord, isChecked);
6839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
6849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
6859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
6869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets if the source is enabled.
6879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
6889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return True if the view is enabled, false otherwise.
6899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
6909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public boolean isEnabled() {
6919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.isEnabled(mRecord);
6929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
6939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
6949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
6959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets if the source is enabled.
6969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
6979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param isEnabled True if the view is enabled, false otherwise.
6989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
6999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @throws IllegalStateException If called from an AccessibilityService.
7009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
7019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setEnabled(boolean isEnabled) {
7029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setEnabled(mRecord, isEnabled);
7039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
7049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
7059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
7069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets if the source is a password field.
7079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
7089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return True if the view is a password field, false otherwise.
7099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
7109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public boolean isPassword() {
7119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.isPassword(mRecord);
7129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
7139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
7149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
7159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets if the source is a password field.
7169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
7179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param isPassword True if the view is a password field, false otherwise.
7189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
7199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @throws IllegalStateException If called from an AccessibilityService.
7209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
7219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setPassword(boolean isPassword) {
7229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setPassword(mRecord, isPassword);
7239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
7249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
7259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
7269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets if the source is taking the entire screen.
7279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
7289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return True if the source is full screen, false otherwise.
7299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
7309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public boolean isFullScreen() {
7319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.isFullScreen(mRecord);
7329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
7339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
7349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
7359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets if the source is taking the entire screen.
7369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
7379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param isFullScreen True if the source is full screen, false otherwise.
7389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
7399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @throws IllegalStateException If called from an AccessibilityService.
7409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
7419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setFullScreen(boolean isFullScreen) {
7429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setFullScreen(mRecord, isFullScreen);
7439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
7449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
7459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
7469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets if the source is scrollable.
7479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
7489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return True if the source is scrollable, false otherwise.
7499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
7509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public boolean isScrollable() {
7519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.isScrollable(mRecord);
7529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
7539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
7549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
7559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets if the source is scrollable.
7569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
7579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param scrollable True if the source is scrollable, false otherwise.
7589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
7599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @throws IllegalStateException If called from an AccessibilityService.
7609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
7619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setScrollable(boolean scrollable) {
7629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setScrollable(mRecord, scrollable);
7639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
7649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
7659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
7669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets the number of items that can be visited.
7679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
7689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return The number of items.
7699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
7709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public int getItemCount() {
7719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.getItemCount(mRecord);
7729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
7739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
7749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
7759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets the number of items that can be visited.
7769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
7779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param itemCount The number of items.
7789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
7799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @throws IllegalStateException If called from an AccessibilityService.
7809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
7819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setItemCount(int itemCount) {
7829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setItemCount(mRecord, itemCount);
7839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
7849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
7859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
7869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets the index of the source in the list of items the can be visited.
7879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
7889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return The current item index.
7899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
7909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public int getCurrentItemIndex() {
7919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.getCurrentItemIndex(mRecord);
7929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
7939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
7949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
7959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets the index of the source in the list of items that can be visited.
7969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
7979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param currentItemIndex The current item index.
7989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
7999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @throws IllegalStateException If called from an AccessibilityService.
8009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
8019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setCurrentItemIndex(int currentItemIndex) {
8029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setCurrentItemIndex(mRecord, currentItemIndex);
8039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
8049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
8059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
8069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets the index of the first character of the changed sequence,
8079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * or the beginning of a text selection or the index of the first
8089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * visible item when scrolling.
8099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
8109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return The index of the first character or selection
8119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *        start or the first visible item.
8129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
8139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public int getFromIndex() {
8149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.getFromIndex(mRecord);
8159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
8169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
8179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
8189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets the index of the first character of the changed sequence
8199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * or the beginning of a text selection or the index of the first
8209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * visible item when scrolling.
8219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
8229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param fromIndex The index of the first character or selection
8239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *        start or the first visible item.
8249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
8259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @throws IllegalStateException If called from an AccessibilityService.
8269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
8279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setFromIndex(int fromIndex) {
8289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setFromIndex(mRecord, fromIndex);
8299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
8309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
8319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
8329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets the index of text selection end or the index of the last
8339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * visible item when scrolling.
8349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
8359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return The index of selection end or last item index.
8369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
8379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public int getToIndex() {
8389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.getToIndex(mRecord);
8399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
8409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
8419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
8429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets the index of text selection end or the index of the last
8439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * visible item when scrolling.
8449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
8459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param toIndex The index of selection end or last item index.
8469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
8479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setToIndex(int toIndex) {
8489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setToIndex(mRecord, toIndex);
8499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
8509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
8519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
8529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets the scroll offset of the source left edge in pixels.
8539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
8549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return The scroll.
8559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
8569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public int getScrollX() {
8579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.getScrollX(mRecord);
8589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
8599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
8609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
8619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets the scroll offset of the source left edge in pixels.
8629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
8639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param scrollX The scroll.
8649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
8659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setScrollX(int scrollX) {
8669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setScrollX(mRecord, scrollX);
8679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
8689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
8699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
8709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets the scroll offset of the source top edge in pixels.
8719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
8729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return The scroll.
8739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
8749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public int getScrollY() {
8759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.getScrollY(mRecord);
8769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
8779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
8789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
8799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets the scroll offset of the source top edge in pixels.
8809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
8819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param scrollY The scroll.
8829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
8839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setScrollY(int scrollY) {
8849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setScrollY(mRecord, scrollY);
8859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
8869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
887c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov    /**
888c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov     * Gets the max scroll offset of the source left edge in pixels.
889c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov     *
890c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov     * @return The max scroll.
891c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov     */
892c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov    public int getMaxScrollX() {
893c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        return IMPL.getMaxScrollX(mRecord);
894c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov    }
895c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov    /**
896c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov     * Sets the max scroll offset of the source left edge in pixels.
897c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov     *
898c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov     * @param maxScrollX The max scroll.
899c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov     */
900c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov    public void setMaxScrollX(int maxScrollX) {
901c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        IMPL.setMaxScrollX(mRecord, maxScrollX);
902c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov    }
903c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov
904c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov    /**
905c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov     * Gets the max scroll offset of the source top edge in pixels.
906c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov     *
907c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov     * @return The max scroll.
908c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov     */
909c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov    public int getMaxScrollY() {
910c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        return IMPL.getMaxScrollY(mRecord);
911c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov    }
912c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov
913c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov    /**
914c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov     * Sets the max scroll offset of the source top edge in pixels.
915c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov     *
916c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov     * @param maxScrollY The max scroll.
917c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov     */
918c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov    public void setMaxScrollY(int maxScrollY) {
919c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov        IMPL.setMaxScrollY(mRecord, maxScrollY);
920c64858f808c159a8b144d22e3168459074cdc181Svetoslav Ganov    }
9219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
9229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
9239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets the number of added characters.
9249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
9259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return The number of added characters.
9269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
9279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public int getAddedCount() {
9289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.getAddedCount(mRecord);
9299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
9309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
9319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
9329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets the number of added characters.
9339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
9349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param addedCount The number of added characters.
9359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
9369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @throws IllegalStateException If called from an AccessibilityService.
9379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
9389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setAddedCount(int addedCount) {
9399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setAddedCount(mRecord, addedCount);
9409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
9419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
9429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
9439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets the number of removed characters.
9449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
9459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return The number of removed characters.
9469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
9479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public int getRemovedCount() {
9489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.getRemovedCount(mRecord);
9499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
9509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
9519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
9529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets the number of removed characters.
9539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
9549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param removedCount The number of removed characters.
9559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
9569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @throws IllegalStateException If called from an AccessibilityService.
9579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
9589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setRemovedCount(int removedCount) {
9599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setRemovedCount(mRecord, removedCount);
9609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
9619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
9629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
9639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets the class name of the source.
9649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
9659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return The class name.
9669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
9679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public CharSequence getClassName() {
9689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.getClassName(mRecord);
9699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
9709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
9719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
9729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets the class name of the source.
9739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
9749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param className The lass name.
9759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
9769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @throws IllegalStateException If called from an AccessibilityService.
9779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
9789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setClassName(CharSequence className) {
9799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setClassName(mRecord, className);
9809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
9819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
9829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
9839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets the text of the event. The index in the list represents the priority
9849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * of the text. Specifically, the lower the index the higher the priority.
9859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
9869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return The text.
9879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
9889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public List<CharSequence> getText() {
9899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.getText(mRecord);
9909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
9919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
9929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
9939648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets the text before a change.
9949648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
9959648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return The text before the change.
9969648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
9979648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public CharSequence getBeforeText() {
9989648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.getBeforeText(mRecord);
9999648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
10009648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
10019648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
10029648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets the text before a change.
10039648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
10049648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param beforeText The text before the change.
10059648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
10069648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @throws IllegalStateException If called from an AccessibilityService.
10079648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
10089648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setBeforeText(CharSequence beforeText) {
10099648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setBeforeText(mRecord, beforeText);
10109648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
10119648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
10129648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
10139648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets the description of the source.
10149648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
10159648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return The description.
10169648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
10179648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public CharSequence getContentDescription() {
10189648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.getContentDescription(mRecord);
10199648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
10209648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
10219648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
10229648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets the description of the source.
10239648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
10249648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param contentDescription The description.
10259648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
10269648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @throws IllegalStateException If called from an AccessibilityService.
10279648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
10289648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setContentDescription(CharSequence contentDescription) {
10299648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setContentDescription(mRecord, contentDescription);
10309648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
10319648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
10329648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
10339648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Gets the {@link Parcelable} data.
10349648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
10359648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @return The parcelable data.
10369648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
10379648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public Parcelable getParcelableData() {
10389648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return IMPL.getParcelableData(mRecord);
10399648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
10409648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
10419648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
10429648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Sets the {@link Parcelable} data of the event.
10439648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
10449648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @param parcelableData The parcelable data.
10459648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
10469648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @throws IllegalStateException If called from an AccessibilityService.
10479648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
10489648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void setParcelableData(Parcelable parcelableData) {
10499648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.setParcelableData(mRecord, parcelableData);
10509648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
10519648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
10529648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    /**
10539648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * Return an instance back to be reused.
10549648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * <p>
10559648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * <strong>Note:</strong> You must not touch the object after calling this
10569648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * function.
10579648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * </p>
10589648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     *
10599648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     * @throws IllegalStateException If the record is already recycled.
10609648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov     */
10619648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public void recycle() {
10629648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        IMPL.recycle(mRecord);
10639648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
10649648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
10659648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    @Override
10669648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public int hashCode() {
10679648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return (mRecord == null) ? 0 : mRecord.hashCode();
10689648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
10699648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
10709648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov
10719648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    @Override
10729648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    public boolean equals(Object obj) {
10739648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        if (this == obj) {
10749648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return true;
10759648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
10769648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        if (obj == null) {
10779648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return false;
10789648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
10799648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        if (getClass() != obj.getClass()) {
10809648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return false;
10819648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
10829648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        AccessibilityRecordCompat other = (AccessibilityRecordCompat) obj;
10839648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        if (mRecord == null) {
10849648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            if (other.mRecord != null) {
10859648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov                return false;
10869648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            }
10879648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        } else if (!mRecord.equals(other.mRecord)) {
10889648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov            return false;
10899648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        }
10909648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov        return true;
10919648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov    }
10929648c538bac4f04145c118cc41168d1d7a536312Svetoslav Ganov}
1093