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