diff options
author | android-build-prod (mdb) <android-build-team-robot@google.com> | 2019-11-08 18:27:01 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2019-11-08 18:27:01 +0000 |
commit | b2df2a447cb069586f3c6c0be1ff7a67734f6d8d (patch) | |
tree | ff3f5ad3f438a785a6ec3b46273f8b8bc54f4a3b | |
parent | b4f6ba666a6ebb010286ca85bd72833a6be0aa48 (diff) | |
parent | c0454a72926338f48bf9249746418a059789d7f4 (diff) | |
download | support-b2df2a447cb069586f3c6c0be1ff7a67734f6d8d.tar.gz |
Merge "Merge cherrypicks of [1162903] into androidx-recyclerview-release" into androidx-recyclerview-release
-rw-r--r-- | buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt | 2 | ||||
-rw-r--r-- | recyclerview/recyclerview/api/1.1.0.txt | 1037 | ||||
-rw-r--r-- | recyclerview/recyclerview/api/public_plus_experimental_1.1.0.txt | 1037 | ||||
-rw-r--r-- | recyclerview/recyclerview/api/res-1.1.0.txt | 9 | ||||
-rw-r--r-- | recyclerview/recyclerview/api/restricted_1.1.0.txt | 1043 |
5 files changed, 3127 insertions, 1 deletions
diff --git a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt index 59e2430ff01..2ba45b49684 100644 --- a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt +++ b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt @@ -87,7 +87,7 @@ object LibraryVersions { val PERCENTLAYOUT = Version("1.1.0-alpha01") val PREFERENCE = Version("1.2.0-alpha01") val RECOMMENDATION = Version("1.1.0-alpha01") - val RECYCLERVIEW = Version("1.1.0-rc01") + val RECYCLERVIEW = Version("1.1.0") val RECYCLERVIEW_SELECTION = Version("1.1.0-alpha07") val REMOTECALLBACK = Version("1.0.0-alpha02") val ROOM = Version("2.3.0-alpha01") diff --git a/recyclerview/recyclerview/api/1.1.0.txt b/recyclerview/recyclerview/api/1.1.0.txt new file mode 100644 index 00000000000..2e41ff17ea7 --- /dev/null +++ b/recyclerview/recyclerview/api/1.1.0.txt @@ -0,0 +1,1037 @@ +// Signature format: 3.0 +package androidx.recyclerview.widget { + + public final class AdapterListUpdateCallback implements androidx.recyclerview.widget.ListUpdateCallback { + ctor public AdapterListUpdateCallback(androidx.recyclerview.widget.RecyclerView.Adapter); + method public void onChanged(int, int, Object!); + method public void onInserted(int, int); + method public void onMoved(int, int); + method public void onRemoved(int, int); + } + + public final class AsyncDifferConfig<T> { + method public java.util.concurrent.Executor getBackgroundThreadExecutor(); + method public androidx.recyclerview.widget.DiffUtil.ItemCallback<T!> getDiffCallback(); + } + + public static final class AsyncDifferConfig.Builder<T> { + ctor public AsyncDifferConfig.Builder(androidx.recyclerview.widget.DiffUtil.ItemCallback<T!>); + method public androidx.recyclerview.widget.AsyncDifferConfig<T!> build(); + method public androidx.recyclerview.widget.AsyncDifferConfig.Builder<T!> setBackgroundThreadExecutor(java.util.concurrent.Executor!); + } + + public class AsyncListDiffer<T> { + ctor public AsyncListDiffer(androidx.recyclerview.widget.RecyclerView.Adapter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T!>); + ctor public AsyncListDiffer(androidx.recyclerview.widget.ListUpdateCallback, androidx.recyclerview.widget.AsyncDifferConfig<T!>); + method public void addListListener(androidx.recyclerview.widget.AsyncListDiffer.ListListener<T!>); + method public java.util.List<T!> getCurrentList(); + method public void removeListListener(androidx.recyclerview.widget.AsyncListDiffer.ListListener<T!>); + method public void submitList(java.util.List<T!>?); + method public void submitList(java.util.List<T!>?, Runnable?); + } + + public static interface AsyncListDiffer.ListListener<T> { + method public void onCurrentListChanged(java.util.List<T!>, java.util.List<T!>); + } + + public class AsyncListUtil<T> { + ctor public AsyncListUtil(Class<T!>, int, androidx.recyclerview.widget.AsyncListUtil.DataCallback<T!>, androidx.recyclerview.widget.AsyncListUtil.ViewCallback); + method public T? getItem(int); + method public int getItemCount(); + method public void onRangeChanged(); + method public void refresh(); + } + + public abstract static class AsyncListUtil.DataCallback<T> { + ctor public AsyncListUtil.DataCallback(); + method @WorkerThread public abstract void fillData(T![], int, int); + method @WorkerThread public int getMaxCachedTiles(); + method @WorkerThread public void recycleData(T![], int); + method @WorkerThread public abstract int refreshData(); + } + + public abstract static class AsyncListUtil.ViewCallback { + ctor public AsyncListUtil.ViewCallback(); + method @UiThread public void extendRangeInto(int[], int[], int); + method @UiThread public abstract void getItemRangeInto(int[]); + method @UiThread public abstract void onDataRefresh(); + method @UiThread public abstract void onItemLoaded(int); + field public static final int HINT_SCROLL_ASC = 2; // 0x2 + field public static final int HINT_SCROLL_DESC = 1; // 0x1 + field public static final int HINT_SCROLL_NONE = 0; // 0x0 + } + + public class BatchingListUpdateCallback implements androidx.recyclerview.widget.ListUpdateCallback { + ctor public BatchingListUpdateCallback(androidx.recyclerview.widget.ListUpdateCallback); + method public void dispatchLastEvent(); + method public void onChanged(int, int, Object!); + method public void onInserted(int, int); + method public void onMoved(int, int); + method public void onRemoved(int, int); + } + + public class DefaultItemAnimator extends androidx.recyclerview.widget.SimpleItemAnimator { + ctor public DefaultItemAnimator(); + method public boolean animateAdd(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public boolean animateChange(androidx.recyclerview.widget.RecyclerView.ViewHolder!, androidx.recyclerview.widget.RecyclerView.ViewHolder!, int, int, int, int); + method public boolean animateMove(androidx.recyclerview.widget.RecyclerView.ViewHolder!, int, int, int, int); + method public boolean animateRemove(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void endAnimation(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void endAnimations(); + method public boolean isRunning(); + method public void runPendingAnimations(); + } + + public class DiffUtil { + method public static androidx.recyclerview.widget.DiffUtil.DiffResult calculateDiff(androidx.recyclerview.widget.DiffUtil.Callback); + method public static androidx.recyclerview.widget.DiffUtil.DiffResult calculateDiff(androidx.recyclerview.widget.DiffUtil.Callback, boolean); + } + + public abstract static class DiffUtil.Callback { + ctor public DiffUtil.Callback(); + method public abstract boolean areContentsTheSame(int, int); + method public abstract boolean areItemsTheSame(int, int); + method public Object? getChangePayload(int, int); + method public abstract int getNewListSize(); + method public abstract int getOldListSize(); + } + + public static class DiffUtil.DiffResult { + method public int convertNewPositionToOld(@IntRange(from=0) int); + method public int convertOldPositionToNew(@IntRange(from=0) int); + method public void dispatchUpdatesTo(androidx.recyclerview.widget.RecyclerView.Adapter); + method public void dispatchUpdatesTo(androidx.recyclerview.widget.ListUpdateCallback); + field public static final int NO_POSITION = -1; // 0xffffffff + } + + public abstract static class DiffUtil.ItemCallback<T> { + ctor public DiffUtil.ItemCallback(); + method public abstract boolean areContentsTheSame(T, T); + method public abstract boolean areItemsTheSame(T, T); + method public Object? getChangePayload(T, T); + } + + public class DividerItemDecoration extends androidx.recyclerview.widget.RecyclerView.ItemDecoration { + ctor public DividerItemDecoration(android.content.Context!, int); + method public android.graphics.drawable.Drawable? getDrawable(); + method public void setDrawable(android.graphics.drawable.Drawable); + method public void setOrientation(int); + field public static final int HORIZONTAL = 0; // 0x0 + field public static final int VERTICAL = 1; // 0x1 + } + + public class GridLayoutManager extends androidx.recyclerview.widget.LinearLayoutManager { + ctor public GridLayoutManager(android.content.Context!, android.util.AttributeSet!, int, int); + ctor public GridLayoutManager(android.content.Context!, int); + ctor public GridLayoutManager(android.content.Context!, int, int, boolean); + method public int getSpanCount(); + method public androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup! getSpanSizeLookup(); + method public boolean isUsingSpansToEstimateScrollbarDimensions(); + method public void setSpanCount(int); + method public void setSpanSizeLookup(androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup!); + method public void setUsingSpansToEstimateScrollbarDimensions(boolean); + field public static final int DEFAULT_SPAN_COUNT = -1; // 0xffffffff + } + + public static final class GridLayoutManager.DefaultSpanSizeLookup extends androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup { + ctor public GridLayoutManager.DefaultSpanSizeLookup(); + method public int getSpanSize(int); + } + + public static class GridLayoutManager.LayoutParams extends androidx.recyclerview.widget.RecyclerView.LayoutParams { + ctor public GridLayoutManager.LayoutParams(android.content.Context!, android.util.AttributeSet!); + ctor public GridLayoutManager.LayoutParams(int, int); + ctor public GridLayoutManager.LayoutParams(android.view.ViewGroup.MarginLayoutParams!); + ctor public GridLayoutManager.LayoutParams(android.view.ViewGroup.LayoutParams!); + ctor public GridLayoutManager.LayoutParams(androidx.recyclerview.widget.RecyclerView.LayoutParams!); + method public int getSpanIndex(); + method public int getSpanSize(); + field public static final int INVALID_SPAN_ID = -1; // 0xffffffff + } + + public abstract static class GridLayoutManager.SpanSizeLookup { + ctor public GridLayoutManager.SpanSizeLookup(); + method public int getSpanGroupIndex(int, int); + method public int getSpanIndex(int, int); + method public abstract int getSpanSize(int); + method public void invalidateSpanGroupIndexCache(); + method public void invalidateSpanIndexCache(); + method public boolean isSpanGroupIndexCacheEnabled(); + method public boolean isSpanIndexCacheEnabled(); + method public void setSpanGroupIndexCacheEnabled(boolean); + method public void setSpanIndexCacheEnabled(boolean); + } + + public class ItemTouchHelper extends androidx.recyclerview.widget.RecyclerView.ItemDecoration implements androidx.recyclerview.widget.RecyclerView.OnChildAttachStateChangeListener { + ctor public ItemTouchHelper(androidx.recyclerview.widget.ItemTouchHelper.Callback); + method public void attachToRecyclerView(androidx.recyclerview.widget.RecyclerView?); + method public void onChildViewAttachedToWindow(android.view.View); + method public void onChildViewDetachedFromWindow(android.view.View); + method public void startDrag(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public void startSwipe(androidx.recyclerview.widget.RecyclerView.ViewHolder); + field public static final int ACTION_STATE_DRAG = 2; // 0x2 + field public static final int ACTION_STATE_IDLE = 0; // 0x0 + field public static final int ACTION_STATE_SWIPE = 1; // 0x1 + field public static final int ANIMATION_TYPE_DRAG = 8; // 0x8 + field public static final int ANIMATION_TYPE_SWIPE_CANCEL = 4; // 0x4 + field public static final int ANIMATION_TYPE_SWIPE_SUCCESS = 2; // 0x2 + field public static final int DOWN = 2; // 0x2 + field public static final int END = 32; // 0x20 + field public static final int LEFT = 4; // 0x4 + field public static final int RIGHT = 8; // 0x8 + field public static final int START = 16; // 0x10 + field public static final int UP = 1; // 0x1 + } + + public abstract static class ItemTouchHelper.Callback { + ctor public ItemTouchHelper.Callback(); + method public boolean canDropOver(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder! chooseDropTarget(androidx.recyclerview.widget.RecyclerView.ViewHolder, java.util.List<androidx.recyclerview.widget.RecyclerView.ViewHolder!>, int, int); + method public void clearView(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public int convertToAbsoluteDirection(int, int); + method public static int convertToRelativeDirection(int, int); + method public long getAnimationDuration(androidx.recyclerview.widget.RecyclerView, int, float, float); + method public int getBoundingBoxMargin(); + method public static androidx.recyclerview.widget.ItemTouchUIUtil getDefaultUIUtil(); + method public float getMoveThreshold(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public abstract int getMovementFlags(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public float getSwipeEscapeVelocity(float); + method public float getSwipeThreshold(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public float getSwipeVelocityThreshold(float); + method public int interpolateOutOfBoundsScroll(androidx.recyclerview.widget.RecyclerView, int, int, int, long); + method public boolean isItemViewSwipeEnabled(); + method public boolean isLongPressDragEnabled(); + method public static int makeFlag(int, int); + method public static int makeMovementFlags(int, int); + method public void onChildDraw(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder, float, float, int, boolean); + method public void onChildDrawOver(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder!, float, float, int, boolean); + method public abstract boolean onMove(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public void onMoved(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder, int, androidx.recyclerview.widget.RecyclerView.ViewHolder, int, int, int); + method public void onSelectedChanged(androidx.recyclerview.widget.RecyclerView.ViewHolder?, int); + method public abstract void onSwiped(androidx.recyclerview.widget.RecyclerView.ViewHolder, int); + field public static final int DEFAULT_DRAG_ANIMATION_DURATION = 200; // 0xc8 + field public static final int DEFAULT_SWIPE_ANIMATION_DURATION = 250; // 0xfa + } + + public abstract static class ItemTouchHelper.SimpleCallback extends androidx.recyclerview.widget.ItemTouchHelper.Callback { + ctor public ItemTouchHelper.SimpleCallback(int, int); + method public int getDragDirs(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public int getMovementFlags(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public int getSwipeDirs(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public void setDefaultDragDirs(int); + method public void setDefaultSwipeDirs(int); + } + + public static interface ItemTouchHelper.ViewDropHandler { + method public void prepareForDrop(android.view.View, android.view.View, int, int); + } + + public interface ItemTouchUIUtil { + method public void clearView(android.view.View!); + method public void onDraw(android.graphics.Canvas!, androidx.recyclerview.widget.RecyclerView!, android.view.View!, float, float, int, boolean); + method public void onDrawOver(android.graphics.Canvas!, androidx.recyclerview.widget.RecyclerView!, android.view.View!, float, float, int, boolean); + method public void onSelected(android.view.View!); + } + + public class LinearLayoutManager extends androidx.recyclerview.widget.RecyclerView.LayoutManager implements androidx.recyclerview.widget.ItemTouchHelper.ViewDropHandler androidx.recyclerview.widget.RecyclerView.SmoothScroller.ScrollVectorProvider { + ctor public LinearLayoutManager(android.content.Context!); + ctor public LinearLayoutManager(android.content.Context!, int, boolean); + ctor public LinearLayoutManager(android.content.Context!, android.util.AttributeSet!, int, int); + method protected void calculateExtraLayoutSpace(androidx.recyclerview.widget.RecyclerView.State, int[]); + method public android.graphics.PointF! computeScrollVectorForPosition(int); + method public int findFirstCompletelyVisibleItemPosition(); + method public int findFirstVisibleItemPosition(); + method public int findLastCompletelyVisibleItemPosition(); + method public int findLastVisibleItemPosition(); + method public androidx.recyclerview.widget.RecyclerView.LayoutParams! generateDefaultLayoutParams(); + method @Deprecated protected int getExtraLayoutSpace(androidx.recyclerview.widget.RecyclerView.State!); + method public int getInitialPrefetchItemCount(); + method public int getOrientation(); + method public boolean getRecycleChildrenOnDetach(); + method public boolean getReverseLayout(); + method public boolean getStackFromEnd(); + method protected boolean isLayoutRTL(); + method public boolean isSmoothScrollbarEnabled(); + method public void prepareForDrop(android.view.View, android.view.View, int, int); + method public void scrollToPositionWithOffset(int, int); + method public void setInitialPrefetchItemCount(int); + method public void setOrientation(int); + method public void setRecycleChildrenOnDetach(boolean); + method public void setReverseLayout(boolean); + method public void setSmoothScrollbarEnabled(boolean); + method public void setStackFromEnd(boolean); + field public static final int HORIZONTAL = 0; // 0x0 + field public static final int INVALID_OFFSET = -2147483648; // 0x80000000 + field public static final int VERTICAL = 1; // 0x1 + } + + protected static class LinearLayoutManager.LayoutChunkResult { + ctor protected LinearLayoutManager.LayoutChunkResult(); + field public int mConsumed; + field public boolean mFinished; + field public boolean mFocusable; + field public boolean mIgnoreConsumed; + } + + public class LinearSmoothScroller extends androidx.recyclerview.widget.RecyclerView.SmoothScroller { + ctor public LinearSmoothScroller(android.content.Context!); + method public int calculateDtToFit(int, int, int, int, int); + method public int calculateDxToMakeVisible(android.view.View!, int); + method public int calculateDyToMakeVisible(android.view.View!, int); + method protected float calculateSpeedPerPixel(android.util.DisplayMetrics!); + method protected int calculateTimeForDeceleration(int); + method protected int calculateTimeForScrolling(int); + method protected int getHorizontalSnapPreference(); + method protected int getVerticalSnapPreference(); + method protected void onSeekTargetStep(int, int, androidx.recyclerview.widget.RecyclerView.State!, androidx.recyclerview.widget.RecyclerView.SmoothScroller.Action!); + method protected void onStart(); + method protected void onStop(); + method protected void onTargetFound(android.view.View!, androidx.recyclerview.widget.RecyclerView.State!, androidx.recyclerview.widget.RecyclerView.SmoothScroller.Action!); + method protected void updateActionForInterimTarget(androidx.recyclerview.widget.RecyclerView.SmoothScroller.Action!); + field public static final int SNAP_TO_ANY = 0; // 0x0 + field public static final int SNAP_TO_END = 1; // 0x1 + field public static final int SNAP_TO_START = -1; // 0xffffffff + field protected final android.view.animation.DecelerateInterpolator! mDecelerateInterpolator; + field protected int mInterimTargetDx; + field protected int mInterimTargetDy; + field protected final android.view.animation.LinearInterpolator! mLinearInterpolator; + field protected android.graphics.PointF! mTargetVector; + } + + public class LinearSnapHelper extends androidx.recyclerview.widget.SnapHelper { + ctor public LinearSnapHelper(); + method public int[]! calculateDistanceToFinalSnap(androidx.recyclerview.widget.RecyclerView.LayoutManager, android.view.View); + method public android.view.View! findSnapView(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public int findTargetSnapPosition(androidx.recyclerview.widget.RecyclerView.LayoutManager!, int, int); + } + + public abstract class ListAdapter<T, VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> extends androidx.recyclerview.widget.RecyclerView.Adapter<VH> { + ctor protected ListAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T!>); + ctor protected ListAdapter(androidx.recyclerview.widget.AsyncDifferConfig<T!>); + method public java.util.List<T!> getCurrentList(); + method protected T! getItem(int); + method public int getItemCount(); + method public void onCurrentListChanged(java.util.List<T!>, java.util.List<T!>); + method public void submitList(java.util.List<T!>?); + method public void submitList(java.util.List<T!>?, Runnable?); + } + + public interface ListUpdateCallback { + method public void onChanged(int, int, Object?); + method public void onInserted(int, int); + method public void onMoved(int, int); + method public void onRemoved(int, int); + } + + public abstract class OrientationHelper { + method public static androidx.recyclerview.widget.OrientationHelper! createHorizontalHelper(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public static androidx.recyclerview.widget.OrientationHelper! createOrientationHelper(androidx.recyclerview.widget.RecyclerView.LayoutManager!, int); + method public static androidx.recyclerview.widget.OrientationHelper! createVerticalHelper(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public abstract int getDecoratedEnd(android.view.View!); + method public abstract int getDecoratedMeasurement(android.view.View!); + method public abstract int getDecoratedMeasurementInOther(android.view.View!); + method public abstract int getDecoratedStart(android.view.View!); + method public abstract int getEnd(); + method public abstract int getEndAfterPadding(); + method public abstract int getEndPadding(); + method public androidx.recyclerview.widget.RecyclerView.LayoutManager! getLayoutManager(); + method public abstract int getMode(); + method public abstract int getModeInOther(); + method public abstract int getStartAfterPadding(); + method public abstract int getTotalSpace(); + method public int getTotalSpaceChange(); + method public abstract int getTransformedEndWithDecoration(android.view.View!); + method public abstract int getTransformedStartWithDecoration(android.view.View!); + method public abstract void offsetChild(android.view.View!, int); + method public abstract void offsetChildren(int); + method public void onLayoutComplete(); + field public static final int HORIZONTAL = 0; // 0x0 + field public static final int VERTICAL = 1; // 0x1 + field protected final androidx.recyclerview.widget.RecyclerView.LayoutManager! mLayoutManager; + } + + public class PagerSnapHelper extends androidx.recyclerview.widget.SnapHelper { + ctor public PagerSnapHelper(); + method public int[]? calculateDistanceToFinalSnap(androidx.recyclerview.widget.RecyclerView.LayoutManager, android.view.View); + method protected androidx.recyclerview.widget.LinearSmoothScroller! createSnapScroller(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public android.view.View? findSnapView(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public int findTargetSnapPosition(androidx.recyclerview.widget.RecyclerView.LayoutManager!, int, int); + } + + public class RecyclerView extends android.view.ViewGroup implements androidx.core.view.NestedScrollingChild2 androidx.core.view.NestedScrollingChild3 androidx.core.view.ScrollingView { + ctor public RecyclerView(android.content.Context); + ctor public RecyclerView(android.content.Context, android.util.AttributeSet?); + ctor public RecyclerView(android.content.Context, android.util.AttributeSet?, int); + method public void addItemDecoration(androidx.recyclerview.widget.RecyclerView.ItemDecoration, int); + method public void addItemDecoration(androidx.recyclerview.widget.RecyclerView.ItemDecoration); + method public void addOnChildAttachStateChangeListener(androidx.recyclerview.widget.RecyclerView.OnChildAttachStateChangeListener); + method public void addOnItemTouchListener(androidx.recyclerview.widget.RecyclerView.OnItemTouchListener); + method public void addOnScrollListener(androidx.recyclerview.widget.RecyclerView.OnScrollListener); + method public void clearOnChildAttachStateChangeListeners(); + method public void clearOnScrollListeners(); + method public int computeHorizontalScrollExtent(); + method public int computeHorizontalScrollOffset(); + method public int computeHorizontalScrollRange(); + method public int computeVerticalScrollExtent(); + method public int computeVerticalScrollOffset(); + method public int computeVerticalScrollRange(); + method public boolean dispatchNestedPreScroll(int, int, int[]!, int[]!, int); + method public boolean dispatchNestedScroll(int, int, int, int, int[]!, int); + method public final void dispatchNestedScroll(int, int, int, int, int[]!, int, int[]); + method public boolean drawChild(android.graphics.Canvas!, android.view.View!, long); + method public android.view.View? findChildViewUnder(float, float); + method public android.view.View? findContainingItemView(android.view.View); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder? findContainingViewHolder(android.view.View); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder? findViewHolderForAdapterPosition(int); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder! findViewHolderForItemId(long); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder? findViewHolderForLayoutPosition(int); + method @Deprecated public androidx.recyclerview.widget.RecyclerView.ViewHolder? findViewHolderForPosition(int); + method public boolean fling(int, int); + method public androidx.recyclerview.widget.RecyclerView.Adapter? getAdapter(); + method public int getChildAdapterPosition(android.view.View); + method public long getChildItemId(android.view.View); + method public int getChildLayoutPosition(android.view.View); + method @Deprecated public int getChildPosition(android.view.View); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder! getChildViewHolder(android.view.View); + method public androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate? getCompatAccessibilityDelegate(); + method public void getDecoratedBoundsWithMargins(android.view.View, android.graphics.Rect); + method public androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory getEdgeEffectFactory(); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator? getItemAnimator(); + method public androidx.recyclerview.widget.RecyclerView.ItemDecoration getItemDecorationAt(int); + method public int getItemDecorationCount(); + method public androidx.recyclerview.widget.RecyclerView.LayoutManager? getLayoutManager(); + method public int getMaxFlingVelocity(); + method public int getMinFlingVelocity(); + method public androidx.recyclerview.widget.RecyclerView.OnFlingListener? getOnFlingListener(); + method public boolean getPreserveFocusAfterLayout(); + method public androidx.recyclerview.widget.RecyclerView.RecycledViewPool getRecycledViewPool(); + method public int getScrollState(); + method public boolean hasFixedSize(); + method public boolean hasNestedScrollingParent(int); + method public boolean hasPendingAdapterUpdates(); + method public void invalidateItemDecorations(); + method public boolean isAnimating(); + method public boolean isComputingLayout(); + method @Deprecated public boolean isLayoutFrozen(); + method public final boolean isLayoutSuppressed(); + method public void offsetChildrenHorizontal(@Px int); + method public void offsetChildrenVertical(@Px int); + method public void onChildAttachedToWindow(android.view.View); + method public void onChildDetachedFromWindow(android.view.View); + method public void onDraw(android.graphics.Canvas!); + method public void onScrollStateChanged(int); + method public void onScrolled(@Px int, @Px int); + method public void removeItemDecoration(androidx.recyclerview.widget.RecyclerView.ItemDecoration); + method public void removeItemDecorationAt(int); + method public void removeOnChildAttachStateChangeListener(androidx.recyclerview.widget.RecyclerView.OnChildAttachStateChangeListener); + method public void removeOnItemTouchListener(androidx.recyclerview.widget.RecyclerView.OnItemTouchListener); + method public void removeOnScrollListener(androidx.recyclerview.widget.RecyclerView.OnScrollListener); + method public void scrollToPosition(int); + method public void setAccessibilityDelegateCompat(androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate?); + method public void setAdapter(androidx.recyclerview.widget.RecyclerView.Adapter?); + method public void setChildDrawingOrderCallback(androidx.recyclerview.widget.RecyclerView.ChildDrawingOrderCallback?); + method public void setEdgeEffectFactory(androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory); + method public void setHasFixedSize(boolean); + method public void setItemAnimator(androidx.recyclerview.widget.RecyclerView.ItemAnimator?); + method public void setItemViewCacheSize(int); + method @Deprecated public void setLayoutFrozen(boolean); + method public void setLayoutManager(androidx.recyclerview.widget.RecyclerView.LayoutManager?); + method @Deprecated public void setLayoutTransition(android.animation.LayoutTransition!); + method public void setOnFlingListener(androidx.recyclerview.widget.RecyclerView.OnFlingListener?); + method @Deprecated public void setOnScrollListener(androidx.recyclerview.widget.RecyclerView.OnScrollListener?); + method public void setPreserveFocusAfterLayout(boolean); + method public void setRecycledViewPool(androidx.recyclerview.widget.RecyclerView.RecycledViewPool?); + method public void setRecyclerListener(androidx.recyclerview.widget.RecyclerView.RecyclerListener?); + method public void setScrollingTouchSlop(int); + method public void setViewCacheExtension(androidx.recyclerview.widget.RecyclerView.ViewCacheExtension?); + method public void smoothScrollBy(@Px int, @Px int); + method public void smoothScrollBy(@Px int, @Px int, android.view.animation.Interpolator?); + method public void smoothScrollBy(@Px int, @Px int, android.view.animation.Interpolator?, int); + method public void smoothScrollToPosition(int); + method public boolean startNestedScroll(int, int); + method public void stopNestedScroll(int); + method public void stopScroll(); + method public final void suppressLayout(boolean); + method public void swapAdapter(androidx.recyclerview.widget.RecyclerView.Adapter?, boolean); + field public static final int HORIZONTAL = 0; // 0x0 + field public static final int INVALID_TYPE = -1; // 0xffffffff + field public static final long NO_ID = -1L; // 0xffffffffffffffffL + field public static final int NO_POSITION = -1; // 0xffffffff + field public static final int SCROLL_STATE_DRAGGING = 1; // 0x1 + field public static final int SCROLL_STATE_IDLE = 0; // 0x0 + field public static final int SCROLL_STATE_SETTLING = 2; // 0x2 + field public static final int TOUCH_SLOP_DEFAULT = 0; // 0x0 + field public static final int TOUCH_SLOP_PAGING = 1; // 0x1 + field public static final int UNDEFINED_DURATION = -2147483648; // 0x80000000 + field public static final int VERTICAL = 1; // 0x1 + } + + public abstract static class RecyclerView.Adapter<VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> { + ctor public RecyclerView.Adapter(); + method public final void bindViewHolder(VH, int); + method public final VH createViewHolder(android.view.ViewGroup, int); + method public abstract int getItemCount(); + method public long getItemId(int); + method public int getItemViewType(int); + method public final boolean hasObservers(); + method public final boolean hasStableIds(); + method public final void notifyDataSetChanged(); + method public final void notifyItemChanged(int); + method public final void notifyItemChanged(int, Object?); + method public final void notifyItemInserted(int); + method public final void notifyItemMoved(int, int); + method public final void notifyItemRangeChanged(int, int); + method public final void notifyItemRangeChanged(int, int, Object?); + method public final void notifyItemRangeInserted(int, int); + method public final void notifyItemRangeRemoved(int, int); + method public final void notifyItemRemoved(int); + method public void onAttachedToRecyclerView(androidx.recyclerview.widget.RecyclerView); + method public abstract void onBindViewHolder(VH, int); + method public void onBindViewHolder(VH, int, java.util.List<java.lang.Object!>); + method public abstract VH onCreateViewHolder(android.view.ViewGroup, int); + method public void onDetachedFromRecyclerView(androidx.recyclerview.widget.RecyclerView); + method public boolean onFailedToRecycleView(VH); + method public void onViewAttachedToWindow(VH); + method public void onViewDetachedFromWindow(VH); + method public void onViewRecycled(VH); + method public void registerAdapterDataObserver(androidx.recyclerview.widget.RecyclerView.AdapterDataObserver); + method public void setHasStableIds(boolean); + method public void unregisterAdapterDataObserver(androidx.recyclerview.widget.RecyclerView.AdapterDataObserver); + } + + public abstract static class RecyclerView.AdapterDataObserver { + ctor public RecyclerView.AdapterDataObserver(); + method public void onChanged(); + method public void onItemRangeChanged(int, int); + method public void onItemRangeChanged(int, int, Object?); + method public void onItemRangeInserted(int, int); + method public void onItemRangeMoved(int, int, int); + method public void onItemRangeRemoved(int, int); + } + + public static interface RecyclerView.ChildDrawingOrderCallback { + method public int onGetChildDrawingOrder(int, int); + } + + public static class RecyclerView.EdgeEffectFactory { + ctor public RecyclerView.EdgeEffectFactory(); + method protected android.widget.EdgeEffect createEdgeEffect(androidx.recyclerview.widget.RecyclerView, @androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory.EdgeDirection int); + field public static final int DIRECTION_BOTTOM = 3; // 0x3 + field public static final int DIRECTION_LEFT = 0; // 0x0 + field public static final int DIRECTION_RIGHT = 2; // 0x2 + field public static final int DIRECTION_TOP = 1; // 0x1 + } + + @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @IntDef({androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory.DIRECTION_LEFT, androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory.DIRECTION_TOP, androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory.DIRECTION_RIGHT, androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory.DIRECTION_BOTTOM}) public static @interface RecyclerView.EdgeEffectFactory.EdgeDirection { + } + + public abstract static class RecyclerView.ItemAnimator { + ctor public RecyclerView.ItemAnimator(); + method public abstract boolean animateAppearance(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo?, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public abstract boolean animateChange(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public abstract boolean animateDisappearance(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo?); + method public abstract boolean animatePersistence(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public boolean canReuseUpdatedViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public boolean canReuseUpdatedViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder, java.util.List<java.lang.Object!>); + method public final void dispatchAnimationFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public final void dispatchAnimationStarted(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public final void dispatchAnimationsFinished(); + method public abstract void endAnimation(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public abstract void endAnimations(); + method public long getAddDuration(); + method public long getChangeDuration(); + method public long getMoveDuration(); + method public long getRemoveDuration(); + method public abstract boolean isRunning(); + method public final boolean isRunning(androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemAnimatorFinishedListener?); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo obtainHolderInfo(); + method public void onAnimationFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public void onAnimationStarted(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo recordPostLayoutInformation(androidx.recyclerview.widget.RecyclerView.State, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo recordPreLayoutInformation(androidx.recyclerview.widget.RecyclerView.State, androidx.recyclerview.widget.RecyclerView.ViewHolder, @androidx.recyclerview.widget.RecyclerView.ItemAnimator.AdapterChanges int, java.util.List<java.lang.Object!>); + method public abstract void runPendingAnimations(); + method public void setAddDuration(long); + method public void setChangeDuration(long); + method public void setMoveDuration(long); + method public void setRemoveDuration(long); + field public static final int FLAG_APPEARED_IN_PRE_LAYOUT = 4096; // 0x1000 + field public static final int FLAG_CHANGED = 2; // 0x2 + field public static final int FLAG_INVALIDATED = 4; // 0x4 + field public static final int FLAG_MOVED = 2048; // 0x800 + field public static final int FLAG_REMOVED = 8; // 0x8 + } + + @IntDef(flag=true, value={androidx.recyclerview.widget.RecyclerView.ItemAnimator.FLAG_CHANGED, androidx.recyclerview.widget.RecyclerView.ItemAnimator.FLAG_REMOVED, androidx.recyclerview.widget.RecyclerView.ItemAnimator.FLAG_MOVED, androidx.recyclerview.widget.RecyclerView.ItemAnimator.FLAG_INVALIDATED, androidx.recyclerview.widget.RecyclerView.ItemAnimator.FLAG_APPEARED_IN_PRE_LAYOUT}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface RecyclerView.ItemAnimator.AdapterChanges { + } + + public static interface RecyclerView.ItemAnimator.ItemAnimatorFinishedListener { + method public void onAnimationsFinished(); + } + + public static class RecyclerView.ItemAnimator.ItemHolderInfo { + ctor public RecyclerView.ItemAnimator.ItemHolderInfo(); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo setFrom(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo setFrom(androidx.recyclerview.widget.RecyclerView.ViewHolder, @androidx.recyclerview.widget.RecyclerView.ItemAnimator.AdapterChanges int); + field public int bottom; + field @androidx.recyclerview.widget.RecyclerView.ItemAnimator.AdapterChanges public int changeFlags; + field public int left; + field public int right; + field public int top; + } + + public abstract static class RecyclerView.ItemDecoration { + ctor public RecyclerView.ItemDecoration(); + method @Deprecated public void getItemOffsets(android.graphics.Rect, int, androidx.recyclerview.widget.RecyclerView); + method public void getItemOffsets(android.graphics.Rect, android.view.View, androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.State); + method public void onDraw(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.State); + method @Deprecated public void onDraw(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView); + method public void onDrawOver(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.State); + method @Deprecated public void onDrawOver(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView); + } + + public abstract static class RecyclerView.LayoutManager { + ctor public RecyclerView.LayoutManager(); + method public void addDisappearingView(android.view.View!); + method public void addDisappearingView(android.view.View!, int); + method public void addView(android.view.View!); + method public void addView(android.view.View!, int); + method public void assertInLayoutOrScroll(String!); + method public void assertNotInLayoutOrScroll(String!); + method public void attachView(android.view.View, int, androidx.recyclerview.widget.RecyclerView.LayoutParams!); + method public void attachView(android.view.View, int); + method public void attachView(android.view.View); + method public void calculateItemDecorationsForChild(android.view.View, android.graphics.Rect); + method public boolean canScrollHorizontally(); + method public boolean canScrollVertically(); + method public boolean checkLayoutParams(androidx.recyclerview.widget.RecyclerView.LayoutParams!); + method public static int chooseSize(int, int, int); + method public void collectAdjacentPrefetchPositions(int, int, androidx.recyclerview.widget.RecyclerView.State!, androidx.recyclerview.widget.RecyclerView.LayoutManager.LayoutPrefetchRegistry!); + method public void collectInitialPrefetchPositions(int, androidx.recyclerview.widget.RecyclerView.LayoutManager.LayoutPrefetchRegistry!); + method public int computeHorizontalScrollExtent(androidx.recyclerview.widget.RecyclerView.State); + method public int computeHorizontalScrollOffset(androidx.recyclerview.widget.RecyclerView.State); + method public int computeHorizontalScrollRange(androidx.recyclerview.widget.RecyclerView.State); + method public int computeVerticalScrollExtent(androidx.recyclerview.widget.RecyclerView.State); + method public int computeVerticalScrollOffset(androidx.recyclerview.widget.RecyclerView.State); + method public int computeVerticalScrollRange(androidx.recyclerview.widget.RecyclerView.State); + method public void detachAndScrapAttachedViews(androidx.recyclerview.widget.RecyclerView.Recycler); + method public void detachAndScrapView(android.view.View, androidx.recyclerview.widget.RecyclerView.Recycler); + method public void detachAndScrapViewAt(int, androidx.recyclerview.widget.RecyclerView.Recycler); + method public void detachView(android.view.View); + method public void detachViewAt(int); + method public void endAnimation(android.view.View!); + method public android.view.View? findContainingItemView(android.view.View); + method public android.view.View? findViewByPosition(int); + method public abstract androidx.recyclerview.widget.RecyclerView.LayoutParams! generateDefaultLayoutParams(); + method public androidx.recyclerview.widget.RecyclerView.LayoutParams! generateLayoutParams(android.view.ViewGroup.LayoutParams!); + method public androidx.recyclerview.widget.RecyclerView.LayoutParams! generateLayoutParams(android.content.Context!, android.util.AttributeSet!); + method public int getBaseline(); + method public int getBottomDecorationHeight(android.view.View); + method public android.view.View? getChildAt(int); + method public int getChildCount(); + method @Deprecated public static int getChildMeasureSpec(int, int, int, boolean); + method public static int getChildMeasureSpec(int, int, int, int, boolean); + method public boolean getClipToPadding(); + method public int getColumnCountForAccessibility(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State); + method public int getDecoratedBottom(android.view.View); + method public void getDecoratedBoundsWithMargins(android.view.View, android.graphics.Rect); + method public int getDecoratedLeft(android.view.View); + method public int getDecoratedMeasuredHeight(android.view.View); + method public int getDecoratedMeasuredWidth(android.view.View); + method public int getDecoratedRight(android.view.View); + method public int getDecoratedTop(android.view.View); + method public android.view.View? getFocusedChild(); + method @Px public int getHeight(); + method public int getHeightMode(); + method public int getItemCount(); + method public int getItemViewType(android.view.View); + method public int getLayoutDirection(); + method public int getLeftDecorationWidth(android.view.View); + method @Px public int getMinimumHeight(); + method @Px public int getMinimumWidth(); + method @Px public int getPaddingBottom(); + method @Px public int getPaddingEnd(); + method @Px public int getPaddingLeft(); + method @Px public int getPaddingRight(); + method @Px public int getPaddingStart(); + method @Px public int getPaddingTop(); + method public int getPosition(android.view.View); + method public static androidx.recyclerview.widget.RecyclerView.LayoutManager.Properties! getProperties(android.content.Context, android.util.AttributeSet?, int, int); + method public int getRightDecorationWidth(android.view.View); + method public int getRowCountForAccessibility(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State); + method public int getSelectionModeForAccessibility(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State); + method public int getTopDecorationHeight(android.view.View); + method public void getTransformedBoundingBox(android.view.View, boolean, android.graphics.Rect); + method @Px public int getWidth(); + method public int getWidthMode(); + method public boolean hasFocus(); + method public void ignoreView(android.view.View); + method public boolean isAttachedToWindow(); + method public boolean isAutoMeasureEnabled(); + method public boolean isFocused(); + method public final boolean isItemPrefetchEnabled(); + method public boolean isLayoutHierarchical(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State); + method public boolean isMeasurementCacheEnabled(); + method public boolean isSmoothScrolling(); + method public boolean isViewPartiallyVisible(android.view.View, boolean, boolean); + method public void layoutDecorated(android.view.View, int, int, int, int); + method public void layoutDecoratedWithMargins(android.view.View, int, int, int, int); + method public void measureChild(android.view.View, int, int); + method public void measureChildWithMargins(android.view.View, int, int); + method public void moveView(int, int); + method public void offsetChildrenHorizontal(@Px int); + method public void offsetChildrenVertical(@Px int); + method public void onAdapterChanged(androidx.recyclerview.widget.RecyclerView.Adapter?, androidx.recyclerview.widget.RecyclerView.Adapter?); + method public boolean onAddFocusables(androidx.recyclerview.widget.RecyclerView, java.util.ArrayList<android.view.View!>, int, int); + method @CallSuper public void onAttachedToWindow(androidx.recyclerview.widget.RecyclerView!); + method @Deprecated public void onDetachedFromWindow(androidx.recyclerview.widget.RecyclerView!); + method @CallSuper public void onDetachedFromWindow(androidx.recyclerview.widget.RecyclerView!, androidx.recyclerview.widget.RecyclerView.Recycler!); + method public android.view.View? onFocusSearchFailed(android.view.View, int, androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State); + method public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent); + method public void onInitializeAccessibilityEvent(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, android.view.accessibility.AccessibilityEvent); + method public void onInitializeAccessibilityNodeInfo(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, androidx.core.view.accessibility.AccessibilityNodeInfoCompat); + method public void onInitializeAccessibilityNodeInfoForItem(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, android.view.View, androidx.core.view.accessibility.AccessibilityNodeInfoCompat); + method public android.view.View? onInterceptFocusSearch(android.view.View, int); + method public void onItemsAdded(androidx.recyclerview.widget.RecyclerView, int, int); + method public void onItemsChanged(androidx.recyclerview.widget.RecyclerView); + method public void onItemsMoved(androidx.recyclerview.widget.RecyclerView, int, int, int); + method public void onItemsRemoved(androidx.recyclerview.widget.RecyclerView, int, int); + method public void onItemsUpdated(androidx.recyclerview.widget.RecyclerView, int, int); + method public void onItemsUpdated(androidx.recyclerview.widget.RecyclerView, int, int, Object?); + method public void onLayoutChildren(androidx.recyclerview.widget.RecyclerView.Recycler!, androidx.recyclerview.widget.RecyclerView.State!); + method public void onLayoutCompleted(androidx.recyclerview.widget.RecyclerView.State!); + method public void onMeasure(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, int, int); + method @Deprecated public boolean onRequestChildFocus(androidx.recyclerview.widget.RecyclerView, android.view.View, android.view.View?); + method public boolean onRequestChildFocus(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.State, android.view.View, android.view.View?); + method public void onRestoreInstanceState(android.os.Parcelable!); + method public android.os.Parcelable? onSaveInstanceState(); + method public void onScrollStateChanged(int); + method public boolean performAccessibilityAction(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, int, android.os.Bundle?); + method public boolean performAccessibilityActionForItem(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, android.view.View, int, android.os.Bundle?); + method public void postOnAnimation(Runnable!); + method public void removeAllViews(); + method public void removeAndRecycleAllViews(androidx.recyclerview.widget.RecyclerView.Recycler); + method public void removeAndRecycleView(android.view.View, androidx.recyclerview.widget.RecyclerView.Recycler); + method public void removeAndRecycleViewAt(int, androidx.recyclerview.widget.RecyclerView.Recycler); + method public boolean removeCallbacks(Runnable!); + method public void removeDetachedView(android.view.View); + method public void removeView(android.view.View!); + method public void removeViewAt(int); + method public boolean requestChildRectangleOnScreen(androidx.recyclerview.widget.RecyclerView, android.view.View, android.graphics.Rect, boolean); + method public boolean requestChildRectangleOnScreen(androidx.recyclerview.widget.RecyclerView, android.view.View, android.graphics.Rect, boolean, boolean); + method public void requestLayout(); + method public void requestSimpleAnimationsInNextLayout(); + method public int scrollHorizontallyBy(int, androidx.recyclerview.widget.RecyclerView.Recycler!, androidx.recyclerview.widget.RecyclerView.State!); + method public void scrollToPosition(int); + method public int scrollVerticallyBy(int, androidx.recyclerview.widget.RecyclerView.Recycler!, androidx.recyclerview.widget.RecyclerView.State!); + method @Deprecated public void setAutoMeasureEnabled(boolean); + method public final void setItemPrefetchEnabled(boolean); + method public void setMeasuredDimension(android.graphics.Rect!, int, int); + method public void setMeasuredDimension(int, int); + method public void setMeasurementCacheEnabled(boolean); + method public void smoothScrollToPosition(androidx.recyclerview.widget.RecyclerView!, androidx.recyclerview.widget.RecyclerView.State!, int); + method public void startSmoothScroll(androidx.recyclerview.widget.RecyclerView.SmoothScroller!); + method public void stopIgnoringView(android.view.View); + method public boolean supportsPredictiveItemAnimations(); + } + + public static interface RecyclerView.LayoutManager.LayoutPrefetchRegistry { + method public void addPosition(int, int); + } + + public static class RecyclerView.LayoutManager.Properties { + ctor public RecyclerView.LayoutManager.Properties(); + field public int orientation; + field public boolean reverseLayout; + field public int spanCount; + field public boolean stackFromEnd; + } + + public static class RecyclerView.LayoutParams extends android.view.ViewGroup.MarginLayoutParams { + ctor public RecyclerView.LayoutParams(android.content.Context!, android.util.AttributeSet!); + ctor public RecyclerView.LayoutParams(int, int); + ctor public RecyclerView.LayoutParams(android.view.ViewGroup.MarginLayoutParams!); + ctor public RecyclerView.LayoutParams(android.view.ViewGroup.LayoutParams!); + ctor public RecyclerView.LayoutParams(androidx.recyclerview.widget.RecyclerView.LayoutParams!); + method public int getViewAdapterPosition(); + method public int getViewLayoutPosition(); + method @Deprecated public int getViewPosition(); + method public boolean isItemChanged(); + method public boolean isItemRemoved(); + method public boolean isViewInvalid(); + method public boolean viewNeedsUpdate(); + } + + public static interface RecyclerView.OnChildAttachStateChangeListener { + method public void onChildViewAttachedToWindow(android.view.View); + method public void onChildViewDetachedFromWindow(android.view.View); + } + + public abstract static class RecyclerView.OnFlingListener { + ctor public RecyclerView.OnFlingListener(); + method public abstract boolean onFling(int, int); + } + + public static interface RecyclerView.OnItemTouchListener { + method public boolean onInterceptTouchEvent(androidx.recyclerview.widget.RecyclerView, android.view.MotionEvent); + method public void onRequestDisallowInterceptTouchEvent(boolean); + method public void onTouchEvent(androidx.recyclerview.widget.RecyclerView, android.view.MotionEvent); + } + + public abstract static class RecyclerView.OnScrollListener { + ctor public RecyclerView.OnScrollListener(); + method public void onScrollStateChanged(androidx.recyclerview.widget.RecyclerView, int); + method public void onScrolled(androidx.recyclerview.widget.RecyclerView, int, int); + } + + public static class RecyclerView.RecycledViewPool { + ctor public RecyclerView.RecycledViewPool(); + method public void clear(); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder? getRecycledView(int); + method public int getRecycledViewCount(int); + method public void putRecycledView(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void setMaxRecycledViews(int, int); + } + + public final class RecyclerView.Recycler { + ctor public RecyclerView.Recycler(); + method public void bindViewToPosition(android.view.View, int); + method public void clear(); + method public int convertPreLayoutPositionToPostLayout(int); + method public java.util.List<androidx.recyclerview.widget.RecyclerView.ViewHolder!> getScrapList(); + method public android.view.View getViewForPosition(int); + method public void recycleView(android.view.View); + method public void setViewCacheSize(int); + } + + public static interface RecyclerView.RecyclerListener { + method public void onViewRecycled(androidx.recyclerview.widget.RecyclerView.ViewHolder); + } + + public static class RecyclerView.SimpleOnItemTouchListener implements androidx.recyclerview.widget.RecyclerView.OnItemTouchListener { + ctor public RecyclerView.SimpleOnItemTouchListener(); + method public boolean onInterceptTouchEvent(androidx.recyclerview.widget.RecyclerView, android.view.MotionEvent); + method public void onRequestDisallowInterceptTouchEvent(boolean); + method public void onTouchEvent(androidx.recyclerview.widget.RecyclerView, android.view.MotionEvent); + } + + public abstract static class RecyclerView.SmoothScroller { + ctor public RecyclerView.SmoothScroller(); + method public android.graphics.PointF? computeScrollVectorForPosition(int); + method public android.view.View! findViewByPosition(int); + method public int getChildCount(); + method public int getChildPosition(android.view.View!); + method public androidx.recyclerview.widget.RecyclerView.LayoutManager? getLayoutManager(); + method public int getTargetPosition(); + method @Deprecated public void instantScrollToPosition(int); + method public boolean isPendingInitialRun(); + method public boolean isRunning(); + method protected void normalize(android.graphics.PointF); + method protected void onChildAttachedToWindow(android.view.View!); + method protected abstract void onSeekTargetStep(@Px int, @Px int, androidx.recyclerview.widget.RecyclerView.State, androidx.recyclerview.widget.RecyclerView.SmoothScroller.Action); + method protected abstract void onStart(); + method protected abstract void onStop(); + method protected abstract void onTargetFound(android.view.View, androidx.recyclerview.widget.RecyclerView.State, androidx.recyclerview.widget.RecyclerView.SmoothScroller.Action); + method public void setTargetPosition(int); + method protected final void stop(); + } + + public static class RecyclerView.SmoothScroller.Action { + ctor public RecyclerView.SmoothScroller.Action(@Px int, @Px int); + ctor public RecyclerView.SmoothScroller.Action(@Px int, @Px int, int); + ctor public RecyclerView.SmoothScroller.Action(@Px int, @Px int, int, android.view.animation.Interpolator?); + method public int getDuration(); + method @Px public int getDx(); + method @Px public int getDy(); + method public android.view.animation.Interpolator? getInterpolator(); + method public void jumpTo(int); + method public void setDuration(int); + method public void setDx(@Px int); + method public void setDy(@Px int); + method public void setInterpolator(android.view.animation.Interpolator?); + method public void update(@Px int, @Px int, int, android.view.animation.Interpolator?); + field public static final int UNDEFINED_DURATION = -2147483648; // 0x80000000 + } + + public static interface RecyclerView.SmoothScroller.ScrollVectorProvider { + method public android.graphics.PointF? computeScrollVectorForPosition(int); + } + + public static class RecyclerView.State { + ctor public RecyclerView.State(); + method public boolean didStructureChange(); + method public <T> T! get(int); + method public int getItemCount(); + method public int getRemainingScrollHorizontal(); + method public int getRemainingScrollVertical(); + method public int getTargetScrollPosition(); + method public boolean hasTargetScrollPosition(); + method public boolean isMeasuring(); + method public boolean isPreLayout(); + method public void put(int, Object!); + method public void remove(int); + method public boolean willRunPredictiveAnimations(); + method public boolean willRunSimpleAnimations(); + } + + public abstract static class RecyclerView.ViewCacheExtension { + ctor public RecyclerView.ViewCacheExtension(); + method public abstract android.view.View? getViewForPositionAndType(androidx.recyclerview.widget.RecyclerView.Recycler, int, int); + } + + public abstract static class RecyclerView.ViewHolder { + ctor public RecyclerView.ViewHolder(android.view.View); + method public final int getAdapterPosition(); + method public final long getItemId(); + method public final int getItemViewType(); + method public final int getLayoutPosition(); + method public final int getOldPosition(); + method @Deprecated public final int getPosition(); + method public final boolean isRecyclable(); + method public final void setIsRecyclable(boolean); + field public final android.view.View itemView; + } + + public class RecyclerViewAccessibilityDelegate extends androidx.core.view.AccessibilityDelegateCompat { + ctor public RecyclerViewAccessibilityDelegate(androidx.recyclerview.widget.RecyclerView); + method public androidx.core.view.AccessibilityDelegateCompat getItemDelegate(); + } + + public static class RecyclerViewAccessibilityDelegate.ItemDelegate extends androidx.core.view.AccessibilityDelegateCompat { + ctor public RecyclerViewAccessibilityDelegate.ItemDelegate(androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate); + } + + public abstract class SimpleItemAnimator extends androidx.recyclerview.widget.RecyclerView.ItemAnimator { + ctor public SimpleItemAnimator(); + method public abstract boolean animateAdd(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public boolean animateAppearance(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo?, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public boolean animateChange(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public abstract boolean animateChange(androidx.recyclerview.widget.RecyclerView.ViewHolder!, androidx.recyclerview.widget.RecyclerView.ViewHolder!, int, int, int, int); + method public boolean animateDisappearance(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo?); + method public abstract boolean animateMove(androidx.recyclerview.widget.RecyclerView.ViewHolder!, int, int, int, int); + method public boolean animatePersistence(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public abstract boolean animateRemove(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchAddFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchAddStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchChangeFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!, boolean); + method public final void dispatchChangeStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!, boolean); + method public final void dispatchMoveFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchMoveStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchRemoveFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchRemoveStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public boolean getSupportsChangeAnimations(); + method public void onAddFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void onAddStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void onChangeFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!, boolean); + method public void onChangeStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!, boolean); + method public void onMoveFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void onMoveStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void onRemoveFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void onRemoveStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void setSupportsChangeAnimations(boolean); + } + + public abstract class SnapHelper extends androidx.recyclerview.widget.RecyclerView.OnFlingListener { + ctor public SnapHelper(); + method public void attachToRecyclerView(androidx.recyclerview.widget.RecyclerView?) throws java.lang.IllegalStateException; + method public abstract int[]? calculateDistanceToFinalSnap(androidx.recyclerview.widget.RecyclerView.LayoutManager, android.view.View); + method public int[]! calculateScrollDistance(int, int); + method protected androidx.recyclerview.widget.RecyclerView.SmoothScroller? createScroller(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method @Deprecated protected androidx.recyclerview.widget.LinearSmoothScroller? createSnapScroller(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public abstract android.view.View? findSnapView(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public abstract int findTargetSnapPosition(androidx.recyclerview.widget.RecyclerView.LayoutManager!, int, int); + method public boolean onFling(int, int); + } + + public class SortedList<T> { + ctor public SortedList(Class<T!>, androidx.recyclerview.widget.SortedList.Callback<T!>); + ctor public SortedList(Class<T!>, androidx.recyclerview.widget.SortedList.Callback<T!>, int); + method public int add(T!); + method public void addAll(T![], boolean); + method public void addAll(T!...); + method public void addAll(java.util.Collection<T!>); + method public void beginBatchedUpdates(); + method public void clear(); + method public void endBatchedUpdates(); + method public T! get(int) throws java.lang.IndexOutOfBoundsException; + method public int indexOf(T!); + method public void recalculatePositionOfItemAt(int); + method public boolean remove(T!); + method public T! removeItemAt(int); + method public void replaceAll(T![], boolean); + method public void replaceAll(T!...); + method public void replaceAll(java.util.Collection<T!>); + method public int size(); + method public void updateItemAt(int, T!); + field public static final int INVALID_POSITION = -1; // 0xffffffff + } + + public static class SortedList.BatchedCallback<T2> extends androidx.recyclerview.widget.SortedList.Callback<T2> { + ctor public SortedList.BatchedCallback(androidx.recyclerview.widget.SortedList.Callback<T2!>!); + method public boolean areContentsTheSame(T2!, T2!); + method public boolean areItemsTheSame(T2!, T2!); + method public int compare(T2!, T2!); + method public void dispatchLastEvent(); + method public void onChanged(int, int); + method public void onInserted(int, int); + method public void onMoved(int, int); + method public void onRemoved(int, int); + } + + public abstract static class SortedList.Callback<T2> implements java.util.Comparator<T2> androidx.recyclerview.widget.ListUpdateCallback { + ctor public SortedList.Callback(); + method public abstract boolean areContentsTheSame(T2!, T2!); + method public abstract boolean areItemsTheSame(T2!, T2!); + method public abstract int compare(T2!, T2!); + method public Object? getChangePayload(T2!, T2!); + method public abstract void onChanged(int, int); + method public void onChanged(int, int, Object!); + } + + public abstract class SortedListAdapterCallback<T2> extends androidx.recyclerview.widget.SortedList.Callback<T2> { + ctor public SortedListAdapterCallback(androidx.recyclerview.widget.RecyclerView.Adapter!); + method public void onChanged(int, int); + method public void onInserted(int, int); + method public void onMoved(int, int); + method public void onRemoved(int, int); + } + + public class StaggeredGridLayoutManager extends androidx.recyclerview.widget.RecyclerView.LayoutManager implements androidx.recyclerview.widget.RecyclerView.SmoothScroller.ScrollVectorProvider { + ctor public StaggeredGridLayoutManager(android.content.Context!, android.util.AttributeSet!, int, int); + ctor public StaggeredGridLayoutManager(int, int); + method public android.graphics.PointF! computeScrollVectorForPosition(int); + method public int[]! findFirstCompletelyVisibleItemPositions(int[]!); + method public int[]! findFirstVisibleItemPositions(int[]!); + method public int[]! findLastCompletelyVisibleItemPositions(int[]!); + method public int[]! findLastVisibleItemPositions(int[]!); + method public androidx.recyclerview.widget.RecyclerView.LayoutParams! generateDefaultLayoutParams(); + method public int getGapStrategy(); + method public int getOrientation(); + method public boolean getReverseLayout(); + method public int getSpanCount(); + method public void invalidateSpanAssignments(); + method public void scrollToPositionWithOffset(int, int); + method public void setGapStrategy(int); + method public void setOrientation(int); + method public void setReverseLayout(boolean); + method public void setSpanCount(int); + field @Deprecated public static final int GAP_HANDLING_LAZY = 1; // 0x1 + field public static final int GAP_HANDLING_MOVE_ITEMS_BETWEEN_SPANS = 2; // 0x2 + field public static final int GAP_HANDLING_NONE = 0; // 0x0 + field public static final int HORIZONTAL = 0; // 0x0 + field public static final int VERTICAL = 1; // 0x1 + } + + public static class StaggeredGridLayoutManager.LayoutParams extends androidx.recyclerview.widget.RecyclerView.LayoutParams { + ctor public StaggeredGridLayoutManager.LayoutParams(android.content.Context!, android.util.AttributeSet!); + ctor public StaggeredGridLayoutManager.LayoutParams(int, int); + ctor public StaggeredGridLayoutManager.LayoutParams(android.view.ViewGroup.MarginLayoutParams!); + ctor public StaggeredGridLayoutManager.LayoutParams(android.view.ViewGroup.LayoutParams!); + ctor public StaggeredGridLayoutManager.LayoutParams(androidx.recyclerview.widget.RecyclerView.LayoutParams!); + method public final int getSpanIndex(); + method public boolean isFullSpan(); + method public void setFullSpan(boolean); + field public static final int INVALID_SPAN_ID = -1; // 0xffffffff + } + +} + diff --git a/recyclerview/recyclerview/api/public_plus_experimental_1.1.0.txt b/recyclerview/recyclerview/api/public_plus_experimental_1.1.0.txt new file mode 100644 index 00000000000..2e41ff17ea7 --- /dev/null +++ b/recyclerview/recyclerview/api/public_plus_experimental_1.1.0.txt @@ -0,0 +1,1037 @@ +// Signature format: 3.0 +package androidx.recyclerview.widget { + + public final class AdapterListUpdateCallback implements androidx.recyclerview.widget.ListUpdateCallback { + ctor public AdapterListUpdateCallback(androidx.recyclerview.widget.RecyclerView.Adapter); + method public void onChanged(int, int, Object!); + method public void onInserted(int, int); + method public void onMoved(int, int); + method public void onRemoved(int, int); + } + + public final class AsyncDifferConfig<T> { + method public java.util.concurrent.Executor getBackgroundThreadExecutor(); + method public androidx.recyclerview.widget.DiffUtil.ItemCallback<T!> getDiffCallback(); + } + + public static final class AsyncDifferConfig.Builder<T> { + ctor public AsyncDifferConfig.Builder(androidx.recyclerview.widget.DiffUtil.ItemCallback<T!>); + method public androidx.recyclerview.widget.AsyncDifferConfig<T!> build(); + method public androidx.recyclerview.widget.AsyncDifferConfig.Builder<T!> setBackgroundThreadExecutor(java.util.concurrent.Executor!); + } + + public class AsyncListDiffer<T> { + ctor public AsyncListDiffer(androidx.recyclerview.widget.RecyclerView.Adapter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T!>); + ctor public AsyncListDiffer(androidx.recyclerview.widget.ListUpdateCallback, androidx.recyclerview.widget.AsyncDifferConfig<T!>); + method public void addListListener(androidx.recyclerview.widget.AsyncListDiffer.ListListener<T!>); + method public java.util.List<T!> getCurrentList(); + method public void removeListListener(androidx.recyclerview.widget.AsyncListDiffer.ListListener<T!>); + method public void submitList(java.util.List<T!>?); + method public void submitList(java.util.List<T!>?, Runnable?); + } + + public static interface AsyncListDiffer.ListListener<T> { + method public void onCurrentListChanged(java.util.List<T!>, java.util.List<T!>); + } + + public class AsyncListUtil<T> { + ctor public AsyncListUtil(Class<T!>, int, androidx.recyclerview.widget.AsyncListUtil.DataCallback<T!>, androidx.recyclerview.widget.AsyncListUtil.ViewCallback); + method public T? getItem(int); + method public int getItemCount(); + method public void onRangeChanged(); + method public void refresh(); + } + + public abstract static class AsyncListUtil.DataCallback<T> { + ctor public AsyncListUtil.DataCallback(); + method @WorkerThread public abstract void fillData(T![], int, int); + method @WorkerThread public int getMaxCachedTiles(); + method @WorkerThread public void recycleData(T![], int); + method @WorkerThread public abstract int refreshData(); + } + + public abstract static class AsyncListUtil.ViewCallback { + ctor public AsyncListUtil.ViewCallback(); + method @UiThread public void extendRangeInto(int[], int[], int); + method @UiThread public abstract void getItemRangeInto(int[]); + method @UiThread public abstract void onDataRefresh(); + method @UiThread public abstract void onItemLoaded(int); + field public static final int HINT_SCROLL_ASC = 2; // 0x2 + field public static final int HINT_SCROLL_DESC = 1; // 0x1 + field public static final int HINT_SCROLL_NONE = 0; // 0x0 + } + + public class BatchingListUpdateCallback implements androidx.recyclerview.widget.ListUpdateCallback { + ctor public BatchingListUpdateCallback(androidx.recyclerview.widget.ListUpdateCallback); + method public void dispatchLastEvent(); + method public void onChanged(int, int, Object!); + method public void onInserted(int, int); + method public void onMoved(int, int); + method public void onRemoved(int, int); + } + + public class DefaultItemAnimator extends androidx.recyclerview.widget.SimpleItemAnimator { + ctor public DefaultItemAnimator(); + method public boolean animateAdd(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public boolean animateChange(androidx.recyclerview.widget.RecyclerView.ViewHolder!, androidx.recyclerview.widget.RecyclerView.ViewHolder!, int, int, int, int); + method public boolean animateMove(androidx.recyclerview.widget.RecyclerView.ViewHolder!, int, int, int, int); + method public boolean animateRemove(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void endAnimation(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void endAnimations(); + method public boolean isRunning(); + method public void runPendingAnimations(); + } + + public class DiffUtil { + method public static androidx.recyclerview.widget.DiffUtil.DiffResult calculateDiff(androidx.recyclerview.widget.DiffUtil.Callback); + method public static androidx.recyclerview.widget.DiffUtil.DiffResult calculateDiff(androidx.recyclerview.widget.DiffUtil.Callback, boolean); + } + + public abstract static class DiffUtil.Callback { + ctor public DiffUtil.Callback(); + method public abstract boolean areContentsTheSame(int, int); + method public abstract boolean areItemsTheSame(int, int); + method public Object? getChangePayload(int, int); + method public abstract int getNewListSize(); + method public abstract int getOldListSize(); + } + + public static class DiffUtil.DiffResult { + method public int convertNewPositionToOld(@IntRange(from=0) int); + method public int convertOldPositionToNew(@IntRange(from=0) int); + method public void dispatchUpdatesTo(androidx.recyclerview.widget.RecyclerView.Adapter); + method public void dispatchUpdatesTo(androidx.recyclerview.widget.ListUpdateCallback); + field public static final int NO_POSITION = -1; // 0xffffffff + } + + public abstract static class DiffUtil.ItemCallback<T> { + ctor public DiffUtil.ItemCallback(); + method public abstract boolean areContentsTheSame(T, T); + method public abstract boolean areItemsTheSame(T, T); + method public Object? getChangePayload(T, T); + } + + public class DividerItemDecoration extends androidx.recyclerview.widget.RecyclerView.ItemDecoration { + ctor public DividerItemDecoration(android.content.Context!, int); + method public android.graphics.drawable.Drawable? getDrawable(); + method public void setDrawable(android.graphics.drawable.Drawable); + method public void setOrientation(int); + field public static final int HORIZONTAL = 0; // 0x0 + field public static final int VERTICAL = 1; // 0x1 + } + + public class GridLayoutManager extends androidx.recyclerview.widget.LinearLayoutManager { + ctor public GridLayoutManager(android.content.Context!, android.util.AttributeSet!, int, int); + ctor public GridLayoutManager(android.content.Context!, int); + ctor public GridLayoutManager(android.content.Context!, int, int, boolean); + method public int getSpanCount(); + method public androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup! getSpanSizeLookup(); + method public boolean isUsingSpansToEstimateScrollbarDimensions(); + method public void setSpanCount(int); + method public void setSpanSizeLookup(androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup!); + method public void setUsingSpansToEstimateScrollbarDimensions(boolean); + field public static final int DEFAULT_SPAN_COUNT = -1; // 0xffffffff + } + + public static final class GridLayoutManager.DefaultSpanSizeLookup extends androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup { + ctor public GridLayoutManager.DefaultSpanSizeLookup(); + method public int getSpanSize(int); + } + + public static class GridLayoutManager.LayoutParams extends androidx.recyclerview.widget.RecyclerView.LayoutParams { + ctor public GridLayoutManager.LayoutParams(android.content.Context!, android.util.AttributeSet!); + ctor public GridLayoutManager.LayoutParams(int, int); + ctor public GridLayoutManager.LayoutParams(android.view.ViewGroup.MarginLayoutParams!); + ctor public GridLayoutManager.LayoutParams(android.view.ViewGroup.LayoutParams!); + ctor public GridLayoutManager.LayoutParams(androidx.recyclerview.widget.RecyclerView.LayoutParams!); + method public int getSpanIndex(); + method public int getSpanSize(); + field public static final int INVALID_SPAN_ID = -1; // 0xffffffff + } + + public abstract static class GridLayoutManager.SpanSizeLookup { + ctor public GridLayoutManager.SpanSizeLookup(); + method public int getSpanGroupIndex(int, int); + method public int getSpanIndex(int, int); + method public abstract int getSpanSize(int); + method public void invalidateSpanGroupIndexCache(); + method public void invalidateSpanIndexCache(); + method public boolean isSpanGroupIndexCacheEnabled(); + method public boolean isSpanIndexCacheEnabled(); + method public void setSpanGroupIndexCacheEnabled(boolean); + method public void setSpanIndexCacheEnabled(boolean); + } + + public class ItemTouchHelper extends androidx.recyclerview.widget.RecyclerView.ItemDecoration implements androidx.recyclerview.widget.RecyclerView.OnChildAttachStateChangeListener { + ctor public ItemTouchHelper(androidx.recyclerview.widget.ItemTouchHelper.Callback); + method public void attachToRecyclerView(androidx.recyclerview.widget.RecyclerView?); + method public void onChildViewAttachedToWindow(android.view.View); + method public void onChildViewDetachedFromWindow(android.view.View); + method public void startDrag(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public void startSwipe(androidx.recyclerview.widget.RecyclerView.ViewHolder); + field public static final int ACTION_STATE_DRAG = 2; // 0x2 + field public static final int ACTION_STATE_IDLE = 0; // 0x0 + field public static final int ACTION_STATE_SWIPE = 1; // 0x1 + field public static final int ANIMATION_TYPE_DRAG = 8; // 0x8 + field public static final int ANIMATION_TYPE_SWIPE_CANCEL = 4; // 0x4 + field public static final int ANIMATION_TYPE_SWIPE_SUCCESS = 2; // 0x2 + field public static final int DOWN = 2; // 0x2 + field public static final int END = 32; // 0x20 + field public static final int LEFT = 4; // 0x4 + field public static final int RIGHT = 8; // 0x8 + field public static final int START = 16; // 0x10 + field public static final int UP = 1; // 0x1 + } + + public abstract static class ItemTouchHelper.Callback { + ctor public ItemTouchHelper.Callback(); + method public boolean canDropOver(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder! chooseDropTarget(androidx.recyclerview.widget.RecyclerView.ViewHolder, java.util.List<androidx.recyclerview.widget.RecyclerView.ViewHolder!>, int, int); + method public void clearView(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public int convertToAbsoluteDirection(int, int); + method public static int convertToRelativeDirection(int, int); + method public long getAnimationDuration(androidx.recyclerview.widget.RecyclerView, int, float, float); + method public int getBoundingBoxMargin(); + method public static androidx.recyclerview.widget.ItemTouchUIUtil getDefaultUIUtil(); + method public float getMoveThreshold(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public abstract int getMovementFlags(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public float getSwipeEscapeVelocity(float); + method public float getSwipeThreshold(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public float getSwipeVelocityThreshold(float); + method public int interpolateOutOfBoundsScroll(androidx.recyclerview.widget.RecyclerView, int, int, int, long); + method public boolean isItemViewSwipeEnabled(); + method public boolean isLongPressDragEnabled(); + method public static int makeFlag(int, int); + method public static int makeMovementFlags(int, int); + method public void onChildDraw(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder, float, float, int, boolean); + method public void onChildDrawOver(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder!, float, float, int, boolean); + method public abstract boolean onMove(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public void onMoved(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder, int, androidx.recyclerview.widget.RecyclerView.ViewHolder, int, int, int); + method public void onSelectedChanged(androidx.recyclerview.widget.RecyclerView.ViewHolder?, int); + method public abstract void onSwiped(androidx.recyclerview.widget.RecyclerView.ViewHolder, int); + field public static final int DEFAULT_DRAG_ANIMATION_DURATION = 200; // 0xc8 + field public static final int DEFAULT_SWIPE_ANIMATION_DURATION = 250; // 0xfa + } + + public abstract static class ItemTouchHelper.SimpleCallback extends androidx.recyclerview.widget.ItemTouchHelper.Callback { + ctor public ItemTouchHelper.SimpleCallback(int, int); + method public int getDragDirs(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public int getMovementFlags(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public int getSwipeDirs(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public void setDefaultDragDirs(int); + method public void setDefaultSwipeDirs(int); + } + + public static interface ItemTouchHelper.ViewDropHandler { + method public void prepareForDrop(android.view.View, android.view.View, int, int); + } + + public interface ItemTouchUIUtil { + method public void clearView(android.view.View!); + method public void onDraw(android.graphics.Canvas!, androidx.recyclerview.widget.RecyclerView!, android.view.View!, float, float, int, boolean); + method public void onDrawOver(android.graphics.Canvas!, androidx.recyclerview.widget.RecyclerView!, android.view.View!, float, float, int, boolean); + method public void onSelected(android.view.View!); + } + + public class LinearLayoutManager extends androidx.recyclerview.widget.RecyclerView.LayoutManager implements androidx.recyclerview.widget.ItemTouchHelper.ViewDropHandler androidx.recyclerview.widget.RecyclerView.SmoothScroller.ScrollVectorProvider { + ctor public LinearLayoutManager(android.content.Context!); + ctor public LinearLayoutManager(android.content.Context!, int, boolean); + ctor public LinearLayoutManager(android.content.Context!, android.util.AttributeSet!, int, int); + method protected void calculateExtraLayoutSpace(androidx.recyclerview.widget.RecyclerView.State, int[]); + method public android.graphics.PointF! computeScrollVectorForPosition(int); + method public int findFirstCompletelyVisibleItemPosition(); + method public int findFirstVisibleItemPosition(); + method public int findLastCompletelyVisibleItemPosition(); + method public int findLastVisibleItemPosition(); + method public androidx.recyclerview.widget.RecyclerView.LayoutParams! generateDefaultLayoutParams(); + method @Deprecated protected int getExtraLayoutSpace(androidx.recyclerview.widget.RecyclerView.State!); + method public int getInitialPrefetchItemCount(); + method public int getOrientation(); + method public boolean getRecycleChildrenOnDetach(); + method public boolean getReverseLayout(); + method public boolean getStackFromEnd(); + method protected boolean isLayoutRTL(); + method public boolean isSmoothScrollbarEnabled(); + method public void prepareForDrop(android.view.View, android.view.View, int, int); + method public void scrollToPositionWithOffset(int, int); + method public void setInitialPrefetchItemCount(int); + method public void setOrientation(int); + method public void setRecycleChildrenOnDetach(boolean); + method public void setReverseLayout(boolean); + method public void setSmoothScrollbarEnabled(boolean); + method public void setStackFromEnd(boolean); + field public static final int HORIZONTAL = 0; // 0x0 + field public static final int INVALID_OFFSET = -2147483648; // 0x80000000 + field public static final int VERTICAL = 1; // 0x1 + } + + protected static class LinearLayoutManager.LayoutChunkResult { + ctor protected LinearLayoutManager.LayoutChunkResult(); + field public int mConsumed; + field public boolean mFinished; + field public boolean mFocusable; + field public boolean mIgnoreConsumed; + } + + public class LinearSmoothScroller extends androidx.recyclerview.widget.RecyclerView.SmoothScroller { + ctor public LinearSmoothScroller(android.content.Context!); + method public int calculateDtToFit(int, int, int, int, int); + method public int calculateDxToMakeVisible(android.view.View!, int); + method public int calculateDyToMakeVisible(android.view.View!, int); + method protected float calculateSpeedPerPixel(android.util.DisplayMetrics!); + method protected int calculateTimeForDeceleration(int); + method protected int calculateTimeForScrolling(int); + method protected int getHorizontalSnapPreference(); + method protected int getVerticalSnapPreference(); + method protected void onSeekTargetStep(int, int, androidx.recyclerview.widget.RecyclerView.State!, androidx.recyclerview.widget.RecyclerView.SmoothScroller.Action!); + method protected void onStart(); + method protected void onStop(); + method protected void onTargetFound(android.view.View!, androidx.recyclerview.widget.RecyclerView.State!, androidx.recyclerview.widget.RecyclerView.SmoothScroller.Action!); + method protected void updateActionForInterimTarget(androidx.recyclerview.widget.RecyclerView.SmoothScroller.Action!); + field public static final int SNAP_TO_ANY = 0; // 0x0 + field public static final int SNAP_TO_END = 1; // 0x1 + field public static final int SNAP_TO_START = -1; // 0xffffffff + field protected final android.view.animation.DecelerateInterpolator! mDecelerateInterpolator; + field protected int mInterimTargetDx; + field protected int mInterimTargetDy; + field protected final android.view.animation.LinearInterpolator! mLinearInterpolator; + field protected android.graphics.PointF! mTargetVector; + } + + public class LinearSnapHelper extends androidx.recyclerview.widget.SnapHelper { + ctor public LinearSnapHelper(); + method public int[]! calculateDistanceToFinalSnap(androidx.recyclerview.widget.RecyclerView.LayoutManager, android.view.View); + method public android.view.View! findSnapView(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public int findTargetSnapPosition(androidx.recyclerview.widget.RecyclerView.LayoutManager!, int, int); + } + + public abstract class ListAdapter<T, VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> extends androidx.recyclerview.widget.RecyclerView.Adapter<VH> { + ctor protected ListAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T!>); + ctor protected ListAdapter(androidx.recyclerview.widget.AsyncDifferConfig<T!>); + method public java.util.List<T!> getCurrentList(); + method protected T! getItem(int); + method public int getItemCount(); + method public void onCurrentListChanged(java.util.List<T!>, java.util.List<T!>); + method public void submitList(java.util.List<T!>?); + method public void submitList(java.util.List<T!>?, Runnable?); + } + + public interface ListUpdateCallback { + method public void onChanged(int, int, Object?); + method public void onInserted(int, int); + method public void onMoved(int, int); + method public void onRemoved(int, int); + } + + public abstract class OrientationHelper { + method public static androidx.recyclerview.widget.OrientationHelper! createHorizontalHelper(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public static androidx.recyclerview.widget.OrientationHelper! createOrientationHelper(androidx.recyclerview.widget.RecyclerView.LayoutManager!, int); + method public static androidx.recyclerview.widget.OrientationHelper! createVerticalHelper(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public abstract int getDecoratedEnd(android.view.View!); + method public abstract int getDecoratedMeasurement(android.view.View!); + method public abstract int getDecoratedMeasurementInOther(android.view.View!); + method public abstract int getDecoratedStart(android.view.View!); + method public abstract int getEnd(); + method public abstract int getEndAfterPadding(); + method public abstract int getEndPadding(); + method public androidx.recyclerview.widget.RecyclerView.LayoutManager! getLayoutManager(); + method public abstract int getMode(); + method public abstract int getModeInOther(); + method public abstract int getStartAfterPadding(); + method public abstract int getTotalSpace(); + method public int getTotalSpaceChange(); + method public abstract int getTransformedEndWithDecoration(android.view.View!); + method public abstract int getTransformedStartWithDecoration(android.view.View!); + method public abstract void offsetChild(android.view.View!, int); + method public abstract void offsetChildren(int); + method public void onLayoutComplete(); + field public static final int HORIZONTAL = 0; // 0x0 + field public static final int VERTICAL = 1; // 0x1 + field protected final androidx.recyclerview.widget.RecyclerView.LayoutManager! mLayoutManager; + } + + public class PagerSnapHelper extends androidx.recyclerview.widget.SnapHelper { + ctor public PagerSnapHelper(); + method public int[]? calculateDistanceToFinalSnap(androidx.recyclerview.widget.RecyclerView.LayoutManager, android.view.View); + method protected androidx.recyclerview.widget.LinearSmoothScroller! createSnapScroller(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public android.view.View? findSnapView(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public int findTargetSnapPosition(androidx.recyclerview.widget.RecyclerView.LayoutManager!, int, int); + } + + public class RecyclerView extends android.view.ViewGroup implements androidx.core.view.NestedScrollingChild2 androidx.core.view.NestedScrollingChild3 androidx.core.view.ScrollingView { + ctor public RecyclerView(android.content.Context); + ctor public RecyclerView(android.content.Context, android.util.AttributeSet?); + ctor public RecyclerView(android.content.Context, android.util.AttributeSet?, int); + method public void addItemDecoration(androidx.recyclerview.widget.RecyclerView.ItemDecoration, int); + method public void addItemDecoration(androidx.recyclerview.widget.RecyclerView.ItemDecoration); + method public void addOnChildAttachStateChangeListener(androidx.recyclerview.widget.RecyclerView.OnChildAttachStateChangeListener); + method public void addOnItemTouchListener(androidx.recyclerview.widget.RecyclerView.OnItemTouchListener); + method public void addOnScrollListener(androidx.recyclerview.widget.RecyclerView.OnScrollListener); + method public void clearOnChildAttachStateChangeListeners(); + method public void clearOnScrollListeners(); + method public int computeHorizontalScrollExtent(); + method public int computeHorizontalScrollOffset(); + method public int computeHorizontalScrollRange(); + method public int computeVerticalScrollExtent(); + method public int computeVerticalScrollOffset(); + method public int computeVerticalScrollRange(); + method public boolean dispatchNestedPreScroll(int, int, int[]!, int[]!, int); + method public boolean dispatchNestedScroll(int, int, int, int, int[]!, int); + method public final void dispatchNestedScroll(int, int, int, int, int[]!, int, int[]); + method public boolean drawChild(android.graphics.Canvas!, android.view.View!, long); + method public android.view.View? findChildViewUnder(float, float); + method public android.view.View? findContainingItemView(android.view.View); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder? findContainingViewHolder(android.view.View); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder? findViewHolderForAdapterPosition(int); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder! findViewHolderForItemId(long); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder? findViewHolderForLayoutPosition(int); + method @Deprecated public androidx.recyclerview.widget.RecyclerView.ViewHolder? findViewHolderForPosition(int); + method public boolean fling(int, int); + method public androidx.recyclerview.widget.RecyclerView.Adapter? getAdapter(); + method public int getChildAdapterPosition(android.view.View); + method public long getChildItemId(android.view.View); + method public int getChildLayoutPosition(android.view.View); + method @Deprecated public int getChildPosition(android.view.View); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder! getChildViewHolder(android.view.View); + method public androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate? getCompatAccessibilityDelegate(); + method public void getDecoratedBoundsWithMargins(android.view.View, android.graphics.Rect); + method public androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory getEdgeEffectFactory(); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator? getItemAnimator(); + method public androidx.recyclerview.widget.RecyclerView.ItemDecoration getItemDecorationAt(int); + method public int getItemDecorationCount(); + method public androidx.recyclerview.widget.RecyclerView.LayoutManager? getLayoutManager(); + method public int getMaxFlingVelocity(); + method public int getMinFlingVelocity(); + method public androidx.recyclerview.widget.RecyclerView.OnFlingListener? getOnFlingListener(); + method public boolean getPreserveFocusAfterLayout(); + method public androidx.recyclerview.widget.RecyclerView.RecycledViewPool getRecycledViewPool(); + method public int getScrollState(); + method public boolean hasFixedSize(); + method public boolean hasNestedScrollingParent(int); + method public boolean hasPendingAdapterUpdates(); + method public void invalidateItemDecorations(); + method public boolean isAnimating(); + method public boolean isComputingLayout(); + method @Deprecated public boolean isLayoutFrozen(); + method public final boolean isLayoutSuppressed(); + method public void offsetChildrenHorizontal(@Px int); + method public void offsetChildrenVertical(@Px int); + method public void onChildAttachedToWindow(android.view.View); + method public void onChildDetachedFromWindow(android.view.View); + method public void onDraw(android.graphics.Canvas!); + method public void onScrollStateChanged(int); + method public void onScrolled(@Px int, @Px int); + method public void removeItemDecoration(androidx.recyclerview.widget.RecyclerView.ItemDecoration); + method public void removeItemDecorationAt(int); + method public void removeOnChildAttachStateChangeListener(androidx.recyclerview.widget.RecyclerView.OnChildAttachStateChangeListener); + method public void removeOnItemTouchListener(androidx.recyclerview.widget.RecyclerView.OnItemTouchListener); + method public void removeOnScrollListener(androidx.recyclerview.widget.RecyclerView.OnScrollListener); + method public void scrollToPosition(int); + method public void setAccessibilityDelegateCompat(androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate?); + method public void setAdapter(androidx.recyclerview.widget.RecyclerView.Adapter?); + method public void setChildDrawingOrderCallback(androidx.recyclerview.widget.RecyclerView.ChildDrawingOrderCallback?); + method public void setEdgeEffectFactory(androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory); + method public void setHasFixedSize(boolean); + method public void setItemAnimator(androidx.recyclerview.widget.RecyclerView.ItemAnimator?); + method public void setItemViewCacheSize(int); + method @Deprecated public void setLayoutFrozen(boolean); + method public void setLayoutManager(androidx.recyclerview.widget.RecyclerView.LayoutManager?); + method @Deprecated public void setLayoutTransition(android.animation.LayoutTransition!); + method public void setOnFlingListener(androidx.recyclerview.widget.RecyclerView.OnFlingListener?); + method @Deprecated public void setOnScrollListener(androidx.recyclerview.widget.RecyclerView.OnScrollListener?); + method public void setPreserveFocusAfterLayout(boolean); + method public void setRecycledViewPool(androidx.recyclerview.widget.RecyclerView.RecycledViewPool?); + method public void setRecyclerListener(androidx.recyclerview.widget.RecyclerView.RecyclerListener?); + method public void setScrollingTouchSlop(int); + method public void setViewCacheExtension(androidx.recyclerview.widget.RecyclerView.ViewCacheExtension?); + method public void smoothScrollBy(@Px int, @Px int); + method public void smoothScrollBy(@Px int, @Px int, android.view.animation.Interpolator?); + method public void smoothScrollBy(@Px int, @Px int, android.view.animation.Interpolator?, int); + method public void smoothScrollToPosition(int); + method public boolean startNestedScroll(int, int); + method public void stopNestedScroll(int); + method public void stopScroll(); + method public final void suppressLayout(boolean); + method public void swapAdapter(androidx.recyclerview.widget.RecyclerView.Adapter?, boolean); + field public static final int HORIZONTAL = 0; // 0x0 + field public static final int INVALID_TYPE = -1; // 0xffffffff + field public static final long NO_ID = -1L; // 0xffffffffffffffffL + field public static final int NO_POSITION = -1; // 0xffffffff + field public static final int SCROLL_STATE_DRAGGING = 1; // 0x1 + field public static final int SCROLL_STATE_IDLE = 0; // 0x0 + field public static final int SCROLL_STATE_SETTLING = 2; // 0x2 + field public static final int TOUCH_SLOP_DEFAULT = 0; // 0x0 + field public static final int TOUCH_SLOP_PAGING = 1; // 0x1 + field public static final int UNDEFINED_DURATION = -2147483648; // 0x80000000 + field public static final int VERTICAL = 1; // 0x1 + } + + public abstract static class RecyclerView.Adapter<VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> { + ctor public RecyclerView.Adapter(); + method public final void bindViewHolder(VH, int); + method public final VH createViewHolder(android.view.ViewGroup, int); + method public abstract int getItemCount(); + method public long getItemId(int); + method public int getItemViewType(int); + method public final boolean hasObservers(); + method public final boolean hasStableIds(); + method public final void notifyDataSetChanged(); + method public final void notifyItemChanged(int); + method public final void notifyItemChanged(int, Object?); + method public final void notifyItemInserted(int); + method public final void notifyItemMoved(int, int); + method public final void notifyItemRangeChanged(int, int); + method public final void notifyItemRangeChanged(int, int, Object?); + method public final void notifyItemRangeInserted(int, int); + method public final void notifyItemRangeRemoved(int, int); + method public final void notifyItemRemoved(int); + method public void onAttachedToRecyclerView(androidx.recyclerview.widget.RecyclerView); + method public abstract void onBindViewHolder(VH, int); + method public void onBindViewHolder(VH, int, java.util.List<java.lang.Object!>); + method public abstract VH onCreateViewHolder(android.view.ViewGroup, int); + method public void onDetachedFromRecyclerView(androidx.recyclerview.widget.RecyclerView); + method public boolean onFailedToRecycleView(VH); + method public void onViewAttachedToWindow(VH); + method public void onViewDetachedFromWindow(VH); + method public void onViewRecycled(VH); + method public void registerAdapterDataObserver(androidx.recyclerview.widget.RecyclerView.AdapterDataObserver); + method public void setHasStableIds(boolean); + method public void unregisterAdapterDataObserver(androidx.recyclerview.widget.RecyclerView.AdapterDataObserver); + } + + public abstract static class RecyclerView.AdapterDataObserver { + ctor public RecyclerView.AdapterDataObserver(); + method public void onChanged(); + method public void onItemRangeChanged(int, int); + method public void onItemRangeChanged(int, int, Object?); + method public void onItemRangeInserted(int, int); + method public void onItemRangeMoved(int, int, int); + method public void onItemRangeRemoved(int, int); + } + + public static interface RecyclerView.ChildDrawingOrderCallback { + method public int onGetChildDrawingOrder(int, int); + } + + public static class RecyclerView.EdgeEffectFactory { + ctor public RecyclerView.EdgeEffectFactory(); + method protected android.widget.EdgeEffect createEdgeEffect(androidx.recyclerview.widget.RecyclerView, @androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory.EdgeDirection int); + field public static final int DIRECTION_BOTTOM = 3; // 0x3 + field public static final int DIRECTION_LEFT = 0; // 0x0 + field public static final int DIRECTION_RIGHT = 2; // 0x2 + field public static final int DIRECTION_TOP = 1; // 0x1 + } + + @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @IntDef({androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory.DIRECTION_LEFT, androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory.DIRECTION_TOP, androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory.DIRECTION_RIGHT, androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory.DIRECTION_BOTTOM}) public static @interface RecyclerView.EdgeEffectFactory.EdgeDirection { + } + + public abstract static class RecyclerView.ItemAnimator { + ctor public RecyclerView.ItemAnimator(); + method public abstract boolean animateAppearance(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo?, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public abstract boolean animateChange(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public abstract boolean animateDisappearance(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo?); + method public abstract boolean animatePersistence(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public boolean canReuseUpdatedViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public boolean canReuseUpdatedViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder, java.util.List<java.lang.Object!>); + method public final void dispatchAnimationFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public final void dispatchAnimationStarted(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public final void dispatchAnimationsFinished(); + method public abstract void endAnimation(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public abstract void endAnimations(); + method public long getAddDuration(); + method public long getChangeDuration(); + method public long getMoveDuration(); + method public long getRemoveDuration(); + method public abstract boolean isRunning(); + method public final boolean isRunning(androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemAnimatorFinishedListener?); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo obtainHolderInfo(); + method public void onAnimationFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public void onAnimationStarted(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo recordPostLayoutInformation(androidx.recyclerview.widget.RecyclerView.State, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo recordPreLayoutInformation(androidx.recyclerview.widget.RecyclerView.State, androidx.recyclerview.widget.RecyclerView.ViewHolder, @androidx.recyclerview.widget.RecyclerView.ItemAnimator.AdapterChanges int, java.util.List<java.lang.Object!>); + method public abstract void runPendingAnimations(); + method public void setAddDuration(long); + method public void setChangeDuration(long); + method public void setMoveDuration(long); + method public void setRemoveDuration(long); + field public static final int FLAG_APPEARED_IN_PRE_LAYOUT = 4096; // 0x1000 + field public static final int FLAG_CHANGED = 2; // 0x2 + field public static final int FLAG_INVALIDATED = 4; // 0x4 + field public static final int FLAG_MOVED = 2048; // 0x800 + field public static final int FLAG_REMOVED = 8; // 0x8 + } + + @IntDef(flag=true, value={androidx.recyclerview.widget.RecyclerView.ItemAnimator.FLAG_CHANGED, androidx.recyclerview.widget.RecyclerView.ItemAnimator.FLAG_REMOVED, androidx.recyclerview.widget.RecyclerView.ItemAnimator.FLAG_MOVED, androidx.recyclerview.widget.RecyclerView.ItemAnimator.FLAG_INVALIDATED, androidx.recyclerview.widget.RecyclerView.ItemAnimator.FLAG_APPEARED_IN_PRE_LAYOUT}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface RecyclerView.ItemAnimator.AdapterChanges { + } + + public static interface RecyclerView.ItemAnimator.ItemAnimatorFinishedListener { + method public void onAnimationsFinished(); + } + + public static class RecyclerView.ItemAnimator.ItemHolderInfo { + ctor public RecyclerView.ItemAnimator.ItemHolderInfo(); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo setFrom(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo setFrom(androidx.recyclerview.widget.RecyclerView.ViewHolder, @androidx.recyclerview.widget.RecyclerView.ItemAnimator.AdapterChanges int); + field public int bottom; + field @androidx.recyclerview.widget.RecyclerView.ItemAnimator.AdapterChanges public int changeFlags; + field public int left; + field public int right; + field public int top; + } + + public abstract static class RecyclerView.ItemDecoration { + ctor public RecyclerView.ItemDecoration(); + method @Deprecated public void getItemOffsets(android.graphics.Rect, int, androidx.recyclerview.widget.RecyclerView); + method public void getItemOffsets(android.graphics.Rect, android.view.View, androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.State); + method public void onDraw(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.State); + method @Deprecated public void onDraw(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView); + method public void onDrawOver(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.State); + method @Deprecated public void onDrawOver(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView); + } + + public abstract static class RecyclerView.LayoutManager { + ctor public RecyclerView.LayoutManager(); + method public void addDisappearingView(android.view.View!); + method public void addDisappearingView(android.view.View!, int); + method public void addView(android.view.View!); + method public void addView(android.view.View!, int); + method public void assertInLayoutOrScroll(String!); + method public void assertNotInLayoutOrScroll(String!); + method public void attachView(android.view.View, int, androidx.recyclerview.widget.RecyclerView.LayoutParams!); + method public void attachView(android.view.View, int); + method public void attachView(android.view.View); + method public void calculateItemDecorationsForChild(android.view.View, android.graphics.Rect); + method public boolean canScrollHorizontally(); + method public boolean canScrollVertically(); + method public boolean checkLayoutParams(androidx.recyclerview.widget.RecyclerView.LayoutParams!); + method public static int chooseSize(int, int, int); + method public void collectAdjacentPrefetchPositions(int, int, androidx.recyclerview.widget.RecyclerView.State!, androidx.recyclerview.widget.RecyclerView.LayoutManager.LayoutPrefetchRegistry!); + method public void collectInitialPrefetchPositions(int, androidx.recyclerview.widget.RecyclerView.LayoutManager.LayoutPrefetchRegistry!); + method public int computeHorizontalScrollExtent(androidx.recyclerview.widget.RecyclerView.State); + method public int computeHorizontalScrollOffset(androidx.recyclerview.widget.RecyclerView.State); + method public int computeHorizontalScrollRange(androidx.recyclerview.widget.RecyclerView.State); + method public int computeVerticalScrollExtent(androidx.recyclerview.widget.RecyclerView.State); + method public int computeVerticalScrollOffset(androidx.recyclerview.widget.RecyclerView.State); + method public int computeVerticalScrollRange(androidx.recyclerview.widget.RecyclerView.State); + method public void detachAndScrapAttachedViews(androidx.recyclerview.widget.RecyclerView.Recycler); + method public void detachAndScrapView(android.view.View, androidx.recyclerview.widget.RecyclerView.Recycler); + method public void detachAndScrapViewAt(int, androidx.recyclerview.widget.RecyclerView.Recycler); + method public void detachView(android.view.View); + method public void detachViewAt(int); + method public void endAnimation(android.view.View!); + method public android.view.View? findContainingItemView(android.view.View); + method public android.view.View? findViewByPosition(int); + method public abstract androidx.recyclerview.widget.RecyclerView.LayoutParams! generateDefaultLayoutParams(); + method public androidx.recyclerview.widget.RecyclerView.LayoutParams! generateLayoutParams(android.view.ViewGroup.LayoutParams!); + method public androidx.recyclerview.widget.RecyclerView.LayoutParams! generateLayoutParams(android.content.Context!, android.util.AttributeSet!); + method public int getBaseline(); + method public int getBottomDecorationHeight(android.view.View); + method public android.view.View? getChildAt(int); + method public int getChildCount(); + method @Deprecated public static int getChildMeasureSpec(int, int, int, boolean); + method public static int getChildMeasureSpec(int, int, int, int, boolean); + method public boolean getClipToPadding(); + method public int getColumnCountForAccessibility(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State); + method public int getDecoratedBottom(android.view.View); + method public void getDecoratedBoundsWithMargins(android.view.View, android.graphics.Rect); + method public int getDecoratedLeft(android.view.View); + method public int getDecoratedMeasuredHeight(android.view.View); + method public int getDecoratedMeasuredWidth(android.view.View); + method public int getDecoratedRight(android.view.View); + method public int getDecoratedTop(android.view.View); + method public android.view.View? getFocusedChild(); + method @Px public int getHeight(); + method public int getHeightMode(); + method public int getItemCount(); + method public int getItemViewType(android.view.View); + method public int getLayoutDirection(); + method public int getLeftDecorationWidth(android.view.View); + method @Px public int getMinimumHeight(); + method @Px public int getMinimumWidth(); + method @Px public int getPaddingBottom(); + method @Px public int getPaddingEnd(); + method @Px public int getPaddingLeft(); + method @Px public int getPaddingRight(); + method @Px public int getPaddingStart(); + method @Px public int getPaddingTop(); + method public int getPosition(android.view.View); + method public static androidx.recyclerview.widget.RecyclerView.LayoutManager.Properties! getProperties(android.content.Context, android.util.AttributeSet?, int, int); + method public int getRightDecorationWidth(android.view.View); + method public int getRowCountForAccessibility(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State); + method public int getSelectionModeForAccessibility(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State); + method public int getTopDecorationHeight(android.view.View); + method public void getTransformedBoundingBox(android.view.View, boolean, android.graphics.Rect); + method @Px public int getWidth(); + method public int getWidthMode(); + method public boolean hasFocus(); + method public void ignoreView(android.view.View); + method public boolean isAttachedToWindow(); + method public boolean isAutoMeasureEnabled(); + method public boolean isFocused(); + method public final boolean isItemPrefetchEnabled(); + method public boolean isLayoutHierarchical(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State); + method public boolean isMeasurementCacheEnabled(); + method public boolean isSmoothScrolling(); + method public boolean isViewPartiallyVisible(android.view.View, boolean, boolean); + method public void layoutDecorated(android.view.View, int, int, int, int); + method public void layoutDecoratedWithMargins(android.view.View, int, int, int, int); + method public void measureChild(android.view.View, int, int); + method public void measureChildWithMargins(android.view.View, int, int); + method public void moveView(int, int); + method public void offsetChildrenHorizontal(@Px int); + method public void offsetChildrenVertical(@Px int); + method public void onAdapterChanged(androidx.recyclerview.widget.RecyclerView.Adapter?, androidx.recyclerview.widget.RecyclerView.Adapter?); + method public boolean onAddFocusables(androidx.recyclerview.widget.RecyclerView, java.util.ArrayList<android.view.View!>, int, int); + method @CallSuper public void onAttachedToWindow(androidx.recyclerview.widget.RecyclerView!); + method @Deprecated public void onDetachedFromWindow(androidx.recyclerview.widget.RecyclerView!); + method @CallSuper public void onDetachedFromWindow(androidx.recyclerview.widget.RecyclerView!, androidx.recyclerview.widget.RecyclerView.Recycler!); + method public android.view.View? onFocusSearchFailed(android.view.View, int, androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State); + method public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent); + method public void onInitializeAccessibilityEvent(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, android.view.accessibility.AccessibilityEvent); + method public void onInitializeAccessibilityNodeInfo(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, androidx.core.view.accessibility.AccessibilityNodeInfoCompat); + method public void onInitializeAccessibilityNodeInfoForItem(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, android.view.View, androidx.core.view.accessibility.AccessibilityNodeInfoCompat); + method public android.view.View? onInterceptFocusSearch(android.view.View, int); + method public void onItemsAdded(androidx.recyclerview.widget.RecyclerView, int, int); + method public void onItemsChanged(androidx.recyclerview.widget.RecyclerView); + method public void onItemsMoved(androidx.recyclerview.widget.RecyclerView, int, int, int); + method public void onItemsRemoved(androidx.recyclerview.widget.RecyclerView, int, int); + method public void onItemsUpdated(androidx.recyclerview.widget.RecyclerView, int, int); + method public void onItemsUpdated(androidx.recyclerview.widget.RecyclerView, int, int, Object?); + method public void onLayoutChildren(androidx.recyclerview.widget.RecyclerView.Recycler!, androidx.recyclerview.widget.RecyclerView.State!); + method public void onLayoutCompleted(androidx.recyclerview.widget.RecyclerView.State!); + method public void onMeasure(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, int, int); + method @Deprecated public boolean onRequestChildFocus(androidx.recyclerview.widget.RecyclerView, android.view.View, android.view.View?); + method public boolean onRequestChildFocus(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.State, android.view.View, android.view.View?); + method public void onRestoreInstanceState(android.os.Parcelable!); + method public android.os.Parcelable? onSaveInstanceState(); + method public void onScrollStateChanged(int); + method public boolean performAccessibilityAction(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, int, android.os.Bundle?); + method public boolean performAccessibilityActionForItem(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, android.view.View, int, android.os.Bundle?); + method public void postOnAnimation(Runnable!); + method public void removeAllViews(); + method public void removeAndRecycleAllViews(androidx.recyclerview.widget.RecyclerView.Recycler); + method public void removeAndRecycleView(android.view.View, androidx.recyclerview.widget.RecyclerView.Recycler); + method public void removeAndRecycleViewAt(int, androidx.recyclerview.widget.RecyclerView.Recycler); + method public boolean removeCallbacks(Runnable!); + method public void removeDetachedView(android.view.View); + method public void removeView(android.view.View!); + method public void removeViewAt(int); + method public boolean requestChildRectangleOnScreen(androidx.recyclerview.widget.RecyclerView, android.view.View, android.graphics.Rect, boolean); + method public boolean requestChildRectangleOnScreen(androidx.recyclerview.widget.RecyclerView, android.view.View, android.graphics.Rect, boolean, boolean); + method public void requestLayout(); + method public void requestSimpleAnimationsInNextLayout(); + method public int scrollHorizontallyBy(int, androidx.recyclerview.widget.RecyclerView.Recycler!, androidx.recyclerview.widget.RecyclerView.State!); + method public void scrollToPosition(int); + method public int scrollVerticallyBy(int, androidx.recyclerview.widget.RecyclerView.Recycler!, androidx.recyclerview.widget.RecyclerView.State!); + method @Deprecated public void setAutoMeasureEnabled(boolean); + method public final void setItemPrefetchEnabled(boolean); + method public void setMeasuredDimension(android.graphics.Rect!, int, int); + method public void setMeasuredDimension(int, int); + method public void setMeasurementCacheEnabled(boolean); + method public void smoothScrollToPosition(androidx.recyclerview.widget.RecyclerView!, androidx.recyclerview.widget.RecyclerView.State!, int); + method public void startSmoothScroll(androidx.recyclerview.widget.RecyclerView.SmoothScroller!); + method public void stopIgnoringView(android.view.View); + method public boolean supportsPredictiveItemAnimations(); + } + + public static interface RecyclerView.LayoutManager.LayoutPrefetchRegistry { + method public void addPosition(int, int); + } + + public static class RecyclerView.LayoutManager.Properties { + ctor public RecyclerView.LayoutManager.Properties(); + field public int orientation; + field public boolean reverseLayout; + field public int spanCount; + field public boolean stackFromEnd; + } + + public static class RecyclerView.LayoutParams extends android.view.ViewGroup.MarginLayoutParams { + ctor public RecyclerView.LayoutParams(android.content.Context!, android.util.AttributeSet!); + ctor public RecyclerView.LayoutParams(int, int); + ctor public RecyclerView.LayoutParams(android.view.ViewGroup.MarginLayoutParams!); + ctor public RecyclerView.LayoutParams(android.view.ViewGroup.LayoutParams!); + ctor public RecyclerView.LayoutParams(androidx.recyclerview.widget.RecyclerView.LayoutParams!); + method public int getViewAdapterPosition(); + method public int getViewLayoutPosition(); + method @Deprecated public int getViewPosition(); + method public boolean isItemChanged(); + method public boolean isItemRemoved(); + method public boolean isViewInvalid(); + method public boolean viewNeedsUpdate(); + } + + public static interface RecyclerView.OnChildAttachStateChangeListener { + method public void onChildViewAttachedToWindow(android.view.View); + method public void onChildViewDetachedFromWindow(android.view.View); + } + + public abstract static class RecyclerView.OnFlingListener { + ctor public RecyclerView.OnFlingListener(); + method public abstract boolean onFling(int, int); + } + + public static interface RecyclerView.OnItemTouchListener { + method public boolean onInterceptTouchEvent(androidx.recyclerview.widget.RecyclerView, android.view.MotionEvent); + method public void onRequestDisallowInterceptTouchEvent(boolean); + method public void onTouchEvent(androidx.recyclerview.widget.RecyclerView, android.view.MotionEvent); + } + + public abstract static class RecyclerView.OnScrollListener { + ctor public RecyclerView.OnScrollListener(); + method public void onScrollStateChanged(androidx.recyclerview.widget.RecyclerView, int); + method public void onScrolled(androidx.recyclerview.widget.RecyclerView, int, int); + } + + public static class RecyclerView.RecycledViewPool { + ctor public RecyclerView.RecycledViewPool(); + method public void clear(); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder? getRecycledView(int); + method public int getRecycledViewCount(int); + method public void putRecycledView(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void setMaxRecycledViews(int, int); + } + + public final class RecyclerView.Recycler { + ctor public RecyclerView.Recycler(); + method public void bindViewToPosition(android.view.View, int); + method public void clear(); + method public int convertPreLayoutPositionToPostLayout(int); + method public java.util.List<androidx.recyclerview.widget.RecyclerView.ViewHolder!> getScrapList(); + method public android.view.View getViewForPosition(int); + method public void recycleView(android.view.View); + method public void setViewCacheSize(int); + } + + public static interface RecyclerView.RecyclerListener { + method public void onViewRecycled(androidx.recyclerview.widget.RecyclerView.ViewHolder); + } + + public static class RecyclerView.SimpleOnItemTouchListener implements androidx.recyclerview.widget.RecyclerView.OnItemTouchListener { + ctor public RecyclerView.SimpleOnItemTouchListener(); + method public boolean onInterceptTouchEvent(androidx.recyclerview.widget.RecyclerView, android.view.MotionEvent); + method public void onRequestDisallowInterceptTouchEvent(boolean); + method public void onTouchEvent(androidx.recyclerview.widget.RecyclerView, android.view.MotionEvent); + } + + public abstract static class RecyclerView.SmoothScroller { + ctor public RecyclerView.SmoothScroller(); + method public android.graphics.PointF? computeScrollVectorForPosition(int); + method public android.view.View! findViewByPosition(int); + method public int getChildCount(); + method public int getChildPosition(android.view.View!); + method public androidx.recyclerview.widget.RecyclerView.LayoutManager? getLayoutManager(); + method public int getTargetPosition(); + method @Deprecated public void instantScrollToPosition(int); + method public boolean isPendingInitialRun(); + method public boolean isRunning(); + method protected void normalize(android.graphics.PointF); + method protected void onChildAttachedToWindow(android.view.View!); + method protected abstract void onSeekTargetStep(@Px int, @Px int, androidx.recyclerview.widget.RecyclerView.State, androidx.recyclerview.widget.RecyclerView.SmoothScroller.Action); + method protected abstract void onStart(); + method protected abstract void onStop(); + method protected abstract void onTargetFound(android.view.View, androidx.recyclerview.widget.RecyclerView.State, androidx.recyclerview.widget.RecyclerView.SmoothScroller.Action); + method public void setTargetPosition(int); + method protected final void stop(); + } + + public static class RecyclerView.SmoothScroller.Action { + ctor public RecyclerView.SmoothScroller.Action(@Px int, @Px int); + ctor public RecyclerView.SmoothScroller.Action(@Px int, @Px int, int); + ctor public RecyclerView.SmoothScroller.Action(@Px int, @Px int, int, android.view.animation.Interpolator?); + method public int getDuration(); + method @Px public int getDx(); + method @Px public int getDy(); + method public android.view.animation.Interpolator? getInterpolator(); + method public void jumpTo(int); + method public void setDuration(int); + method public void setDx(@Px int); + method public void setDy(@Px int); + method public void setInterpolator(android.view.animation.Interpolator?); + method public void update(@Px int, @Px int, int, android.view.animation.Interpolator?); + field public static final int UNDEFINED_DURATION = -2147483648; // 0x80000000 + } + + public static interface RecyclerView.SmoothScroller.ScrollVectorProvider { + method public android.graphics.PointF? computeScrollVectorForPosition(int); + } + + public static class RecyclerView.State { + ctor public RecyclerView.State(); + method public boolean didStructureChange(); + method public <T> T! get(int); + method public int getItemCount(); + method public int getRemainingScrollHorizontal(); + method public int getRemainingScrollVertical(); + method public int getTargetScrollPosition(); + method public boolean hasTargetScrollPosition(); + method public boolean isMeasuring(); + method public boolean isPreLayout(); + method public void put(int, Object!); + method public void remove(int); + method public boolean willRunPredictiveAnimations(); + method public boolean willRunSimpleAnimations(); + } + + public abstract static class RecyclerView.ViewCacheExtension { + ctor public RecyclerView.ViewCacheExtension(); + method public abstract android.view.View? getViewForPositionAndType(androidx.recyclerview.widget.RecyclerView.Recycler, int, int); + } + + public abstract static class RecyclerView.ViewHolder { + ctor public RecyclerView.ViewHolder(android.view.View); + method public final int getAdapterPosition(); + method public final long getItemId(); + method public final int getItemViewType(); + method public final int getLayoutPosition(); + method public final int getOldPosition(); + method @Deprecated public final int getPosition(); + method public final boolean isRecyclable(); + method public final void setIsRecyclable(boolean); + field public final android.view.View itemView; + } + + public class RecyclerViewAccessibilityDelegate extends androidx.core.view.AccessibilityDelegateCompat { + ctor public RecyclerViewAccessibilityDelegate(androidx.recyclerview.widget.RecyclerView); + method public androidx.core.view.AccessibilityDelegateCompat getItemDelegate(); + } + + public static class RecyclerViewAccessibilityDelegate.ItemDelegate extends androidx.core.view.AccessibilityDelegateCompat { + ctor public RecyclerViewAccessibilityDelegate.ItemDelegate(androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate); + } + + public abstract class SimpleItemAnimator extends androidx.recyclerview.widget.RecyclerView.ItemAnimator { + ctor public SimpleItemAnimator(); + method public abstract boolean animateAdd(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public boolean animateAppearance(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo?, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public boolean animateChange(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public abstract boolean animateChange(androidx.recyclerview.widget.RecyclerView.ViewHolder!, androidx.recyclerview.widget.RecyclerView.ViewHolder!, int, int, int, int); + method public boolean animateDisappearance(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo?); + method public abstract boolean animateMove(androidx.recyclerview.widget.RecyclerView.ViewHolder!, int, int, int, int); + method public boolean animatePersistence(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public abstract boolean animateRemove(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchAddFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchAddStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchChangeFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!, boolean); + method public final void dispatchChangeStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!, boolean); + method public final void dispatchMoveFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchMoveStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchRemoveFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchRemoveStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public boolean getSupportsChangeAnimations(); + method public void onAddFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void onAddStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void onChangeFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!, boolean); + method public void onChangeStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!, boolean); + method public void onMoveFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void onMoveStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void onRemoveFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void onRemoveStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void setSupportsChangeAnimations(boolean); + } + + public abstract class SnapHelper extends androidx.recyclerview.widget.RecyclerView.OnFlingListener { + ctor public SnapHelper(); + method public void attachToRecyclerView(androidx.recyclerview.widget.RecyclerView?) throws java.lang.IllegalStateException; + method public abstract int[]? calculateDistanceToFinalSnap(androidx.recyclerview.widget.RecyclerView.LayoutManager, android.view.View); + method public int[]! calculateScrollDistance(int, int); + method protected androidx.recyclerview.widget.RecyclerView.SmoothScroller? createScroller(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method @Deprecated protected androidx.recyclerview.widget.LinearSmoothScroller? createSnapScroller(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public abstract android.view.View? findSnapView(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public abstract int findTargetSnapPosition(androidx.recyclerview.widget.RecyclerView.LayoutManager!, int, int); + method public boolean onFling(int, int); + } + + public class SortedList<T> { + ctor public SortedList(Class<T!>, androidx.recyclerview.widget.SortedList.Callback<T!>); + ctor public SortedList(Class<T!>, androidx.recyclerview.widget.SortedList.Callback<T!>, int); + method public int add(T!); + method public void addAll(T![], boolean); + method public void addAll(T!...); + method public void addAll(java.util.Collection<T!>); + method public void beginBatchedUpdates(); + method public void clear(); + method public void endBatchedUpdates(); + method public T! get(int) throws java.lang.IndexOutOfBoundsException; + method public int indexOf(T!); + method public void recalculatePositionOfItemAt(int); + method public boolean remove(T!); + method public T! removeItemAt(int); + method public void replaceAll(T![], boolean); + method public void replaceAll(T!...); + method public void replaceAll(java.util.Collection<T!>); + method public int size(); + method public void updateItemAt(int, T!); + field public static final int INVALID_POSITION = -1; // 0xffffffff + } + + public static class SortedList.BatchedCallback<T2> extends androidx.recyclerview.widget.SortedList.Callback<T2> { + ctor public SortedList.BatchedCallback(androidx.recyclerview.widget.SortedList.Callback<T2!>!); + method public boolean areContentsTheSame(T2!, T2!); + method public boolean areItemsTheSame(T2!, T2!); + method public int compare(T2!, T2!); + method public void dispatchLastEvent(); + method public void onChanged(int, int); + method public void onInserted(int, int); + method public void onMoved(int, int); + method public void onRemoved(int, int); + } + + public abstract static class SortedList.Callback<T2> implements java.util.Comparator<T2> androidx.recyclerview.widget.ListUpdateCallback { + ctor public SortedList.Callback(); + method public abstract boolean areContentsTheSame(T2!, T2!); + method public abstract boolean areItemsTheSame(T2!, T2!); + method public abstract int compare(T2!, T2!); + method public Object? getChangePayload(T2!, T2!); + method public abstract void onChanged(int, int); + method public void onChanged(int, int, Object!); + } + + public abstract class SortedListAdapterCallback<T2> extends androidx.recyclerview.widget.SortedList.Callback<T2> { + ctor public SortedListAdapterCallback(androidx.recyclerview.widget.RecyclerView.Adapter!); + method public void onChanged(int, int); + method public void onInserted(int, int); + method public void onMoved(int, int); + method public void onRemoved(int, int); + } + + public class StaggeredGridLayoutManager extends androidx.recyclerview.widget.RecyclerView.LayoutManager implements androidx.recyclerview.widget.RecyclerView.SmoothScroller.ScrollVectorProvider { + ctor public StaggeredGridLayoutManager(android.content.Context!, android.util.AttributeSet!, int, int); + ctor public StaggeredGridLayoutManager(int, int); + method public android.graphics.PointF! computeScrollVectorForPosition(int); + method public int[]! findFirstCompletelyVisibleItemPositions(int[]!); + method public int[]! findFirstVisibleItemPositions(int[]!); + method public int[]! findLastCompletelyVisibleItemPositions(int[]!); + method public int[]! findLastVisibleItemPositions(int[]!); + method public androidx.recyclerview.widget.RecyclerView.LayoutParams! generateDefaultLayoutParams(); + method public int getGapStrategy(); + method public int getOrientation(); + method public boolean getReverseLayout(); + method public int getSpanCount(); + method public void invalidateSpanAssignments(); + method public void scrollToPositionWithOffset(int, int); + method public void setGapStrategy(int); + method public void setOrientation(int); + method public void setReverseLayout(boolean); + method public void setSpanCount(int); + field @Deprecated public static final int GAP_HANDLING_LAZY = 1; // 0x1 + field public static final int GAP_HANDLING_MOVE_ITEMS_BETWEEN_SPANS = 2; // 0x2 + field public static final int GAP_HANDLING_NONE = 0; // 0x0 + field public static final int HORIZONTAL = 0; // 0x0 + field public static final int VERTICAL = 1; // 0x1 + } + + public static class StaggeredGridLayoutManager.LayoutParams extends androidx.recyclerview.widget.RecyclerView.LayoutParams { + ctor public StaggeredGridLayoutManager.LayoutParams(android.content.Context!, android.util.AttributeSet!); + ctor public StaggeredGridLayoutManager.LayoutParams(int, int); + ctor public StaggeredGridLayoutManager.LayoutParams(android.view.ViewGroup.MarginLayoutParams!); + ctor public StaggeredGridLayoutManager.LayoutParams(android.view.ViewGroup.LayoutParams!); + ctor public StaggeredGridLayoutManager.LayoutParams(androidx.recyclerview.widget.RecyclerView.LayoutParams!); + method public final int getSpanIndex(); + method public boolean isFullSpan(); + method public void setFullSpan(boolean); + field public static final int INVALID_SPAN_ID = -1; // 0xffffffff + } + +} + diff --git a/recyclerview/recyclerview/api/res-1.1.0.txt b/recyclerview/recyclerview/api/res-1.1.0.txt new file mode 100644 index 00000000000..475bfc43d0b --- /dev/null +++ b/recyclerview/recyclerview/api/res-1.1.0.txt @@ -0,0 +1,9 @@ +attr fastScrollEnabled +attr fastScrollHorizontalThumbDrawable +attr fastScrollHorizontalTrackDrawable +attr fastScrollVerticalThumbDrawable +attr fastScrollVerticalTrackDrawable +attr layoutManager +attr reverseLayout +attr spanCount +attr stackFromEnd diff --git a/recyclerview/recyclerview/api/restricted_1.1.0.txt b/recyclerview/recyclerview/api/restricted_1.1.0.txt new file mode 100644 index 00000000000..0690168f378 --- /dev/null +++ b/recyclerview/recyclerview/api/restricted_1.1.0.txt @@ -0,0 +1,1043 @@ +// Signature format: 3.0 +package androidx.recyclerview.widget { + + public final class AdapterListUpdateCallback implements androidx.recyclerview.widget.ListUpdateCallback { + ctor public AdapterListUpdateCallback(androidx.recyclerview.widget.RecyclerView.Adapter); + method public void onChanged(int, int, Object!); + method public void onInserted(int, int); + method public void onMoved(int, int); + method public void onRemoved(int, int); + } + + public final class AsyncDifferConfig<T> { + method public java.util.concurrent.Executor getBackgroundThreadExecutor(); + method public androidx.recyclerview.widget.DiffUtil.ItemCallback<T!> getDiffCallback(); + } + + public static final class AsyncDifferConfig.Builder<T> { + ctor public AsyncDifferConfig.Builder(androidx.recyclerview.widget.DiffUtil.ItemCallback<T!>); + method public androidx.recyclerview.widget.AsyncDifferConfig<T!> build(); + method public androidx.recyclerview.widget.AsyncDifferConfig.Builder<T!> setBackgroundThreadExecutor(java.util.concurrent.Executor!); + } + + public class AsyncListDiffer<T> { + ctor public AsyncListDiffer(androidx.recyclerview.widget.RecyclerView.Adapter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T!>); + ctor public AsyncListDiffer(androidx.recyclerview.widget.ListUpdateCallback, androidx.recyclerview.widget.AsyncDifferConfig<T!>); + method public void addListListener(androidx.recyclerview.widget.AsyncListDiffer.ListListener<T!>); + method public java.util.List<T!> getCurrentList(); + method public void removeListListener(androidx.recyclerview.widget.AsyncListDiffer.ListListener<T!>); + method public void submitList(java.util.List<T!>?); + method public void submitList(java.util.List<T!>?, Runnable?); + } + + public static interface AsyncListDiffer.ListListener<T> { + method public void onCurrentListChanged(java.util.List<T!>, java.util.List<T!>); + } + + public class AsyncListUtil<T> { + ctor public AsyncListUtil(Class<T!>, int, androidx.recyclerview.widget.AsyncListUtil.DataCallback<T!>, androidx.recyclerview.widget.AsyncListUtil.ViewCallback); + method public T? getItem(int); + method public int getItemCount(); + method public void onRangeChanged(); + method public void refresh(); + } + + public abstract static class AsyncListUtil.DataCallback<T> { + ctor public AsyncListUtil.DataCallback(); + method @WorkerThread public abstract void fillData(T![], int, int); + method @WorkerThread public int getMaxCachedTiles(); + method @WorkerThread public void recycleData(T![], int); + method @WorkerThread public abstract int refreshData(); + } + + public abstract static class AsyncListUtil.ViewCallback { + ctor public AsyncListUtil.ViewCallback(); + method @UiThread public void extendRangeInto(int[], int[], int); + method @UiThread public abstract void getItemRangeInto(int[]); + method @UiThread public abstract void onDataRefresh(); + method @UiThread public abstract void onItemLoaded(int); + field public static final int HINT_SCROLL_ASC = 2; // 0x2 + field public static final int HINT_SCROLL_DESC = 1; // 0x1 + field public static final int HINT_SCROLL_NONE = 0; // 0x0 + } + + public class BatchingListUpdateCallback implements androidx.recyclerview.widget.ListUpdateCallback { + ctor public BatchingListUpdateCallback(androidx.recyclerview.widget.ListUpdateCallback); + method public void dispatchLastEvent(); + method public void onChanged(int, int, Object!); + method public void onInserted(int, int); + method public void onMoved(int, int); + method public void onRemoved(int, int); + } + + public class DefaultItemAnimator extends androidx.recyclerview.widget.SimpleItemAnimator { + ctor public DefaultItemAnimator(); + method public boolean animateAdd(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public boolean animateChange(androidx.recyclerview.widget.RecyclerView.ViewHolder!, androidx.recyclerview.widget.RecyclerView.ViewHolder!, int, int, int, int); + method public boolean animateMove(androidx.recyclerview.widget.RecyclerView.ViewHolder!, int, int, int, int); + method public boolean animateRemove(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void endAnimation(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void endAnimations(); + method public boolean isRunning(); + method public void runPendingAnimations(); + } + + public class DiffUtil { + method public static androidx.recyclerview.widget.DiffUtil.DiffResult calculateDiff(androidx.recyclerview.widget.DiffUtil.Callback); + method public static androidx.recyclerview.widget.DiffUtil.DiffResult calculateDiff(androidx.recyclerview.widget.DiffUtil.Callback, boolean); + } + + public abstract static class DiffUtil.Callback { + ctor public DiffUtil.Callback(); + method public abstract boolean areContentsTheSame(int, int); + method public abstract boolean areItemsTheSame(int, int); + method public Object? getChangePayload(int, int); + method public abstract int getNewListSize(); + method public abstract int getOldListSize(); + } + + public static class DiffUtil.DiffResult { + method public int convertNewPositionToOld(@IntRange(from=0) int); + method public int convertOldPositionToNew(@IntRange(from=0) int); + method public void dispatchUpdatesTo(androidx.recyclerview.widget.RecyclerView.Adapter); + method public void dispatchUpdatesTo(androidx.recyclerview.widget.ListUpdateCallback); + field public static final int NO_POSITION = -1; // 0xffffffff + } + + public abstract static class DiffUtil.ItemCallback<T> { + ctor public DiffUtil.ItemCallback(); + method public abstract boolean areContentsTheSame(T, T); + method public abstract boolean areItemsTheSame(T, T); + method public Object? getChangePayload(T, T); + } + + public class DividerItemDecoration extends androidx.recyclerview.widget.RecyclerView.ItemDecoration { + ctor public DividerItemDecoration(android.content.Context!, int); + method public android.graphics.drawable.Drawable? getDrawable(); + method public void setDrawable(android.graphics.drawable.Drawable); + method public void setOrientation(int); + field public static final int HORIZONTAL = 0; // 0x0 + field public static final int VERTICAL = 1; // 0x1 + } + + public class GridLayoutManager extends androidx.recyclerview.widget.LinearLayoutManager { + ctor public GridLayoutManager(android.content.Context!, android.util.AttributeSet!, int, int); + ctor public GridLayoutManager(android.content.Context!, int); + ctor public GridLayoutManager(android.content.Context!, int, @androidx.recyclerview.widget.RecyclerView.Orientation int, boolean); + method public int getSpanCount(); + method public androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup! getSpanSizeLookup(); + method public boolean isUsingSpansToEstimateScrollbarDimensions(); + method public void setSpanCount(int); + method public void setSpanSizeLookup(androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup!); + method public void setUsingSpansToEstimateScrollbarDimensions(boolean); + field public static final int DEFAULT_SPAN_COUNT = -1; // 0xffffffff + } + + public static final class GridLayoutManager.DefaultSpanSizeLookup extends androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup { + ctor public GridLayoutManager.DefaultSpanSizeLookup(); + method public int getSpanSize(int); + } + + public static class GridLayoutManager.LayoutParams extends androidx.recyclerview.widget.RecyclerView.LayoutParams { + ctor public GridLayoutManager.LayoutParams(android.content.Context!, android.util.AttributeSet!); + ctor public GridLayoutManager.LayoutParams(int, int); + ctor public GridLayoutManager.LayoutParams(android.view.ViewGroup.MarginLayoutParams!); + ctor public GridLayoutManager.LayoutParams(android.view.ViewGroup.LayoutParams!); + ctor public GridLayoutManager.LayoutParams(androidx.recyclerview.widget.RecyclerView.LayoutParams!); + method public int getSpanIndex(); + method public int getSpanSize(); + field public static final int INVALID_SPAN_ID = -1; // 0xffffffff + } + + public abstract static class GridLayoutManager.SpanSizeLookup { + ctor public GridLayoutManager.SpanSizeLookup(); + method public int getSpanGroupIndex(int, int); + method public int getSpanIndex(int, int); + method public abstract int getSpanSize(int); + method public void invalidateSpanGroupIndexCache(); + method public void invalidateSpanIndexCache(); + method public boolean isSpanGroupIndexCacheEnabled(); + method public boolean isSpanIndexCacheEnabled(); + method public void setSpanGroupIndexCacheEnabled(boolean); + method public void setSpanIndexCacheEnabled(boolean); + } + + public class ItemTouchHelper extends androidx.recyclerview.widget.RecyclerView.ItemDecoration implements androidx.recyclerview.widget.RecyclerView.OnChildAttachStateChangeListener { + ctor public ItemTouchHelper(androidx.recyclerview.widget.ItemTouchHelper.Callback); + method public void attachToRecyclerView(androidx.recyclerview.widget.RecyclerView?); + method public void onChildViewAttachedToWindow(android.view.View); + method public void onChildViewDetachedFromWindow(android.view.View); + method public void startDrag(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public void startSwipe(androidx.recyclerview.widget.RecyclerView.ViewHolder); + field public static final int ACTION_STATE_DRAG = 2; // 0x2 + field public static final int ACTION_STATE_IDLE = 0; // 0x0 + field public static final int ACTION_STATE_SWIPE = 1; // 0x1 + field public static final int ANIMATION_TYPE_DRAG = 8; // 0x8 + field public static final int ANIMATION_TYPE_SWIPE_CANCEL = 4; // 0x4 + field public static final int ANIMATION_TYPE_SWIPE_SUCCESS = 2; // 0x2 + field public static final int DOWN = 2; // 0x2 + field public static final int END = 32; // 0x20 + field public static final int LEFT = 4; // 0x4 + field public static final int RIGHT = 8; // 0x8 + field public static final int START = 16; // 0x10 + field public static final int UP = 1; // 0x1 + } + + public abstract static class ItemTouchHelper.Callback { + ctor public ItemTouchHelper.Callback(); + method public boolean canDropOver(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder! chooseDropTarget(androidx.recyclerview.widget.RecyclerView.ViewHolder, java.util.List<androidx.recyclerview.widget.RecyclerView.ViewHolder!>, int, int); + method public void clearView(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public int convertToAbsoluteDirection(int, int); + method public static int convertToRelativeDirection(int, int); + method public long getAnimationDuration(androidx.recyclerview.widget.RecyclerView, int, float, float); + method public int getBoundingBoxMargin(); + method public static androidx.recyclerview.widget.ItemTouchUIUtil getDefaultUIUtil(); + method public float getMoveThreshold(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public abstract int getMovementFlags(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public float getSwipeEscapeVelocity(float); + method public float getSwipeThreshold(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public float getSwipeVelocityThreshold(float); + method public int interpolateOutOfBoundsScroll(androidx.recyclerview.widget.RecyclerView, int, int, int, long); + method public boolean isItemViewSwipeEnabled(); + method public boolean isLongPressDragEnabled(); + method public static int makeFlag(int, int); + method public static int makeMovementFlags(int, int); + method public void onChildDraw(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder, float, float, int, boolean); + method public void onChildDrawOver(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder!, float, float, int, boolean); + method public abstract boolean onMove(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public void onMoved(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder, int, androidx.recyclerview.widget.RecyclerView.ViewHolder, int, int, int); + method public void onSelectedChanged(androidx.recyclerview.widget.RecyclerView.ViewHolder?, int); + method public abstract void onSwiped(androidx.recyclerview.widget.RecyclerView.ViewHolder, int); + field public static final int DEFAULT_DRAG_ANIMATION_DURATION = 200; // 0xc8 + field public static final int DEFAULT_SWIPE_ANIMATION_DURATION = 250; // 0xfa + } + + public abstract static class ItemTouchHelper.SimpleCallback extends androidx.recyclerview.widget.ItemTouchHelper.Callback { + ctor public ItemTouchHelper.SimpleCallback(int, int); + method public int getDragDirs(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public int getMovementFlags(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public int getSwipeDirs(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public void setDefaultDragDirs(int); + method public void setDefaultSwipeDirs(int); + } + + public static interface ItemTouchHelper.ViewDropHandler { + method public void prepareForDrop(android.view.View, android.view.View, int, int); + } + + public interface ItemTouchUIUtil { + method public void clearView(android.view.View!); + method public void onDraw(android.graphics.Canvas!, androidx.recyclerview.widget.RecyclerView!, android.view.View!, float, float, int, boolean); + method public void onDrawOver(android.graphics.Canvas!, androidx.recyclerview.widget.RecyclerView!, android.view.View!, float, float, int, boolean); + method public void onSelected(android.view.View!); + } + + public class LinearLayoutManager extends androidx.recyclerview.widget.RecyclerView.LayoutManager implements androidx.recyclerview.widget.ItemTouchHelper.ViewDropHandler androidx.recyclerview.widget.RecyclerView.SmoothScroller.ScrollVectorProvider { + ctor public LinearLayoutManager(android.content.Context!); + ctor public LinearLayoutManager(android.content.Context!, @androidx.recyclerview.widget.RecyclerView.Orientation int, boolean); + ctor public LinearLayoutManager(android.content.Context!, android.util.AttributeSet!, int, int); + method protected void calculateExtraLayoutSpace(androidx.recyclerview.widget.RecyclerView.State, int[]); + method public android.graphics.PointF! computeScrollVectorForPosition(int); + method public int findFirstCompletelyVisibleItemPosition(); + method public int findFirstVisibleItemPosition(); + method public int findLastCompletelyVisibleItemPosition(); + method public int findLastVisibleItemPosition(); + method public androidx.recyclerview.widget.RecyclerView.LayoutParams! generateDefaultLayoutParams(); + method @Deprecated protected int getExtraLayoutSpace(androidx.recyclerview.widget.RecyclerView.State!); + method public int getInitialPrefetchItemCount(); + method @androidx.recyclerview.widget.RecyclerView.Orientation public int getOrientation(); + method public boolean getRecycleChildrenOnDetach(); + method public boolean getReverseLayout(); + method public boolean getStackFromEnd(); + method protected boolean isLayoutRTL(); + method public boolean isSmoothScrollbarEnabled(); + method public void prepareForDrop(android.view.View, android.view.View, int, int); + method public void scrollToPositionWithOffset(int, int); + method public void setInitialPrefetchItemCount(int); + method public void setOrientation(@androidx.recyclerview.widget.RecyclerView.Orientation int); + method public void setRecycleChildrenOnDetach(boolean); + method public void setReverseLayout(boolean); + method public void setSmoothScrollbarEnabled(boolean); + method public void setStackFromEnd(boolean); + field public static final int HORIZONTAL = 0; // 0x0 + field public static final int INVALID_OFFSET = -2147483648; // 0x80000000 + field public static final int VERTICAL = 1; // 0x1 + } + + protected static class LinearLayoutManager.LayoutChunkResult { + ctor protected LinearLayoutManager.LayoutChunkResult(); + field public int mConsumed; + field public boolean mFinished; + field public boolean mFocusable; + field public boolean mIgnoreConsumed; + } + + + public class LinearSmoothScroller extends androidx.recyclerview.widget.RecyclerView.SmoothScroller { + ctor public LinearSmoothScroller(android.content.Context!); + method public int calculateDtToFit(int, int, int, int, int); + method public int calculateDxToMakeVisible(android.view.View!, int); + method public int calculateDyToMakeVisible(android.view.View!, int); + method protected float calculateSpeedPerPixel(android.util.DisplayMetrics!); + method protected int calculateTimeForDeceleration(int); + method protected int calculateTimeForScrolling(int); + method protected int getHorizontalSnapPreference(); + method protected int getVerticalSnapPreference(); + method protected void onSeekTargetStep(int, int, androidx.recyclerview.widget.RecyclerView.State!, androidx.recyclerview.widget.RecyclerView.SmoothScroller.Action!); + method protected void onStart(); + method protected void onStop(); + method protected void onTargetFound(android.view.View!, androidx.recyclerview.widget.RecyclerView.State!, androidx.recyclerview.widget.RecyclerView.SmoothScroller.Action!); + method protected void updateActionForInterimTarget(androidx.recyclerview.widget.RecyclerView.SmoothScroller.Action!); + field public static final int SNAP_TO_ANY = 0; // 0x0 + field public static final int SNAP_TO_END = 1; // 0x1 + field public static final int SNAP_TO_START = -1; // 0xffffffff + field protected final android.view.animation.DecelerateInterpolator! mDecelerateInterpolator; + field protected int mInterimTargetDx; + field protected int mInterimTargetDy; + field protected final android.view.animation.LinearInterpolator! mLinearInterpolator; + field protected android.graphics.PointF! mTargetVector; + } + + public class LinearSnapHelper extends androidx.recyclerview.widget.SnapHelper { + ctor public LinearSnapHelper(); + method public int[]! calculateDistanceToFinalSnap(androidx.recyclerview.widget.RecyclerView.LayoutManager, android.view.View); + method public android.view.View! findSnapView(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public int findTargetSnapPosition(androidx.recyclerview.widget.RecyclerView.LayoutManager!, int, int); + } + + public abstract class ListAdapter<T, VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> extends androidx.recyclerview.widget.RecyclerView.Adapter<VH> { + ctor protected ListAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T!>); + ctor protected ListAdapter(androidx.recyclerview.widget.AsyncDifferConfig<T!>); + method public java.util.List<T!> getCurrentList(); + method protected T! getItem(int); + method public int getItemCount(); + method public void onCurrentListChanged(java.util.List<T!>, java.util.List<T!>); + method public void submitList(java.util.List<T!>?); + method public void submitList(java.util.List<T!>?, Runnable?); + } + + public interface ListUpdateCallback { + method public void onChanged(int, int, Object?); + method public void onInserted(int, int); + method public void onMoved(int, int); + method public void onRemoved(int, int); + } + + public abstract class OrientationHelper { + method public static androidx.recyclerview.widget.OrientationHelper! createHorizontalHelper(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public static androidx.recyclerview.widget.OrientationHelper! createOrientationHelper(androidx.recyclerview.widget.RecyclerView.LayoutManager!, @androidx.recyclerview.widget.RecyclerView.Orientation int); + method public static androidx.recyclerview.widget.OrientationHelper! createVerticalHelper(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public abstract int getDecoratedEnd(android.view.View!); + method public abstract int getDecoratedMeasurement(android.view.View!); + method public abstract int getDecoratedMeasurementInOther(android.view.View!); + method public abstract int getDecoratedStart(android.view.View!); + method public abstract int getEnd(); + method public abstract int getEndAfterPadding(); + method public abstract int getEndPadding(); + method public androidx.recyclerview.widget.RecyclerView.LayoutManager! getLayoutManager(); + method public abstract int getMode(); + method public abstract int getModeInOther(); + method public abstract int getStartAfterPadding(); + method public abstract int getTotalSpace(); + method public int getTotalSpaceChange(); + method public abstract int getTransformedEndWithDecoration(android.view.View!); + method public abstract int getTransformedStartWithDecoration(android.view.View!); + method public abstract void offsetChild(android.view.View!, int); + method public abstract void offsetChildren(int); + method public void onLayoutComplete(); + field public static final int HORIZONTAL = 0; // 0x0 + field public static final int VERTICAL = 1; // 0x1 + field protected final androidx.recyclerview.widget.RecyclerView.LayoutManager! mLayoutManager; + } + + public class PagerSnapHelper extends androidx.recyclerview.widget.SnapHelper { + ctor public PagerSnapHelper(); + method public int[]? calculateDistanceToFinalSnap(androidx.recyclerview.widget.RecyclerView.LayoutManager, android.view.View); + method protected androidx.recyclerview.widget.LinearSmoothScroller! createSnapScroller(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public android.view.View? findSnapView(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public int findTargetSnapPosition(androidx.recyclerview.widget.RecyclerView.LayoutManager!, int, int); + } + + public class RecyclerView extends android.view.ViewGroup implements androidx.core.view.NestedScrollingChild2 androidx.core.view.NestedScrollingChild3 androidx.core.view.ScrollingView { + ctor public RecyclerView(android.content.Context); + ctor public RecyclerView(android.content.Context, android.util.AttributeSet?); + ctor public RecyclerView(android.content.Context, android.util.AttributeSet?, int); + method public void addItemDecoration(androidx.recyclerview.widget.RecyclerView.ItemDecoration, int); + method public void addItemDecoration(androidx.recyclerview.widget.RecyclerView.ItemDecoration); + method public void addOnChildAttachStateChangeListener(androidx.recyclerview.widget.RecyclerView.OnChildAttachStateChangeListener); + method public void addOnItemTouchListener(androidx.recyclerview.widget.RecyclerView.OnItemTouchListener); + method public void addOnScrollListener(androidx.recyclerview.widget.RecyclerView.OnScrollListener); + method public void clearOnChildAttachStateChangeListeners(); + method public void clearOnScrollListeners(); + method public int computeHorizontalScrollExtent(); + method public int computeHorizontalScrollOffset(); + method public int computeHorizontalScrollRange(); + method public int computeVerticalScrollExtent(); + method public int computeVerticalScrollOffset(); + method public int computeVerticalScrollRange(); + method public boolean dispatchNestedPreScroll(int, int, int[]!, int[]!, int); + method public boolean dispatchNestedScroll(int, int, int, int, int[]!, int); + method public final void dispatchNestedScroll(int, int, int, int, int[]!, int, int[]); + method public boolean drawChild(android.graphics.Canvas!, android.view.View!, long); + method public android.view.View? findChildViewUnder(float, float); + method public android.view.View? findContainingItemView(android.view.View); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder? findContainingViewHolder(android.view.View); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder? findViewHolderForAdapterPosition(int); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder! findViewHolderForItemId(long); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder? findViewHolderForLayoutPosition(int); + method @Deprecated public androidx.recyclerview.widget.RecyclerView.ViewHolder? findViewHolderForPosition(int); + method public boolean fling(int, int); + method public androidx.recyclerview.widget.RecyclerView.Adapter? getAdapter(); + method public int getChildAdapterPosition(android.view.View); + method public long getChildItemId(android.view.View); + method public int getChildLayoutPosition(android.view.View); + method @Deprecated public int getChildPosition(android.view.View); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder! getChildViewHolder(android.view.View); + method public androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate? getCompatAccessibilityDelegate(); + method public void getDecoratedBoundsWithMargins(android.view.View, android.graphics.Rect); + method public androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory getEdgeEffectFactory(); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator? getItemAnimator(); + method public androidx.recyclerview.widget.RecyclerView.ItemDecoration getItemDecorationAt(int); + method public int getItemDecorationCount(); + method public androidx.recyclerview.widget.RecyclerView.LayoutManager? getLayoutManager(); + method public int getMaxFlingVelocity(); + method public int getMinFlingVelocity(); + method public androidx.recyclerview.widget.RecyclerView.OnFlingListener? getOnFlingListener(); + method public boolean getPreserveFocusAfterLayout(); + method public androidx.recyclerview.widget.RecyclerView.RecycledViewPool getRecycledViewPool(); + method public int getScrollState(); + method public boolean hasFixedSize(); + method public boolean hasNestedScrollingParent(int); + method public boolean hasPendingAdapterUpdates(); + method public void invalidateItemDecorations(); + method public boolean isAnimating(); + method public boolean isComputingLayout(); + method @Deprecated public boolean isLayoutFrozen(); + method public final boolean isLayoutSuppressed(); + method public void offsetChildrenHorizontal(@Px int); + method public void offsetChildrenVertical(@Px int); + method public void onChildAttachedToWindow(android.view.View); + method public void onChildDetachedFromWindow(android.view.View); + method public void onDraw(android.graphics.Canvas!); + method public void onScrollStateChanged(int); + method public void onScrolled(@Px int, @Px int); + method public void removeItemDecoration(androidx.recyclerview.widget.RecyclerView.ItemDecoration); + method public void removeItemDecorationAt(int); + method public void removeOnChildAttachStateChangeListener(androidx.recyclerview.widget.RecyclerView.OnChildAttachStateChangeListener); + method public void removeOnItemTouchListener(androidx.recyclerview.widget.RecyclerView.OnItemTouchListener); + method public void removeOnScrollListener(androidx.recyclerview.widget.RecyclerView.OnScrollListener); + method public void scrollToPosition(int); + method public void setAccessibilityDelegateCompat(androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate?); + method public void setAdapter(androidx.recyclerview.widget.RecyclerView.Adapter?); + method public void setChildDrawingOrderCallback(androidx.recyclerview.widget.RecyclerView.ChildDrawingOrderCallback?); + method public void setEdgeEffectFactory(androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory); + method public void setHasFixedSize(boolean); + method public void setItemAnimator(androidx.recyclerview.widget.RecyclerView.ItemAnimator?); + method public void setItemViewCacheSize(int); + method @Deprecated public void setLayoutFrozen(boolean); + method public void setLayoutManager(androidx.recyclerview.widget.RecyclerView.LayoutManager?); + method @Deprecated public void setLayoutTransition(android.animation.LayoutTransition!); + method public void setOnFlingListener(androidx.recyclerview.widget.RecyclerView.OnFlingListener?); + method @Deprecated public void setOnScrollListener(androidx.recyclerview.widget.RecyclerView.OnScrollListener?); + method public void setPreserveFocusAfterLayout(boolean); + method public void setRecycledViewPool(androidx.recyclerview.widget.RecyclerView.RecycledViewPool?); + method public void setRecyclerListener(androidx.recyclerview.widget.RecyclerView.RecyclerListener?); + method public void setScrollingTouchSlop(int); + method public void setViewCacheExtension(androidx.recyclerview.widget.RecyclerView.ViewCacheExtension?); + method public void smoothScrollBy(@Px int, @Px int); + method public void smoothScrollBy(@Px int, @Px int, android.view.animation.Interpolator?); + method public void smoothScrollBy(@Px int, @Px int, android.view.animation.Interpolator?, int); + method public void smoothScrollToPosition(int); + method public boolean startNestedScroll(int, int); + method public void stopNestedScroll(int); + method public void stopScroll(); + method public final void suppressLayout(boolean); + method public void swapAdapter(androidx.recyclerview.widget.RecyclerView.Adapter?, boolean); + field public static final int HORIZONTAL = 0; // 0x0 + field public static final int INVALID_TYPE = -1; // 0xffffffff + field public static final long NO_ID = -1L; // 0xffffffffffffffffL + field public static final int NO_POSITION = -1; // 0xffffffff + field public static final int SCROLL_STATE_DRAGGING = 1; // 0x1 + field public static final int SCROLL_STATE_IDLE = 0; // 0x0 + field public static final int SCROLL_STATE_SETTLING = 2; // 0x2 + field public static final int TOUCH_SLOP_DEFAULT = 0; // 0x0 + field public static final int TOUCH_SLOP_PAGING = 1; // 0x1 + field public static final int UNDEFINED_DURATION = -2147483648; // 0x80000000 + field public static final int VERTICAL = 1; // 0x1 + } + + public abstract static class RecyclerView.Adapter<VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> { + ctor public RecyclerView.Adapter(); + method public final void bindViewHolder(VH, int); + method public final VH createViewHolder(android.view.ViewGroup, int); + method public abstract int getItemCount(); + method public long getItemId(int); + method public int getItemViewType(int); + method public final boolean hasObservers(); + method public final boolean hasStableIds(); + method public final void notifyDataSetChanged(); + method public final void notifyItemChanged(int); + method public final void notifyItemChanged(int, Object?); + method public final void notifyItemInserted(int); + method public final void notifyItemMoved(int, int); + method public final void notifyItemRangeChanged(int, int); + method public final void notifyItemRangeChanged(int, int, Object?); + method public final void notifyItemRangeInserted(int, int); + method public final void notifyItemRangeRemoved(int, int); + method public final void notifyItemRemoved(int); + method public void onAttachedToRecyclerView(androidx.recyclerview.widget.RecyclerView); + method public abstract void onBindViewHolder(VH, int); + method public void onBindViewHolder(VH, int, java.util.List<java.lang.Object!>); + method public abstract VH onCreateViewHolder(android.view.ViewGroup, int); + method public void onDetachedFromRecyclerView(androidx.recyclerview.widget.RecyclerView); + method public boolean onFailedToRecycleView(VH); + method public void onViewAttachedToWindow(VH); + method public void onViewDetachedFromWindow(VH); + method public void onViewRecycled(VH); + method public void registerAdapterDataObserver(androidx.recyclerview.widget.RecyclerView.AdapterDataObserver); + method public void setHasStableIds(boolean); + method public void unregisterAdapterDataObserver(androidx.recyclerview.widget.RecyclerView.AdapterDataObserver); + } + + public abstract static class RecyclerView.AdapterDataObserver { + ctor public RecyclerView.AdapterDataObserver(); + method public void onChanged(); + method public void onItemRangeChanged(int, int); + method public void onItemRangeChanged(int, int, Object?); + method public void onItemRangeInserted(int, int); + method public void onItemRangeMoved(int, int, int); + method public void onItemRangeRemoved(int, int); + } + + public static interface RecyclerView.ChildDrawingOrderCallback { + method public int onGetChildDrawingOrder(int, int); + } + + public static class RecyclerView.EdgeEffectFactory { + ctor public RecyclerView.EdgeEffectFactory(); + method protected android.widget.EdgeEffect createEdgeEffect(androidx.recyclerview.widget.RecyclerView, @androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory.EdgeDirection int); + field public static final int DIRECTION_BOTTOM = 3; // 0x3 + field public static final int DIRECTION_LEFT = 0; // 0x0 + field public static final int DIRECTION_RIGHT = 2; // 0x2 + field public static final int DIRECTION_TOP = 1; // 0x1 + } + + @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @IntDef({androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory.DIRECTION_LEFT, androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory.DIRECTION_TOP, androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory.DIRECTION_RIGHT, androidx.recyclerview.widget.RecyclerView.EdgeEffectFactory.DIRECTION_BOTTOM}) public static @interface RecyclerView.EdgeEffectFactory.EdgeDirection { + } + + public abstract static class RecyclerView.ItemAnimator { + ctor public RecyclerView.ItemAnimator(); + method public abstract boolean animateAppearance(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo?, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public abstract boolean animateChange(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public abstract boolean animateDisappearance(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo?); + method public abstract boolean animatePersistence(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public boolean canReuseUpdatedViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public boolean canReuseUpdatedViewHolder(androidx.recyclerview.widget.RecyclerView.ViewHolder, java.util.List<java.lang.Object!>); + method public final void dispatchAnimationFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public final void dispatchAnimationStarted(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public final void dispatchAnimationsFinished(); + method public abstract void endAnimation(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public abstract void endAnimations(); + method public long getAddDuration(); + method public long getChangeDuration(); + method public long getMoveDuration(); + method public long getRemoveDuration(); + method public abstract boolean isRunning(); + method public final boolean isRunning(androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemAnimatorFinishedListener?); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo obtainHolderInfo(); + method public void onAnimationFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public void onAnimationStarted(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo recordPostLayoutInformation(androidx.recyclerview.widget.RecyclerView.State, androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo recordPreLayoutInformation(androidx.recyclerview.widget.RecyclerView.State, androidx.recyclerview.widget.RecyclerView.ViewHolder, @androidx.recyclerview.widget.RecyclerView.ItemAnimator.AdapterChanges int, java.util.List<java.lang.Object!>); + method public abstract void runPendingAnimations(); + method public void setAddDuration(long); + method public void setChangeDuration(long); + method public void setMoveDuration(long); + method public void setRemoveDuration(long); + field public static final int FLAG_APPEARED_IN_PRE_LAYOUT = 4096; // 0x1000 + field public static final int FLAG_CHANGED = 2; // 0x2 + field public static final int FLAG_INVALIDATED = 4; // 0x4 + field public static final int FLAG_MOVED = 2048; // 0x800 + field public static final int FLAG_REMOVED = 8; // 0x8 + } + + @IntDef(flag=true, value={androidx.recyclerview.widget.RecyclerView.ItemAnimator.FLAG_CHANGED, androidx.recyclerview.widget.RecyclerView.ItemAnimator.FLAG_REMOVED, androidx.recyclerview.widget.RecyclerView.ItemAnimator.FLAG_MOVED, androidx.recyclerview.widget.RecyclerView.ItemAnimator.FLAG_INVALIDATED, androidx.recyclerview.widget.RecyclerView.ItemAnimator.FLAG_APPEARED_IN_PRE_LAYOUT}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface RecyclerView.ItemAnimator.AdapterChanges { + } + + public static interface RecyclerView.ItemAnimator.ItemAnimatorFinishedListener { + method public void onAnimationsFinished(); + } + + public static class RecyclerView.ItemAnimator.ItemHolderInfo { + ctor public RecyclerView.ItemAnimator.ItemHolderInfo(); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo setFrom(androidx.recyclerview.widget.RecyclerView.ViewHolder); + method public androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo setFrom(androidx.recyclerview.widget.RecyclerView.ViewHolder, @androidx.recyclerview.widget.RecyclerView.ItemAnimator.AdapterChanges int); + field public int bottom; + field @androidx.recyclerview.widget.RecyclerView.ItemAnimator.AdapterChanges public int changeFlags; + field public int left; + field public int right; + field public int top; + } + + public abstract static class RecyclerView.ItemDecoration { + ctor public RecyclerView.ItemDecoration(); + method @Deprecated public void getItemOffsets(android.graphics.Rect, int, androidx.recyclerview.widget.RecyclerView); + method public void getItemOffsets(android.graphics.Rect, android.view.View, androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.State); + method public void onDraw(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.State); + method @Deprecated public void onDraw(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView); + method public void onDrawOver(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.State); + method @Deprecated public void onDrawOver(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView); + } + + public abstract static class RecyclerView.LayoutManager { + ctor public RecyclerView.LayoutManager(); + method public void addDisappearingView(android.view.View!); + method public void addDisappearingView(android.view.View!, int); + method public void addView(android.view.View!); + method public void addView(android.view.View!, int); + method public void assertInLayoutOrScroll(String!); + method public void assertNotInLayoutOrScroll(String!); + method public void attachView(android.view.View, int, androidx.recyclerview.widget.RecyclerView.LayoutParams!); + method public void attachView(android.view.View, int); + method public void attachView(android.view.View); + method public void calculateItemDecorationsForChild(android.view.View, android.graphics.Rect); + method public boolean canScrollHorizontally(); + method public boolean canScrollVertically(); + method public boolean checkLayoutParams(androidx.recyclerview.widget.RecyclerView.LayoutParams!); + method public static int chooseSize(int, int, int); + method public void collectAdjacentPrefetchPositions(int, int, androidx.recyclerview.widget.RecyclerView.State!, androidx.recyclerview.widget.RecyclerView.LayoutManager.LayoutPrefetchRegistry!); + method public void collectInitialPrefetchPositions(int, androidx.recyclerview.widget.RecyclerView.LayoutManager.LayoutPrefetchRegistry!); + method public int computeHorizontalScrollExtent(androidx.recyclerview.widget.RecyclerView.State); + method public int computeHorizontalScrollOffset(androidx.recyclerview.widget.RecyclerView.State); + method public int computeHorizontalScrollRange(androidx.recyclerview.widget.RecyclerView.State); + method public int computeVerticalScrollExtent(androidx.recyclerview.widget.RecyclerView.State); + method public int computeVerticalScrollOffset(androidx.recyclerview.widget.RecyclerView.State); + method public int computeVerticalScrollRange(androidx.recyclerview.widget.RecyclerView.State); + method public void detachAndScrapAttachedViews(androidx.recyclerview.widget.RecyclerView.Recycler); + method public void detachAndScrapView(android.view.View, androidx.recyclerview.widget.RecyclerView.Recycler); + method public void detachAndScrapViewAt(int, androidx.recyclerview.widget.RecyclerView.Recycler); + method public void detachView(android.view.View); + method public void detachViewAt(int); + method public void endAnimation(android.view.View!); + method public android.view.View? findContainingItemView(android.view.View); + method public android.view.View? findViewByPosition(int); + method public abstract androidx.recyclerview.widget.RecyclerView.LayoutParams! generateDefaultLayoutParams(); + method public androidx.recyclerview.widget.RecyclerView.LayoutParams! generateLayoutParams(android.view.ViewGroup.LayoutParams!); + method public androidx.recyclerview.widget.RecyclerView.LayoutParams! generateLayoutParams(android.content.Context!, android.util.AttributeSet!); + method public int getBaseline(); + method public int getBottomDecorationHeight(android.view.View); + method public android.view.View? getChildAt(int); + method public int getChildCount(); + method @Deprecated public static int getChildMeasureSpec(int, int, int, boolean); + method public static int getChildMeasureSpec(int, int, int, int, boolean); + method public boolean getClipToPadding(); + method public int getColumnCountForAccessibility(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State); + method public int getDecoratedBottom(android.view.View); + method public void getDecoratedBoundsWithMargins(android.view.View, android.graphics.Rect); + method public int getDecoratedLeft(android.view.View); + method public int getDecoratedMeasuredHeight(android.view.View); + method public int getDecoratedMeasuredWidth(android.view.View); + method public int getDecoratedRight(android.view.View); + method public int getDecoratedTop(android.view.View); + method public android.view.View? getFocusedChild(); + method @Px public int getHeight(); + method public int getHeightMode(); + method public int getItemCount(); + method public int getItemViewType(android.view.View); + method public int getLayoutDirection(); + method public int getLeftDecorationWidth(android.view.View); + method @Px public int getMinimumHeight(); + method @Px public int getMinimumWidth(); + method @Px public int getPaddingBottom(); + method @Px public int getPaddingEnd(); + method @Px public int getPaddingLeft(); + method @Px public int getPaddingRight(); + method @Px public int getPaddingStart(); + method @Px public int getPaddingTop(); + method public int getPosition(android.view.View); + method public static androidx.recyclerview.widget.RecyclerView.LayoutManager.Properties! getProperties(android.content.Context, android.util.AttributeSet?, int, int); + method public int getRightDecorationWidth(android.view.View); + method public int getRowCountForAccessibility(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State); + method public int getSelectionModeForAccessibility(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State); + method public int getTopDecorationHeight(android.view.View); + method public void getTransformedBoundingBox(android.view.View, boolean, android.graphics.Rect); + method @Px public int getWidth(); + method public int getWidthMode(); + method public boolean hasFocus(); + method public void ignoreView(android.view.View); + method public boolean isAttachedToWindow(); + method public boolean isAutoMeasureEnabled(); + method public boolean isFocused(); + method public final boolean isItemPrefetchEnabled(); + method public boolean isLayoutHierarchical(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State); + method public boolean isMeasurementCacheEnabled(); + method public boolean isSmoothScrolling(); + method public boolean isViewPartiallyVisible(android.view.View, boolean, boolean); + method public void layoutDecorated(android.view.View, int, int, int, int); + method public void layoutDecoratedWithMargins(android.view.View, int, int, int, int); + method public void measureChild(android.view.View, int, int); + method public void measureChildWithMargins(android.view.View, int, int); + method public void moveView(int, int); + method public void offsetChildrenHorizontal(@Px int); + method public void offsetChildrenVertical(@Px int); + method public void onAdapterChanged(androidx.recyclerview.widget.RecyclerView.Adapter?, androidx.recyclerview.widget.RecyclerView.Adapter?); + method public boolean onAddFocusables(androidx.recyclerview.widget.RecyclerView, java.util.ArrayList<android.view.View!>, int, int); + method @CallSuper public void onAttachedToWindow(androidx.recyclerview.widget.RecyclerView!); + method @Deprecated public void onDetachedFromWindow(androidx.recyclerview.widget.RecyclerView!); + method @CallSuper public void onDetachedFromWindow(androidx.recyclerview.widget.RecyclerView!, androidx.recyclerview.widget.RecyclerView.Recycler!); + method public android.view.View? onFocusSearchFailed(android.view.View, int, androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State); + method public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent); + method public void onInitializeAccessibilityEvent(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, android.view.accessibility.AccessibilityEvent); + method public void onInitializeAccessibilityNodeInfo(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, androidx.core.view.accessibility.AccessibilityNodeInfoCompat); + method public void onInitializeAccessibilityNodeInfoForItem(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, android.view.View, androidx.core.view.accessibility.AccessibilityNodeInfoCompat); + method public android.view.View? onInterceptFocusSearch(android.view.View, int); + method public void onItemsAdded(androidx.recyclerview.widget.RecyclerView, int, int); + method public void onItemsChanged(androidx.recyclerview.widget.RecyclerView); + method public void onItemsMoved(androidx.recyclerview.widget.RecyclerView, int, int, int); + method public void onItemsRemoved(androidx.recyclerview.widget.RecyclerView, int, int); + method public void onItemsUpdated(androidx.recyclerview.widget.RecyclerView, int, int); + method public void onItemsUpdated(androidx.recyclerview.widget.RecyclerView, int, int, Object?); + method public void onLayoutChildren(androidx.recyclerview.widget.RecyclerView.Recycler!, androidx.recyclerview.widget.RecyclerView.State!); + method public void onLayoutCompleted(androidx.recyclerview.widget.RecyclerView.State!); + method public void onMeasure(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, int, int); + method @Deprecated public boolean onRequestChildFocus(androidx.recyclerview.widget.RecyclerView, android.view.View, android.view.View?); + method public boolean onRequestChildFocus(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.State, android.view.View, android.view.View?); + method public void onRestoreInstanceState(android.os.Parcelable!); + method public android.os.Parcelable? onSaveInstanceState(); + method public void onScrollStateChanged(int); + method public boolean performAccessibilityAction(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, int, android.os.Bundle?); + method public boolean performAccessibilityActionForItem(androidx.recyclerview.widget.RecyclerView.Recycler, androidx.recyclerview.widget.RecyclerView.State, android.view.View, int, android.os.Bundle?); + method public void postOnAnimation(Runnable!); + method public void removeAllViews(); + method public void removeAndRecycleAllViews(androidx.recyclerview.widget.RecyclerView.Recycler); + method public void removeAndRecycleView(android.view.View, androidx.recyclerview.widget.RecyclerView.Recycler); + method public void removeAndRecycleViewAt(int, androidx.recyclerview.widget.RecyclerView.Recycler); + method public boolean removeCallbacks(Runnable!); + method public void removeDetachedView(android.view.View); + method public void removeView(android.view.View!); + method public void removeViewAt(int); + method public boolean requestChildRectangleOnScreen(androidx.recyclerview.widget.RecyclerView, android.view.View, android.graphics.Rect, boolean); + method public boolean requestChildRectangleOnScreen(androidx.recyclerview.widget.RecyclerView, android.view.View, android.graphics.Rect, boolean, boolean); + method public void requestLayout(); + method public void requestSimpleAnimationsInNextLayout(); + method public int scrollHorizontallyBy(int, androidx.recyclerview.widget.RecyclerView.Recycler!, androidx.recyclerview.widget.RecyclerView.State!); + method public void scrollToPosition(int); + method public int scrollVerticallyBy(int, androidx.recyclerview.widget.RecyclerView.Recycler!, androidx.recyclerview.widget.RecyclerView.State!); + method @Deprecated public void setAutoMeasureEnabled(boolean); + method public final void setItemPrefetchEnabled(boolean); + method public void setMeasuredDimension(android.graphics.Rect!, int, int); + method public void setMeasuredDimension(int, int); + method public void setMeasurementCacheEnabled(boolean); + method public void smoothScrollToPosition(androidx.recyclerview.widget.RecyclerView!, androidx.recyclerview.widget.RecyclerView.State!, int); + method public void startSmoothScroll(androidx.recyclerview.widget.RecyclerView.SmoothScroller!); + method public void stopIgnoringView(android.view.View); + method public boolean supportsPredictiveItemAnimations(); + } + + public static interface RecyclerView.LayoutManager.LayoutPrefetchRegistry { + method public void addPosition(int, int); + } + + public static class RecyclerView.LayoutManager.Properties { + ctor public RecyclerView.LayoutManager.Properties(); + field public int orientation; + field public boolean reverseLayout; + field public int spanCount; + field public boolean stackFromEnd; + } + + public static class RecyclerView.LayoutParams extends android.view.ViewGroup.MarginLayoutParams { + ctor public RecyclerView.LayoutParams(android.content.Context!, android.util.AttributeSet!); + ctor public RecyclerView.LayoutParams(int, int); + ctor public RecyclerView.LayoutParams(android.view.ViewGroup.MarginLayoutParams!); + ctor public RecyclerView.LayoutParams(android.view.ViewGroup.LayoutParams!); + ctor public RecyclerView.LayoutParams(androidx.recyclerview.widget.RecyclerView.LayoutParams!); + method public int getViewAdapterPosition(); + method public int getViewLayoutPosition(); + method @Deprecated public int getViewPosition(); + method public boolean isItemChanged(); + method public boolean isItemRemoved(); + method public boolean isViewInvalid(); + method public boolean viewNeedsUpdate(); + } + + public static interface RecyclerView.OnChildAttachStateChangeListener { + method public void onChildViewAttachedToWindow(android.view.View); + method public void onChildViewDetachedFromWindow(android.view.View); + } + + public abstract static class RecyclerView.OnFlingListener { + ctor public RecyclerView.OnFlingListener(); + method public abstract boolean onFling(int, int); + } + + public static interface RecyclerView.OnItemTouchListener { + method public boolean onInterceptTouchEvent(androidx.recyclerview.widget.RecyclerView, android.view.MotionEvent); + method public void onRequestDisallowInterceptTouchEvent(boolean); + method public void onTouchEvent(androidx.recyclerview.widget.RecyclerView, android.view.MotionEvent); + } + + public abstract static class RecyclerView.OnScrollListener { + ctor public RecyclerView.OnScrollListener(); + method public void onScrollStateChanged(androidx.recyclerview.widget.RecyclerView, int); + method public void onScrolled(androidx.recyclerview.widget.RecyclerView, int, int); + } + + @IntDef({androidx.recyclerview.widget.RecyclerView.HORIZONTAL, androidx.recyclerview.widget.RecyclerView.VERTICAL}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface RecyclerView.Orientation { + } + + public static class RecyclerView.RecycledViewPool { + ctor public RecyclerView.RecycledViewPool(); + method public void clear(); + method public androidx.recyclerview.widget.RecyclerView.ViewHolder? getRecycledView(int); + method public int getRecycledViewCount(int); + method public void putRecycledView(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void setMaxRecycledViews(int, int); + } + + public final class RecyclerView.Recycler { + ctor public RecyclerView.Recycler(); + method public void bindViewToPosition(android.view.View, int); + method public void clear(); + method public int convertPreLayoutPositionToPostLayout(int); + method public java.util.List<androidx.recyclerview.widget.RecyclerView.ViewHolder!> getScrapList(); + method public android.view.View getViewForPosition(int); + method public void recycleView(android.view.View); + method public void setViewCacheSize(int); + } + + public static interface RecyclerView.RecyclerListener { + method public void onViewRecycled(androidx.recyclerview.widget.RecyclerView.ViewHolder); + } + + + public static class RecyclerView.SimpleOnItemTouchListener implements androidx.recyclerview.widget.RecyclerView.OnItemTouchListener { + ctor public RecyclerView.SimpleOnItemTouchListener(); + method public boolean onInterceptTouchEvent(androidx.recyclerview.widget.RecyclerView, android.view.MotionEvent); + method public void onRequestDisallowInterceptTouchEvent(boolean); + method public void onTouchEvent(androidx.recyclerview.widget.RecyclerView, android.view.MotionEvent); + } + + public abstract static class RecyclerView.SmoothScroller { + ctor public RecyclerView.SmoothScroller(); + method public android.graphics.PointF? computeScrollVectorForPosition(int); + method public android.view.View! findViewByPosition(int); + method public int getChildCount(); + method public int getChildPosition(android.view.View!); + method public androidx.recyclerview.widget.RecyclerView.LayoutManager? getLayoutManager(); + method public int getTargetPosition(); + method @Deprecated public void instantScrollToPosition(int); + method public boolean isPendingInitialRun(); + method public boolean isRunning(); + method protected void normalize(android.graphics.PointF); + method protected void onChildAttachedToWindow(android.view.View!); + method protected abstract void onSeekTargetStep(@Px int, @Px int, androidx.recyclerview.widget.RecyclerView.State, androidx.recyclerview.widget.RecyclerView.SmoothScroller.Action); + method protected abstract void onStart(); + method protected abstract void onStop(); + method protected abstract void onTargetFound(android.view.View, androidx.recyclerview.widget.RecyclerView.State, androidx.recyclerview.widget.RecyclerView.SmoothScroller.Action); + method public void setTargetPosition(int); + method protected final void stop(); + } + + public static class RecyclerView.SmoothScroller.Action { + ctor public RecyclerView.SmoothScroller.Action(@Px int, @Px int); + ctor public RecyclerView.SmoothScroller.Action(@Px int, @Px int, int); + ctor public RecyclerView.SmoothScroller.Action(@Px int, @Px int, int, android.view.animation.Interpolator?); + method public int getDuration(); + method @Px public int getDx(); + method @Px public int getDy(); + method public android.view.animation.Interpolator? getInterpolator(); + method public void jumpTo(int); + method public void setDuration(int); + method public void setDx(@Px int); + method public void setDy(@Px int); + method public void setInterpolator(android.view.animation.Interpolator?); + method public void update(@Px int, @Px int, int, android.view.animation.Interpolator?); + field public static final int UNDEFINED_DURATION = -2147483648; // 0x80000000 + } + + public static interface RecyclerView.SmoothScroller.ScrollVectorProvider { + method public android.graphics.PointF? computeScrollVectorForPosition(int); + } + + public static class RecyclerView.State { + ctor public RecyclerView.State(); + method public boolean didStructureChange(); + method public <T> T! get(int); + method public int getItemCount(); + method public int getRemainingScrollHorizontal(); + method public int getRemainingScrollVertical(); + method public int getTargetScrollPosition(); + method public boolean hasTargetScrollPosition(); + method public boolean isMeasuring(); + method public boolean isPreLayout(); + method public void put(int, Object!); + method public void remove(int); + method public boolean willRunPredictiveAnimations(); + method public boolean willRunSimpleAnimations(); + } + + public abstract static class RecyclerView.ViewCacheExtension { + ctor public RecyclerView.ViewCacheExtension(); + method public abstract android.view.View? getViewForPositionAndType(androidx.recyclerview.widget.RecyclerView.Recycler, int, int); + } + + public abstract static class RecyclerView.ViewHolder { + ctor public RecyclerView.ViewHolder(android.view.View); + method public final int getAdapterPosition(); + method public final long getItemId(); + method public final int getItemViewType(); + method public final int getLayoutPosition(); + method public final int getOldPosition(); + method @Deprecated public final int getPosition(); + method public final boolean isRecyclable(); + method public final void setIsRecyclable(boolean); + field public final android.view.View itemView; + } + + public class RecyclerViewAccessibilityDelegate extends androidx.core.view.AccessibilityDelegateCompat { + ctor public RecyclerViewAccessibilityDelegate(androidx.recyclerview.widget.RecyclerView); + method public androidx.core.view.AccessibilityDelegateCompat getItemDelegate(); + } + + public static class RecyclerViewAccessibilityDelegate.ItemDelegate extends androidx.core.view.AccessibilityDelegateCompat { + ctor public RecyclerViewAccessibilityDelegate.ItemDelegate(androidx.recyclerview.widget.RecyclerViewAccessibilityDelegate); + } + + public abstract class SimpleItemAnimator extends androidx.recyclerview.widget.RecyclerView.ItemAnimator { + ctor public SimpleItemAnimator(); + method public abstract boolean animateAdd(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public boolean animateAppearance(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo?, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public boolean animateChange(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public abstract boolean animateChange(androidx.recyclerview.widget.RecyclerView.ViewHolder!, androidx.recyclerview.widget.RecyclerView.ViewHolder!, int, int, int, int); + method public boolean animateDisappearance(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo?); + method public abstract boolean animateMove(androidx.recyclerview.widget.RecyclerView.ViewHolder!, int, int, int, int); + method public boolean animatePersistence(androidx.recyclerview.widget.RecyclerView.ViewHolder, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo, androidx.recyclerview.widget.RecyclerView.ItemAnimator.ItemHolderInfo); + method public abstract boolean animateRemove(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchAddFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchAddStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchChangeFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!, boolean); + method public final void dispatchChangeStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!, boolean); + method public final void dispatchMoveFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchMoveStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchRemoveFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public final void dispatchRemoveStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public boolean getSupportsChangeAnimations(); + method public void onAddFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void onAddStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void onChangeFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!, boolean); + method public void onChangeStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!, boolean); + method public void onMoveFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void onMoveStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void onRemoveFinished(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void onRemoveStarting(androidx.recyclerview.widget.RecyclerView.ViewHolder!); + method public void setSupportsChangeAnimations(boolean); + } + + public abstract class SnapHelper extends androidx.recyclerview.widget.RecyclerView.OnFlingListener { + ctor public SnapHelper(); + method public void attachToRecyclerView(androidx.recyclerview.widget.RecyclerView?) throws java.lang.IllegalStateException; + method public abstract int[]? calculateDistanceToFinalSnap(androidx.recyclerview.widget.RecyclerView.LayoutManager, android.view.View); + method public int[]! calculateScrollDistance(int, int); + method protected androidx.recyclerview.widget.RecyclerView.SmoothScroller? createScroller(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method @Deprecated protected androidx.recyclerview.widget.LinearSmoothScroller? createSnapScroller(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public abstract android.view.View? findSnapView(androidx.recyclerview.widget.RecyclerView.LayoutManager!); + method public abstract int findTargetSnapPosition(androidx.recyclerview.widget.RecyclerView.LayoutManager!, int, int); + method public boolean onFling(int, int); + } + + public class SortedList<T> { + ctor public SortedList(Class<T!>, androidx.recyclerview.widget.SortedList.Callback<T!>); + ctor public SortedList(Class<T!>, androidx.recyclerview.widget.SortedList.Callback<T!>, int); + method public int add(T!); + method public void addAll(T![], boolean); + method public void addAll(T!...); + method public void addAll(java.util.Collection<T!>); + method public void beginBatchedUpdates(); + method public void clear(); + method public void endBatchedUpdates(); + method public T! get(int) throws java.lang.IndexOutOfBoundsException; + method public int indexOf(T!); + method public void recalculatePositionOfItemAt(int); + method public boolean remove(T!); + method public T! removeItemAt(int); + method public void replaceAll(T![], boolean); + method public void replaceAll(T!...); + method public void replaceAll(java.util.Collection<T!>); + method public int size(); + method public void updateItemAt(int, T!); + field public static final int INVALID_POSITION = -1; // 0xffffffff + } + + public static class SortedList.BatchedCallback<T2> extends androidx.recyclerview.widget.SortedList.Callback<T2> { + ctor public SortedList.BatchedCallback(androidx.recyclerview.widget.SortedList.Callback<T2!>!); + method public boolean areContentsTheSame(T2!, T2!); + method public boolean areItemsTheSame(T2!, T2!); + method public int compare(T2!, T2!); + method public void dispatchLastEvent(); + method public void onChanged(int, int); + method public void onInserted(int, int); + method public void onMoved(int, int); + method public void onRemoved(int, int); + } + + public abstract static class SortedList.Callback<T2> implements java.util.Comparator<T2> androidx.recyclerview.widget.ListUpdateCallback { + ctor public SortedList.Callback(); + method public abstract boolean areContentsTheSame(T2!, T2!); + method public abstract boolean areItemsTheSame(T2!, T2!); + method public abstract int compare(T2!, T2!); + method public Object? getChangePayload(T2!, T2!); + method public abstract void onChanged(int, int); + method public void onChanged(int, int, Object!); + } + + public abstract class SortedListAdapterCallback<T2> extends androidx.recyclerview.widget.SortedList.Callback<T2> { + ctor public SortedListAdapterCallback(androidx.recyclerview.widget.RecyclerView.Adapter!); + method public void onChanged(int, int); + method public void onInserted(int, int); + method public void onMoved(int, int); + method public void onRemoved(int, int); + } + + public class StaggeredGridLayoutManager extends androidx.recyclerview.widget.RecyclerView.LayoutManager implements androidx.recyclerview.widget.RecyclerView.SmoothScroller.ScrollVectorProvider { + ctor public StaggeredGridLayoutManager(android.content.Context!, android.util.AttributeSet!, int, int); + ctor public StaggeredGridLayoutManager(int, int); + method public android.graphics.PointF! computeScrollVectorForPosition(int); + method public int[]! findFirstCompletelyVisibleItemPositions(int[]!); + method public int[]! findFirstVisibleItemPositions(int[]!); + method public int[]! findLastCompletelyVisibleItemPositions(int[]!); + method public int[]! findLastVisibleItemPositions(int[]!); + method public androidx.recyclerview.widget.RecyclerView.LayoutParams! generateDefaultLayoutParams(); + method public int getGapStrategy(); + method public int getOrientation(); + method public boolean getReverseLayout(); + method public int getSpanCount(); + method public void invalidateSpanAssignments(); + method public void scrollToPositionWithOffset(int, int); + method public void setGapStrategy(int); + method public void setOrientation(int); + method public void setReverseLayout(boolean); + method public void setSpanCount(int); + field @Deprecated public static final int GAP_HANDLING_LAZY = 1; // 0x1 + field public static final int GAP_HANDLING_MOVE_ITEMS_BETWEEN_SPANS = 2; // 0x2 + field public static final int GAP_HANDLING_NONE = 0; // 0x0 + field public static final int HORIZONTAL = 0; // 0x0 + field public static final int VERTICAL = 1; // 0x1 + } + + public static class StaggeredGridLayoutManager.LayoutParams extends androidx.recyclerview.widget.RecyclerView.LayoutParams { + ctor public StaggeredGridLayoutManager.LayoutParams(android.content.Context!, android.util.AttributeSet!); + ctor public StaggeredGridLayoutManager.LayoutParams(int, int); + ctor public StaggeredGridLayoutManager.LayoutParams(android.view.ViewGroup.MarginLayoutParams!); + ctor public StaggeredGridLayoutManager.LayoutParams(android.view.ViewGroup.LayoutParams!); + ctor public StaggeredGridLayoutManager.LayoutParams(androidx.recyclerview.widget.RecyclerView.LayoutParams!); + method public final int getSpanIndex(); + method public boolean isFullSpan(); + method public void setFullSpan(boolean); + field public static final int INVALID_SPAN_ID = -1; // 0xffffffff + } + + +} + |