文本文件  |  1011行  |  65.55 KB

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, java.lang.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 java.util.List<T> getCurrentList();
    method public void submitList(java.util.List<T>);
  }

  public class AsyncListUtil<T> {
    ctor public AsyncListUtil(java.lang.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 static abstract class AsyncListUtil.DataCallback<T> {
    ctor public AsyncListUtil.DataCallback();
    method public abstract void fillData(T[], int, int);
    method public int getMaxCachedTiles();
    method public void recycleData(T[], int);
    method public abstract int refreshData();
  }

  public static abstract class AsyncListUtil.ViewCallback {
    ctor public AsyncListUtil.ViewCallback();
    method public void extendRangeInto(int[], int[], int);
    method public abstract void getItemRangeInto(int[]);
    method public abstract void onDataRefresh();
    method 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, java.lang.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 static abstract class DiffUtil.Callback {
    ctor public DiffUtil.Callback();
    method public abstract boolean areContentsTheSame(int, int);
    method public abstract boolean areItemsTheSame(int, int);
    method public java.lang.Object getChangePayload(int, int);
    method public abstract int getNewListSize();
    method public abstract int getOldListSize();
  }

  public static class DiffUtil.DiffResult {
    method public void dispatchUpdatesTo(androidx.recyclerview.widget.RecyclerView.Adapter);
    method public void dispatchUpdatesTo(androidx.recyclerview.widget.ListUpdateCallback);
  }

  public static abstract class DiffUtil.ItemCallback<T> {
    ctor public DiffUtil.ItemCallback();
    method public abstract boolean areContentsTheSame(T, T);
    method public abstract boolean areItemsTheSame(T, T);
    method public java.lang.Object getChangePayload(T, T);
  }

  public class DividerItemDecoration extends androidx.recyclerview.widget.RecyclerView.ItemDecoration {
    ctor public DividerItemDecoration(android.content.Context, int);
    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 void setSpanCount(int);
    method public void setSpanSizeLookup(androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup);
    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 static abstract 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 invalidateSpanIndexCache();
    method public boolean isSpanIndexCacheEnabled();
    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 static abstract 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 static abstract 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 abstract interface ItemTouchHelper.ViewDropHandler {
    method public abstract void prepareForDrop(android.view.View, android.view.View, int, int);
  }

  public abstract interface ItemTouchUIUtil {
    method public abstract void clearView(android.view.View);
    method public abstract void onDraw(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView, android.view.View, float, float, int, boolean);
    method public abstract void onDrawOver(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView, android.view.View, float, float, int, boolean);
    method public abstract 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 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 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 {
    ctor protected ListAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T>);
    ctor protected ListAdapter(androidx.recyclerview.widget.AsyncDifferConfig<T>);
    method protected T getItem(int);
    method public int getItemCount();
    method public void submitList(java.util.List<T>);
  }

  public abstract interface ListUpdateCallback {
    method public abstract void onChanged(int, int, java.lang.Object);
    method public abstract void onInserted(int, int);
    method public abstract void onMoved(int, int);
    method public abstract 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.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 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 public deprecated 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 public deprecated 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 public boolean isLayoutFrozen();
    method public void offsetChildrenHorizontal(int);
    method public void offsetChildrenVertical(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(int, 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 public void setLayoutFrozen(boolean);
    method public void setLayoutManager(androidx.recyclerview.widget.RecyclerView.LayoutManager);
    method public void setOnFlingListener(androidx.recyclerview.widget.RecyclerView.OnFlingListener);
    method public deprecated 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(int, int);
    method public void smoothScrollBy(int, int, android.view.animation.Interpolator);
    method public void smoothScrollToPosition(int);
    method public boolean startNestedScroll(int, int);
    method public void stopNestedScroll(int);
    method public void stopScroll();
    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 VERTICAL = 1; // 0x1
  }

  public static abstract 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, java.lang.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, java.lang.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 static abstract class RecyclerView.AdapterDataObserver {
    ctor public RecyclerView.AdapterDataObserver();
    method public void onChanged();
    method public void onItemRangeChanged(int, int);
    method public void onItemRangeChanged(int, int, java.lang.Object);
    method public void onItemRangeInserted(int, int);
    method public void onItemRangeMoved(int, int, int);
    method public void onItemRangeRemoved(int, int);
  }

  public static abstract interface RecyclerView.ChildDrawingOrderCallback {
    method public abstract int onGetChildDrawingOrder(int, int);
  }

  public static class RecyclerView.EdgeEffectFactory {
    ctor public RecyclerView.EdgeEffectFactory();
    method protected android.widget.EdgeEffect createEdgeEffect(androidx.recyclerview.widget.RecyclerView, 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
  }

  public static abstract class RecyclerView.EdgeEffectFactory.EdgeDirection implements java.lang.annotation.Annotation {
  }

  public static abstract 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, 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
  }

  public static abstract class RecyclerView.ItemAnimator.AdapterChanges implements java.lang.annotation.Annotation {
  }

  public static abstract interface RecyclerView.ItemAnimator.ItemAnimatorFinishedListener {
    method public abstract 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, int);
    field public int bottom;
    field public int changeFlags;
    field public int left;
    field public int right;
    field public int top;
  }

  public static abstract class RecyclerView.ItemDecoration {
    ctor public RecyclerView.ItemDecoration();
    method public deprecated 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 public deprecated 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 public deprecated void onDrawOver(android.graphics.Canvas, androidx.recyclerview.widget.RecyclerView);
  }

  public static abstract 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(java.lang.String);
    method public void assertNotInLayoutOrScroll(java.lang.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 public static deprecated 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 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 public int getMinimumHeight();
    method public int getMinimumWidth();
    method public int getPaddingBottom();
    method public int getPaddingEnd();
    method public int getPaddingLeft();
    method public int getPaddingRight();
    method public int getPaddingStart();
    method 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 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(int);
    method public void offsetChildrenVertical(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 public void onAttachedToWindow(androidx.recyclerview.widget.RecyclerView);
    method public deprecated void onDetachedFromWindow(androidx.recyclerview.widget.RecyclerView);
    method 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, java.lang.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 public deprecated 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(java.lang.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(java.lang.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 public deprecated 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 abstract interface RecyclerView.LayoutManager.LayoutPrefetchRegistry {
    method public abstract 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 public deprecated int getViewPosition();
    method public boolean isItemChanged();
    method public boolean isItemRemoved();
    method public boolean isViewInvalid();
    method public boolean viewNeedsUpdate();
  }

  public static abstract interface RecyclerView.OnChildAttachStateChangeListener {
    method public abstract void onChildViewAttachedToWindow(android.view.View);
    method public abstract void onChildViewDetachedFromWindow(android.view.View);
  }

  public static abstract class RecyclerView.OnFlingListener {
    ctor public RecyclerView.OnFlingListener();
    method public abstract boolean onFling(int, int);
  }

  public static abstract interface RecyclerView.OnItemTouchListener {
    method public abstract boolean onInterceptTouchEvent(androidx.recyclerview.widget.RecyclerView, android.view.MotionEvent);
    method public abstract void onRequestDisallowInterceptTouchEvent(boolean);
    method public abstract void onTouchEvent(androidx.recyclerview.widget.RecyclerView, android.view.MotionEvent);
  }

  public static abstract 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 abstract interface RecyclerView.RecyclerListener {
    method public abstract 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 static abstract 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 public deprecated 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(int, 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(int, int);
    ctor public RecyclerView.SmoothScroller.Action(int, int, int);
    ctor public RecyclerView.SmoothScroller.Action(int, int, int, android.view.animation.Interpolator);
    method public int getDuration();
    method public int getDx();
    method public int getDy();
    method public android.view.animation.Interpolator getInterpolator();
    method public void jumpTo(int);
    method public void setDuration(int);
    method public void setDx(int);
    method public void setDy(int);
    method public void setInterpolator(android.view.animation.Interpolator);
    method public void update(int, int, int, android.view.animation.Interpolator);
    field public static final int UNDEFINED_DURATION = -2147483648; // 0x80000000
  }

  public static abstract interface RecyclerView.SmoothScroller.ScrollVectorProvider {
    method public abstract 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, java.lang.Object);
    method public void remove(int);
    method public boolean willRunPredictiveAnimations();
    method public boolean willRunSimpleAnimations();
  }

  public static abstract class RecyclerView.ViewCacheExtension {
    ctor public RecyclerView.ViewCacheExtension();
    method public abstract android.view.View getViewForPositionAndType(androidx.recyclerview.widget.RecyclerView.Recycler, int, int);
  }

  public static abstract 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 public final deprecated 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 protected deprecated 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(java.lang.Class<T>, androidx.recyclerview.widget.SortedList.Callback<T>);
    ctor public SortedList(java.lang.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 {
    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 static abstract class SortedList.Callback<T2> implements java.util.Comparator 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 java.lang.Object getChangePayload(T2, T2);
    method public abstract void onChanged(int, int);
    method public void onChanged(int, int, java.lang.Object);
  }

  public abstract class SortedListAdapterCallback<T2> extends androidx.recyclerview.widget.SortedList.Callback {
    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 public static final deprecated 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
  }

}