Loading api/current.txt +5 −0 Original line number Diff line number Diff line Loading @@ -30255,8 +30255,12 @@ package android.view.accessibility { public static final class AccessibilityNodeInfo.CollectionInfo { method public int getColumnCount(); method public int getRowCount(); method public int getSelectionMode(); method public boolean isHierarchical(); method public static android.view.accessibility.AccessibilityNodeInfo.CollectionInfo obtain(int, int, boolean); field public static final int SELECTION_MODE_MULTIPLE = 2; // 0x2 field public static final int SELECTION_MODE_NONE = 0; // 0x0 field public static final int SELECTION_MODE_SINGLE = 1; // 0x1 } public static final class AccessibilityNodeInfo.CollectionItemInfo { Loading @@ -30265,6 +30269,7 @@ package android.view.accessibility { method public int getRowIndex(); method public int getRowSpan(); method public boolean isHeading(); method public boolean isSelected(); method public static android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo obtain(int, int, int, int, boolean); } core/java/android/view/accessibility/AccessibilityNodeInfo.java +95 −17 Original line number Diff line number Diff line Loading @@ -2283,6 +2283,7 @@ public class AccessibilityNodeInfo implements Parcelable { parcel.writeInt(mCollectionInfo.getRowCount()); parcel.writeInt(mCollectionInfo.getColumnCount()); parcel.writeInt(mCollectionInfo.isHierarchical() ? 1 : 0); parcel.writeInt(mCollectionInfo.getSelectionMode()); } else { parcel.writeInt(0); } Loading @@ -2294,6 +2295,7 @@ public class AccessibilityNodeInfo implements Parcelable { parcel.writeInt(mCollectionItemInfo.getRowIndex()); parcel.writeInt(mCollectionItemInfo.getRowSpan()); parcel.writeInt(mCollectionItemInfo.isHeading() ? 1 : 0); parcel.writeInt(mCollectionItemInfo.isSelected() ? 1 : 0); } else { parcel.writeInt(0); } Loading Loading @@ -2420,7 +2422,8 @@ public class AccessibilityNodeInfo implements Parcelable { mCollectionInfo = CollectionInfo.obtain( parcel.readInt(), parcel.readInt(), parcel.readInt() == 1); parcel.readInt() == 1, parcel.readInt()); } if (parcel.readInt() == 1) { Loading @@ -2429,6 +2432,7 @@ public class AccessibilityNodeInfo implements Parcelable { parcel.readInt(), parcel.readInt(), parcel.readInt(), parcel.readInt() == 1, parcel.readInt() == 1); } } Loading Loading @@ -2786,6 +2790,15 @@ public class AccessibilityNodeInfo implements Parcelable { * </p> */ public static final class CollectionInfo { /** Selection mode where items are not selectable. */ public static final int SELECTION_MODE_NONE = 0; /** Selection mode where a single item may be selected. */ public static final int SELECTION_MODE_SINGLE = 1; /** Selection mode where multiple items may be selected. */ public static final int SELECTION_MODE_MULTIPLE = 2; private static final int MAX_POOL_SIZE = 20; private static final SynchronizedPool<CollectionInfo> sPool = Loading @@ -2794,17 +2807,17 @@ public class AccessibilityNodeInfo implements Parcelable { private int mRowCount; private int mColumnCount; private boolean mHierarchical; private int mSelectionMode; /** * Obtains a pooled instance that is a clone of another one. * * @param other The instance to clone. * * @hide */ public static CollectionInfo obtain(CollectionInfo other) { return CollectionInfo.obtain(other.mRowCount, other.mColumnCount, other.mHierarchical); return CollectionInfo.obtain(other.mRowCount, other.mColumnCount, other.mHierarchical, other.mSelectionMode); } /** Loading @@ -2814,15 +2827,35 @@ public class AccessibilityNodeInfo implements Parcelable { * @param columnCount The number of columns. * @param hierarchical Whether the collection is hierarchical. */ public static CollectionInfo obtain(int rowCount, int columnCount, boolean hierarchical) { public static CollectionInfo obtain(int rowCount, int columnCount, boolean hierarchical) { return obtain(rowCount, columnCount, hierarchical, SELECTION_MODE_NONE); } /** * Obtains a pooled instance. * * @param rowCount The number of rows. * @param columnCount The number of columns. * @param hierarchical Whether the collection is hierarchical. * @param selectionMode The collection's selection mode, one of: * <ul> * <li>{@link #SELECTION_MODE_NONE} * <li>{@link #SELECTION_MODE_SINGLE} * <li>{@link #SELECTION_MODE_MULTIPLE} * </ul> */ public static CollectionInfo obtain(int rowCount, int columnCount, boolean hierarchical, int selectionMode) { final CollectionInfo info = sPool.acquire(); if (info == null) { return new CollectionInfo(rowCount, columnCount, hierarchical); return new CollectionInfo(rowCount, columnCount, hierarchical, selectionMode); } info.mRowCount = rowCount; info.mColumnCount = columnCount; info.mHierarchical = hierarchical; info.mSelectionMode = selectionMode; return info; } Loading @@ -2832,12 +2865,14 @@ public class AccessibilityNodeInfo implements Parcelable { * @param rowCount The number of rows. * @param columnCount The number of columns. * @param hierarchical Whether the collection is hierarchical. * @param selectionMode The collection's selection mode. */ private CollectionInfo(int rowCount, int columnCount, boolean hierarchical) { private CollectionInfo(int rowCount, int columnCount, boolean hierarchical, int selectionMode) { mRowCount = rowCount; mColumnCount = columnCount; mHierarchical = hierarchical; mSelectionMode = selectionMode; } /** Loading Loading @@ -2867,6 +2902,20 @@ public class AccessibilityNodeInfo implements Parcelable { return mHierarchical; } /** * Gets the collection's selection mode. * * @return The collection's selection mode, one of: * <ul> * <li>{@link #SELECTION_MODE_NONE} * <li>{@link #SELECTION_MODE_SINGLE} * <li>{@link #SELECTION_MODE_MULTIPLE} * </ul> */ public int getSelectionMode() { return mSelectionMode; } /** * Recycles this instance. */ Loading @@ -2879,6 +2928,7 @@ public class AccessibilityNodeInfo implements Parcelable { mRowCount = 0; mColumnCount = 0; mHierarchical = false; mSelectionMode = SELECTION_MODE_NONE; } } Loading @@ -2904,12 +2954,25 @@ public class AccessibilityNodeInfo implements Parcelable { * Obtains a pooled instance that is a clone of another one. * * @param other The instance to clone. * * @hide */ public static CollectionItemInfo obtain(CollectionItemInfo other) { return CollectionItemInfo.obtain(other.mRowIndex, other.mRowSpan, other.mColumnIndex, other.mColumnSpan, other.mHeading); return CollectionItemInfo.obtain(other.mRowIndex, other.mRowSpan, other.mColumnIndex, other.mColumnSpan, other.mHeading, other.mSelected); } /** * Obtains a pooled instance. * * @param rowIndex The row index at which the item is located. * @param rowSpan The number of rows the item spans. * @param columnIndex The column index at which the item is located. * @param columnSpan The number of columns the item spans. * @param heading Whether the item is a heading. */ public static CollectionItemInfo obtain(int rowIndex, int rowSpan, int columnIndex, int columnSpan, boolean heading) { return obtain(rowIndex, rowSpan, columnIndex, columnSpan, heading, false); } /** Loading @@ -2920,12 +2983,14 @@ public class AccessibilityNodeInfo implements Parcelable { * @param columnIndex The column index at which the item is located. * @param columnSpan The number of columns the item spans. * @param heading Whether the item is a heading. * @param selected Whether the item is selected. */ public static CollectionItemInfo obtain(int rowIndex, int rowSpan, int columnIndex, int columnSpan, boolean heading) { public static CollectionItemInfo obtain(int rowIndex, int rowSpan, int columnIndex, int columnSpan, boolean heading, boolean selected) { final CollectionItemInfo info = sPool.acquire(); if (info == null) { return new CollectionItemInfo(rowIndex, rowSpan, columnIndex, columnSpan, heading); return new CollectionItemInfo( rowIndex, rowSpan, columnIndex, columnSpan, heading, selected); } info.mRowIndex = rowIndex; Loading @@ -2933,6 +2998,7 @@ public class AccessibilityNodeInfo implements Parcelable { info.mColumnIndex = columnIndex; info.mColumnSpan = columnSpan; info.mHeading = heading; info.mSelected = selected; return info; } Loading @@ -2941,6 +3007,7 @@ public class AccessibilityNodeInfo implements Parcelable { private int mRowIndex; private int mColumnSpan; private int mRowSpan; private boolean mSelected; /** * Creates a new instance. Loading @@ -2951,13 +3018,14 @@ public class AccessibilityNodeInfo implements Parcelable { * @param columnSpan The number of columns the item spans. * @param heading Whether the item is a heading. */ private CollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, int columnSpan, boolean heading) { private CollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, int columnSpan, boolean heading, boolean selected) { mRowIndex = rowIndex; mRowSpan = rowSpan; mColumnIndex = columnIndex; mColumnSpan = columnSpan; mHeading = heading; mSelected = selected; } /** Loading Loading @@ -3006,6 +3074,15 @@ public class AccessibilityNodeInfo implements Parcelable { return mHeading; } /** * Gets if the collection item is selected. * * @return If the item is selected. */ public boolean isSelected() { return mSelected; } /** * Recycles this instance. */ Loading @@ -3020,6 +3097,7 @@ public class AccessibilityNodeInfo implements Parcelable { mRowIndex = 0; mRowSpan = 0; mHeading = false; mSelected = false; } } Loading core/java/android/widget/AbsListView.java +16 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ import android.view.ViewTreeObserver; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.AccessibilityNodeInfo.CollectionInfo; import android.view.animation.AccelerateDecelerateInterpolator; import android.view.animation.AnimationUtils; import android.view.animation.Interpolator; Loading Loading @@ -1491,6 +1492,21 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te } } int getSelectionModeForAccessibility() { final int choiceMode = getChoiceMode(); switch (choiceMode) { case CHOICE_MODE_NONE: return CollectionInfo.SELECTION_MODE_NONE; case CHOICE_MODE_SINGLE: return CollectionInfo.SELECTION_MODE_SINGLE; case CHOICE_MODE_MULTIPLE: case CHOICE_MODE_MULTIPLE_MODAL: return CollectionInfo.SELECTION_MODE_MULTIPLE; default: return CollectionInfo.SELECTION_MODE_NONE; } } @Override public boolean performAccessibilityAction(int action, Bundle arguments) { if (super.performAccessibilityAction(action, arguments)) { Loading core/java/android/widget/GridView.java +6 −2 Original line number Diff line number Diff line Loading @@ -2327,7 +2327,9 @@ public class GridView extends AbsListView { final int columnsCount = getNumColumns(); final int rowsCount = getCount() / columnsCount; final CollectionInfo collectionInfo = CollectionInfo.obtain(columnsCount, rowsCount, false); final int selectionMode = getSelectionModeForAccessibility(); final CollectionInfo collectionInfo = CollectionInfo.obtain( columnsCount, rowsCount, false, selectionMode); info.setCollectionInfo(collectionInfo); } Loading @@ -2354,7 +2356,9 @@ public class GridView extends AbsListView { final LayoutParams lp = (LayoutParams) view.getLayoutParams(); final boolean isHeading = lp != null && lp.viewType != ITEM_VIEW_TYPE_HEADER_OR_FOOTER; final CollectionItemInfo itemInfo = CollectionItemInfo.obtain(column, 1, row, 1, isHeading); final boolean isSelected = isItemChecked(position); final CollectionItemInfo itemInfo = CollectionItemInfo.obtain( column, 1, row, 1, isHeading, isSelected); info.setCollectionItemInfo(itemInfo); } } core/java/android/widget/ListView.java +5 −2 Original line number Diff line number Diff line Loading @@ -3796,7 +3796,8 @@ public class ListView extends AbsListView { info.setClassName(ListView.class.getName()); final int count = getCount(); final CollectionInfo collectionInfo = CollectionInfo.obtain(1, count, false); final int selectionMode = getSelectionModeForAccessibility(); final CollectionInfo collectionInfo = CollectionInfo.obtain(1, count, false, selectionMode); info.setCollectionInfo(collectionInfo); } Loading @@ -3807,7 +3808,9 @@ public class ListView extends AbsListView { final LayoutParams lp = (LayoutParams) view.getLayoutParams(); final boolean isHeading = lp != null && lp.viewType != ITEM_VIEW_TYPE_HEADER_OR_FOOTER; final CollectionItemInfo itemInfo = CollectionItemInfo.obtain(0, 1, position, 1, isHeading); final boolean isSelected = isItemChecked(position); final CollectionItemInfo itemInfo = CollectionItemInfo.obtain( 0, 1, position, 1, isHeading, isSelected); info.setCollectionItemInfo(itemInfo); } } Loading
api/current.txt +5 −0 Original line number Diff line number Diff line Loading @@ -30255,8 +30255,12 @@ package android.view.accessibility { public static final class AccessibilityNodeInfo.CollectionInfo { method public int getColumnCount(); method public int getRowCount(); method public int getSelectionMode(); method public boolean isHierarchical(); method public static android.view.accessibility.AccessibilityNodeInfo.CollectionInfo obtain(int, int, boolean); field public static final int SELECTION_MODE_MULTIPLE = 2; // 0x2 field public static final int SELECTION_MODE_NONE = 0; // 0x0 field public static final int SELECTION_MODE_SINGLE = 1; // 0x1 } public static final class AccessibilityNodeInfo.CollectionItemInfo { Loading @@ -30265,6 +30269,7 @@ package android.view.accessibility { method public int getRowIndex(); method public int getRowSpan(); method public boolean isHeading(); method public boolean isSelected(); method public static android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo obtain(int, int, int, int, boolean); }
core/java/android/view/accessibility/AccessibilityNodeInfo.java +95 −17 Original line number Diff line number Diff line Loading @@ -2283,6 +2283,7 @@ public class AccessibilityNodeInfo implements Parcelable { parcel.writeInt(mCollectionInfo.getRowCount()); parcel.writeInt(mCollectionInfo.getColumnCount()); parcel.writeInt(mCollectionInfo.isHierarchical() ? 1 : 0); parcel.writeInt(mCollectionInfo.getSelectionMode()); } else { parcel.writeInt(0); } Loading @@ -2294,6 +2295,7 @@ public class AccessibilityNodeInfo implements Parcelable { parcel.writeInt(mCollectionItemInfo.getRowIndex()); parcel.writeInt(mCollectionItemInfo.getRowSpan()); parcel.writeInt(mCollectionItemInfo.isHeading() ? 1 : 0); parcel.writeInt(mCollectionItemInfo.isSelected() ? 1 : 0); } else { parcel.writeInt(0); } Loading Loading @@ -2420,7 +2422,8 @@ public class AccessibilityNodeInfo implements Parcelable { mCollectionInfo = CollectionInfo.obtain( parcel.readInt(), parcel.readInt(), parcel.readInt() == 1); parcel.readInt() == 1, parcel.readInt()); } if (parcel.readInt() == 1) { Loading @@ -2429,6 +2432,7 @@ public class AccessibilityNodeInfo implements Parcelable { parcel.readInt(), parcel.readInt(), parcel.readInt(), parcel.readInt() == 1, parcel.readInt() == 1); } } Loading Loading @@ -2786,6 +2790,15 @@ public class AccessibilityNodeInfo implements Parcelable { * </p> */ public static final class CollectionInfo { /** Selection mode where items are not selectable. */ public static final int SELECTION_MODE_NONE = 0; /** Selection mode where a single item may be selected. */ public static final int SELECTION_MODE_SINGLE = 1; /** Selection mode where multiple items may be selected. */ public static final int SELECTION_MODE_MULTIPLE = 2; private static final int MAX_POOL_SIZE = 20; private static final SynchronizedPool<CollectionInfo> sPool = Loading @@ -2794,17 +2807,17 @@ public class AccessibilityNodeInfo implements Parcelable { private int mRowCount; private int mColumnCount; private boolean mHierarchical; private int mSelectionMode; /** * Obtains a pooled instance that is a clone of another one. * * @param other The instance to clone. * * @hide */ public static CollectionInfo obtain(CollectionInfo other) { return CollectionInfo.obtain(other.mRowCount, other.mColumnCount, other.mHierarchical); return CollectionInfo.obtain(other.mRowCount, other.mColumnCount, other.mHierarchical, other.mSelectionMode); } /** Loading @@ -2814,15 +2827,35 @@ public class AccessibilityNodeInfo implements Parcelable { * @param columnCount The number of columns. * @param hierarchical Whether the collection is hierarchical. */ public static CollectionInfo obtain(int rowCount, int columnCount, boolean hierarchical) { public static CollectionInfo obtain(int rowCount, int columnCount, boolean hierarchical) { return obtain(rowCount, columnCount, hierarchical, SELECTION_MODE_NONE); } /** * Obtains a pooled instance. * * @param rowCount The number of rows. * @param columnCount The number of columns. * @param hierarchical Whether the collection is hierarchical. * @param selectionMode The collection's selection mode, one of: * <ul> * <li>{@link #SELECTION_MODE_NONE} * <li>{@link #SELECTION_MODE_SINGLE} * <li>{@link #SELECTION_MODE_MULTIPLE} * </ul> */ public static CollectionInfo obtain(int rowCount, int columnCount, boolean hierarchical, int selectionMode) { final CollectionInfo info = sPool.acquire(); if (info == null) { return new CollectionInfo(rowCount, columnCount, hierarchical); return new CollectionInfo(rowCount, columnCount, hierarchical, selectionMode); } info.mRowCount = rowCount; info.mColumnCount = columnCount; info.mHierarchical = hierarchical; info.mSelectionMode = selectionMode; return info; } Loading @@ -2832,12 +2865,14 @@ public class AccessibilityNodeInfo implements Parcelable { * @param rowCount The number of rows. * @param columnCount The number of columns. * @param hierarchical Whether the collection is hierarchical. * @param selectionMode The collection's selection mode. */ private CollectionInfo(int rowCount, int columnCount, boolean hierarchical) { private CollectionInfo(int rowCount, int columnCount, boolean hierarchical, int selectionMode) { mRowCount = rowCount; mColumnCount = columnCount; mHierarchical = hierarchical; mSelectionMode = selectionMode; } /** Loading Loading @@ -2867,6 +2902,20 @@ public class AccessibilityNodeInfo implements Parcelable { return mHierarchical; } /** * Gets the collection's selection mode. * * @return The collection's selection mode, one of: * <ul> * <li>{@link #SELECTION_MODE_NONE} * <li>{@link #SELECTION_MODE_SINGLE} * <li>{@link #SELECTION_MODE_MULTIPLE} * </ul> */ public int getSelectionMode() { return mSelectionMode; } /** * Recycles this instance. */ Loading @@ -2879,6 +2928,7 @@ public class AccessibilityNodeInfo implements Parcelable { mRowCount = 0; mColumnCount = 0; mHierarchical = false; mSelectionMode = SELECTION_MODE_NONE; } } Loading @@ -2904,12 +2954,25 @@ public class AccessibilityNodeInfo implements Parcelable { * Obtains a pooled instance that is a clone of another one. * * @param other The instance to clone. * * @hide */ public static CollectionItemInfo obtain(CollectionItemInfo other) { return CollectionItemInfo.obtain(other.mRowIndex, other.mRowSpan, other.mColumnIndex, other.mColumnSpan, other.mHeading); return CollectionItemInfo.obtain(other.mRowIndex, other.mRowSpan, other.mColumnIndex, other.mColumnSpan, other.mHeading, other.mSelected); } /** * Obtains a pooled instance. * * @param rowIndex The row index at which the item is located. * @param rowSpan The number of rows the item spans. * @param columnIndex The column index at which the item is located. * @param columnSpan The number of columns the item spans. * @param heading Whether the item is a heading. */ public static CollectionItemInfo obtain(int rowIndex, int rowSpan, int columnIndex, int columnSpan, boolean heading) { return obtain(rowIndex, rowSpan, columnIndex, columnSpan, heading, false); } /** Loading @@ -2920,12 +2983,14 @@ public class AccessibilityNodeInfo implements Parcelable { * @param columnIndex The column index at which the item is located. * @param columnSpan The number of columns the item spans. * @param heading Whether the item is a heading. * @param selected Whether the item is selected. */ public static CollectionItemInfo obtain(int rowIndex, int rowSpan, int columnIndex, int columnSpan, boolean heading) { public static CollectionItemInfo obtain(int rowIndex, int rowSpan, int columnIndex, int columnSpan, boolean heading, boolean selected) { final CollectionItemInfo info = sPool.acquire(); if (info == null) { return new CollectionItemInfo(rowIndex, rowSpan, columnIndex, columnSpan, heading); return new CollectionItemInfo( rowIndex, rowSpan, columnIndex, columnSpan, heading, selected); } info.mRowIndex = rowIndex; Loading @@ -2933,6 +2998,7 @@ public class AccessibilityNodeInfo implements Parcelable { info.mColumnIndex = columnIndex; info.mColumnSpan = columnSpan; info.mHeading = heading; info.mSelected = selected; return info; } Loading @@ -2941,6 +3007,7 @@ public class AccessibilityNodeInfo implements Parcelable { private int mRowIndex; private int mColumnSpan; private int mRowSpan; private boolean mSelected; /** * Creates a new instance. Loading @@ -2951,13 +3018,14 @@ public class AccessibilityNodeInfo implements Parcelable { * @param columnSpan The number of columns the item spans. * @param heading Whether the item is a heading. */ private CollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, int columnSpan, boolean heading) { private CollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, int columnSpan, boolean heading, boolean selected) { mRowIndex = rowIndex; mRowSpan = rowSpan; mColumnIndex = columnIndex; mColumnSpan = columnSpan; mHeading = heading; mSelected = selected; } /** Loading Loading @@ -3006,6 +3074,15 @@ public class AccessibilityNodeInfo implements Parcelable { return mHeading; } /** * Gets if the collection item is selected. * * @return If the item is selected. */ public boolean isSelected() { return mSelected; } /** * Recycles this instance. */ Loading @@ -3020,6 +3097,7 @@ public class AccessibilityNodeInfo implements Parcelable { mRowIndex = 0; mRowSpan = 0; mHeading = false; mSelected = false; } } Loading
core/java/android/widget/AbsListView.java +16 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ import android.view.ViewTreeObserver; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.AccessibilityNodeInfo.CollectionInfo; import android.view.animation.AccelerateDecelerateInterpolator; import android.view.animation.AnimationUtils; import android.view.animation.Interpolator; Loading Loading @@ -1491,6 +1492,21 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te } } int getSelectionModeForAccessibility() { final int choiceMode = getChoiceMode(); switch (choiceMode) { case CHOICE_MODE_NONE: return CollectionInfo.SELECTION_MODE_NONE; case CHOICE_MODE_SINGLE: return CollectionInfo.SELECTION_MODE_SINGLE; case CHOICE_MODE_MULTIPLE: case CHOICE_MODE_MULTIPLE_MODAL: return CollectionInfo.SELECTION_MODE_MULTIPLE; default: return CollectionInfo.SELECTION_MODE_NONE; } } @Override public boolean performAccessibilityAction(int action, Bundle arguments) { if (super.performAccessibilityAction(action, arguments)) { Loading
core/java/android/widget/GridView.java +6 −2 Original line number Diff line number Diff line Loading @@ -2327,7 +2327,9 @@ public class GridView extends AbsListView { final int columnsCount = getNumColumns(); final int rowsCount = getCount() / columnsCount; final CollectionInfo collectionInfo = CollectionInfo.obtain(columnsCount, rowsCount, false); final int selectionMode = getSelectionModeForAccessibility(); final CollectionInfo collectionInfo = CollectionInfo.obtain( columnsCount, rowsCount, false, selectionMode); info.setCollectionInfo(collectionInfo); } Loading @@ -2354,7 +2356,9 @@ public class GridView extends AbsListView { final LayoutParams lp = (LayoutParams) view.getLayoutParams(); final boolean isHeading = lp != null && lp.viewType != ITEM_VIEW_TYPE_HEADER_OR_FOOTER; final CollectionItemInfo itemInfo = CollectionItemInfo.obtain(column, 1, row, 1, isHeading); final boolean isSelected = isItemChecked(position); final CollectionItemInfo itemInfo = CollectionItemInfo.obtain( column, 1, row, 1, isHeading, isSelected); info.setCollectionItemInfo(itemInfo); } }
core/java/android/widget/ListView.java +5 −2 Original line number Diff line number Diff line Loading @@ -3796,7 +3796,8 @@ public class ListView extends AbsListView { info.setClassName(ListView.class.getName()); final int count = getCount(); final CollectionInfo collectionInfo = CollectionInfo.obtain(1, count, false); final int selectionMode = getSelectionModeForAccessibility(); final CollectionInfo collectionInfo = CollectionInfo.obtain(1, count, false, selectionMode); info.setCollectionInfo(collectionInfo); } Loading @@ -3807,7 +3808,9 @@ public class ListView extends AbsListView { final LayoutParams lp = (LayoutParams) view.getLayoutParams(); final boolean isHeading = lp != null && lp.viewType != ITEM_VIEW_TYPE_HEADER_OR_FOOTER; final CollectionItemInfo itemInfo = CollectionItemInfo.obtain(0, 1, position, 1, isHeading); final boolean isSelected = isItemChecked(position); final CollectionItemInfo itemInfo = CollectionItemInfo.obtain( 0, 1, position, 1, isHeading, isSelected); info.setCollectionItemInfo(itemInfo); } }