1// Signature format: 4.0 2package androidx.recyclerview.selection { 3 4 public abstract class BandPredicate { 5 ctor public BandPredicate(); 6 method public abstract boolean canInitiate(android.view.MotionEvent!); 7 } 8 9 public static final class BandPredicate.EmptyArea extends androidx.recyclerview.selection.BandPredicate { 10 ctor public BandPredicate.EmptyArea(androidx.recyclerview.widget.RecyclerView); 11 method public boolean canInitiate(android.view.MotionEvent); 12 } 13 14 public static final class BandPredicate.NonDraggableArea extends androidx.recyclerview.selection.BandPredicate { 15 ctor public BandPredicate.NonDraggableArea(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.selection.ItemDetailsLookup); 16 method public boolean canInitiate(android.view.MotionEvent); 17 } 18 19 public abstract class FocusDelegate<K> { 20 ctor public FocusDelegate(); 21 method public abstract void clearFocus(); 22 method public abstract void focusItem(androidx.recyclerview.selection.ItemDetailsLookup.ItemDetails<K!>); 23 method public abstract int getFocusedPosition(); 24 method public abstract boolean hasFocusedItem(); 25 } 26 27 public abstract class ItemDetailsLookup<K> { 28 ctor public ItemDetailsLookup(); 29 method public abstract androidx.recyclerview.selection.ItemDetailsLookup.ItemDetails<K!>? getItemDetails(android.view.MotionEvent); 30 } 31 32 public abstract static class ItemDetailsLookup.ItemDetails<K> { 33 ctor public ItemDetailsLookup.ItemDetails(); 34 method public abstract int getPosition(); 35 method public abstract K? getSelectionKey(); 36 method public boolean hasSelectionKey(); 37 method public boolean inDragRegion(android.view.MotionEvent); 38 method public boolean inSelectionHotspot(android.view.MotionEvent); 39 } 40 41 public abstract class ItemKeyProvider<K> { 42 ctor protected ItemKeyProvider(@androidx.recyclerview.selection.ItemKeyProvider.Scope int); 43 method public abstract K? getKey(int); 44 method public abstract int getPosition(K); 45 field public static final int SCOPE_CACHED = 1; // 0x1 46 field public static final int SCOPE_MAPPED = 0; // 0x0 47 } 48 49 @IntDef({androidx.recyclerview.selection.ItemKeyProvider.SCOPE_MAPPED, androidx.recyclerview.selection.ItemKeyProvider.SCOPE_CACHED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ItemKeyProvider.Scope { 50 } 51 52 public final class MutableSelection<K> extends androidx.recyclerview.selection.Selection<K> { 53 ctor public MutableSelection(); 54 method public boolean add(K); 55 method public void clear(); 56 method public void copyFrom(androidx.recyclerview.selection.Selection<K!>); 57 method public boolean remove(K); 58 } 59 60 public interface OnContextClickListener { 61 method public boolean onContextClick(android.view.MotionEvent); 62 } 63 64 public interface OnDragInitiatedListener { 65 method public boolean onDragInitiated(android.view.MotionEvent); 66 } 67 68 public interface OnItemActivatedListener<K> { 69 method public boolean onItemActivated(androidx.recyclerview.selection.ItemDetailsLookup.ItemDetails<K!>, android.view.MotionEvent); 70 } 71 72 public final class OperationMonitor { 73 ctor public OperationMonitor(); 74 method public void addListener(androidx.recyclerview.selection.OperationMonitor.OnChangeListener); 75 method public boolean isStarted(); 76 method public void removeListener(androidx.recyclerview.selection.OperationMonitor.OnChangeListener); 77 } 78 79 public static interface OperationMonitor.OnChangeListener { 80 method public void onChanged(); 81 } 82 83 public class Selection<K> implements java.lang.Iterable<K> { 84 method public boolean contains(K?); 85 method public boolean isEmpty(); 86 method public java.util.Iterator<K!>! iterator(); 87 method public int size(); 88 } 89 90 public final class SelectionPredicates { 91 method public static <K> androidx.recyclerview.selection.SelectionTracker.SelectionPredicate<K!>! createSelectAnything(); 92 method public static <K> androidx.recyclerview.selection.SelectionTracker.SelectionPredicate<K!>! createSelectSingleAnything(); 93 } 94 95 public abstract class SelectionTracker<K> { 96 ctor public SelectionTracker(); 97 method public abstract void addObserver(androidx.recyclerview.selection.SelectionTracker.SelectionObserver!); 98 method public abstract boolean clearSelection(); 99 method public abstract void copySelection(androidx.recyclerview.selection.MutableSelection<K!>); 100 method public abstract boolean deselect(K); 101 method public abstract androidx.recyclerview.selection.Selection<K!>! getSelection(); 102 method public abstract boolean hasSelection(); 103 method public abstract boolean isSelected(K?); 104 method public abstract void onRestoreInstanceState(android.os.Bundle?); 105 method public abstract void onSaveInstanceState(android.os.Bundle); 106 method protected abstract void restoreSelection(androidx.recyclerview.selection.Selection<K!>); 107 method public abstract boolean select(K); 108 method public abstract boolean setItemsSelected(Iterable<K!>, boolean); 109 field public static final String SELECTION_CHANGED_MARKER = "Selection-Changed"; 110 } 111 112 public static final class SelectionTracker.Builder<K> { 113 ctor public SelectionTracker.Builder(String, androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.selection.ItemKeyProvider<K!>, androidx.recyclerview.selection.ItemDetailsLookup<K!>, androidx.recyclerview.selection.StorageStrategy<K!>); 114 method public androidx.recyclerview.selection.SelectionTracker<K!>! build(); 115 method public androidx.recyclerview.selection.SelectionTracker.Builder<K!>! withBandOverlay(@DrawableRes int); 116 method public androidx.recyclerview.selection.SelectionTracker.Builder<K!>! withBandPredicate(androidx.recyclerview.selection.BandPredicate); 117 method public androidx.recyclerview.selection.SelectionTracker.Builder<K!>! withFocusDelegate(androidx.recyclerview.selection.FocusDelegate<K!>); 118 method public androidx.recyclerview.selection.SelectionTracker.Builder<K!>! withGestureTooltypes(int...); 119 method public androidx.recyclerview.selection.SelectionTracker.Builder<K!>! withOnContextClickListener(androidx.recyclerview.selection.OnContextClickListener); 120 method public androidx.recyclerview.selection.SelectionTracker.Builder<K!>! withOnDragInitiatedListener(androidx.recyclerview.selection.OnDragInitiatedListener); 121 method public androidx.recyclerview.selection.SelectionTracker.Builder<K!>! withOnItemActivatedListener(androidx.recyclerview.selection.OnItemActivatedListener<K!>); 122 method public androidx.recyclerview.selection.SelectionTracker.Builder<K!>! withOperationMonitor(androidx.recyclerview.selection.OperationMonitor); 123 method public androidx.recyclerview.selection.SelectionTracker.Builder<K!>! withPointerTooltypes(int...); 124 method public androidx.recyclerview.selection.SelectionTracker.Builder<K!>! withSelectionPredicate(androidx.recyclerview.selection.SelectionTracker.SelectionPredicate<K!>); 125 } 126 127 public abstract static class SelectionTracker.SelectionObserver<K> { 128 ctor public SelectionTracker.SelectionObserver(); 129 method public void onItemStateChanged(K, boolean); 130 method public void onSelectionChanged(); 131 method public void onSelectionRefresh(); 132 method public void onSelectionRestored(); 133 } 134 135 public abstract static class SelectionTracker.SelectionPredicate<K> { 136 ctor public SelectionTracker.SelectionPredicate(); 137 method public abstract boolean canSelectMultiple(); 138 method public abstract boolean canSetStateAtPosition(int, boolean); 139 method public abstract boolean canSetStateForKey(K, boolean); 140 } 141 142 public final class StableIdKeyProvider extends androidx.recyclerview.selection.ItemKeyProvider<java.lang.Long> { 143 ctor public StableIdKeyProvider(androidx.recyclerview.widget.RecyclerView); 144 method public Long? getKey(int); 145 method public int getPosition(Long); 146 } 147 148 public abstract class StorageStrategy<K> { 149 ctor public StorageStrategy(Class<K!>); 150 method public abstract android.os.Bundle asBundle(androidx.recyclerview.selection.Selection<K!>); 151 method public abstract androidx.recyclerview.selection.Selection<K!>? asSelection(android.os.Bundle); 152 method public static androidx.recyclerview.selection.StorageStrategy<java.lang.Long!>! createLongStorage(); 153 method public static <K extends android.os.Parcelable> androidx.recyclerview.selection.StorageStrategy<K!>! createParcelableStorage(Class<K!>!); 154 method public static androidx.recyclerview.selection.StorageStrategy<java.lang.String!>! createStringStorage(); 155 } 156 157} 158 159