package android.support.v7.util {

  public class SortedList {
    ctor public SortedList(java.lang.Class<T>, android.support.v7.util.SortedList.Callback<T>);
    ctor public SortedList(java.lang.Class<T>, android.support.v7.util.SortedList.Callback<T>, int);
    method public int add(T);
    method public void beginBatchedUpdates();
    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 int size();
    method public void updateItemAt(int, T);
    field public static final int INVALID_POSITION = -1; // 0xffffffff
  }

  public static class SortedList.BatchedCallback extends android.support.v7.util.SortedList.Callback {
    ctor public SortedList.BatchedCallback(android.support.v7.util.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 {
    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 abstract void onChanged(int, int);
    method public abstract void onInserted(int, int);
    method public abstract void onMoved(int, int);
    method public abstract void onRemoved(int, int);
  }

}

package android.support.v7.widget {

  public class DefaultItemAnimator extends android.support.v7.widget.RecyclerView.ItemAnimator {
    ctor public DefaultItemAnimator();
    method public boolean animateAdd(android.support.v7.widget.RecyclerView.ViewHolder);
    method public boolean animateChange(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int);
    method public boolean animateMove(android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int);
    method public boolean animateRemove(android.support.v7.widget.RecyclerView.ViewHolder);
    method public void endAnimation(android.support.v7.widget.RecyclerView.ViewHolder);
    method public void endAnimations();
    method public boolean isRunning();
    method public void runPendingAnimations();
  }

  public class GridLayoutManager extends android.support.v7.widget.LinearLayoutManager {
    ctor public GridLayoutManager(android.content.Context, int);
    ctor public GridLayoutManager(android.content.Context, int, int, boolean);
    method public int getSpanCount();
    method public android.support.v7.widget.GridLayoutManager.SpanSizeLookup getSpanSizeLookup();
    method public void setSpanCount(int);
    method public void setSpanSizeLookup(android.support.v7.widget.GridLayoutManager.SpanSizeLookup);
    field public static final int DEFAULT_SPAN_COUNT = -1; // 0xffffffff
  }

  public static final class GridLayoutManager.DefaultSpanSizeLookup extends android.support.v7.widget.GridLayoutManager.SpanSizeLookup {
    ctor public GridLayoutManager.DefaultSpanSizeLookup();
    method public int getSpanSize(int);
  }

  public static class GridLayoutManager.LayoutParams extends android.support.v7.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(android.support.v7.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 LinearLayoutManager extends android.support.v7.widget.RecyclerView.LayoutManager {
    ctor public LinearLayoutManager(android.content.Context);
    ctor public LinearLayoutManager(android.content.Context, int, boolean);
    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 android.support.v7.widget.RecyclerView.LayoutParams generateDefaultLayoutParams();
    method protected int getExtraLayoutSpace(android.support.v7.widget.RecyclerView.State);
    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 scrollToPositionWithOffset(int, 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 abstract class LinearSmoothScroller extends android.support.v7.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 public abstract android.graphics.PointF computeScrollVectorForPosition(int);
    method protected int getHorizontalSnapPreference();
    method protected int getVerticalSnapPreference();
    method protected void onSeekTargetStep(int, int, android.support.v7.widget.RecyclerView.State, android.support.v7.widget.RecyclerView.SmoothScroller.Action);
    method protected void onStart();
    method protected void onStop();
    method protected void onTargetFound(android.view.View, android.support.v7.widget.RecyclerView.State, android.support.v7.widget.RecyclerView.SmoothScroller.Action);
    method protected void updateActionForInterimTarget(android.support.v7.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 abstract class OrientationHelper {
    method public static android.support.v7.widget.OrientationHelper createHorizontalHelper(android.support.v7.widget.RecyclerView.LayoutManager);
    method public static android.support.v7.widget.OrientationHelper createOrientationHelper(android.support.v7.widget.RecyclerView.LayoutManager, int);
    method public static android.support.v7.widget.OrientationHelper createVerticalHelper(android.support.v7.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 abstract int getStartAfterPadding();
    method public abstract int getTotalSpace();
    method public int getTotalSpaceChange();
    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 android.support.v7.widget.RecyclerView.LayoutManager mLayoutManager;
  }

  public class RecyclerView extends android.view.ViewGroup {
    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(android.support.v7.widget.RecyclerView.ItemDecoration, int);
    method public void addItemDecoration(android.support.v7.widget.RecyclerView.ItemDecoration);
    method public void addOnItemTouchListener(android.support.v7.widget.RecyclerView.OnItemTouchListener);
    method public void addOnScrollListener(android.support.v7.widget.RecyclerView.OnScrollListener);
    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 android.view.View findChildViewUnder(float, float);
    method public android.support.v7.widget.RecyclerView.ViewHolder findViewHolderForAdapterPosition(int);
    method public android.support.v7.widget.RecyclerView.ViewHolder findViewHolderForItemId(long);
    method public android.support.v7.widget.RecyclerView.ViewHolder findViewHolderForLayoutPosition(int);
    method public deprecated android.support.v7.widget.RecyclerView.ViewHolder findViewHolderForPosition(int);
    method public boolean fling(int, int);
    method public android.support.v7.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 android.support.v7.widget.RecyclerView.ViewHolder getChildViewHolder(android.view.View);
    method public android.support.v7.widget.RecyclerViewAccessibilityDelegate getCompatAccessibilityDelegate();
    method public android.support.v7.widget.RecyclerView.ItemAnimator getItemAnimator();
    method public android.support.v7.widget.RecyclerView.LayoutManager getLayoutManager();
    method public android.support.v7.widget.RecyclerView.RecycledViewPool getRecycledViewPool();
    method public int getScrollState();
    method public boolean hasFixedSize();
    method public boolean hasPendingAdapterUpdates();
    method public void invalidateItemDecorations();
    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 protected void onLayout(boolean, int, int, int, int);
    method public void onScrollStateChanged(int);
    method public void onScrolled(int, int);
    method public void removeItemDecoration(android.support.v7.widget.RecyclerView.ItemDecoration);
    method public void removeOnItemTouchListener(android.support.v7.widget.RecyclerView.OnItemTouchListener);
    method public void removeOnScrollListener(android.support.v7.widget.RecyclerView.OnScrollListener);
    method public void scrollToPosition(int);
    method public void setAccessibilityDelegateCompat(android.support.v7.widget.RecyclerViewAccessibilityDelegate);
    method public void setAdapter(android.support.v7.widget.RecyclerView.Adapter);
    method public void setHasFixedSize(boolean);
    method public void setItemAnimator(android.support.v7.widget.RecyclerView.ItemAnimator);
    method public void setItemViewCacheSize(int);
    method public void setLayoutManager(android.support.v7.widget.RecyclerView.LayoutManager);
    method public deprecated void setOnScrollListener(android.support.v7.widget.RecyclerView.OnScrollListener);
    method public void setRecycledViewPool(android.support.v7.widget.RecyclerView.RecycledViewPool);
    method public void setRecyclerListener(android.support.v7.widget.RecyclerView.RecyclerListener);
    method public void setScrollingTouchSlop(int);
    method public void setViewCacheExtension(android.support.v7.widget.RecyclerView.ViewCacheExtension);
    method public void smoothScrollBy(int, int);
    method public void smoothScrollToPosition(int);
    method public void stopScroll();
    method public void swapAdapter(android.support.v7.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 {
    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 notifyItemInserted(int);
    method public final void notifyItemMoved(int, int);
    method public final void notifyItemRangeChanged(int, int);
    method public final void notifyItemRangeInserted(int, int);
    method public final void notifyItemRangeRemoved(int, int);
    method public final void notifyItemRemoved(int);
    method public void onAttachedToRecyclerView(android.support.v7.widget.RecyclerView);
    method public abstract void onBindViewHolder(VH, int);
    method public abstract VH onCreateViewHolder(android.view.ViewGroup, int);
    method public void onDetachedFromRecyclerView(android.support.v7.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(android.support.v7.widget.RecyclerView.AdapterDataObserver);
    method public void setHasStableIds(boolean);
    method public void unregisterAdapterDataObserver(android.support.v7.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 onItemRangeInserted(int, int);
    method public void onItemRangeMoved(int, int, int);
    method public void onItemRangeRemoved(int, int);
  }

  public static abstract class RecyclerView.ItemAnimator {
    ctor public RecyclerView.ItemAnimator();
    method public abstract boolean animateAdd(android.support.v7.widget.RecyclerView.ViewHolder);
    method public abstract boolean animateChange(android.support.v7.widget.RecyclerView.ViewHolder, android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int);
    method public abstract boolean animateMove(android.support.v7.widget.RecyclerView.ViewHolder, int, int, int, int);
    method public abstract boolean animateRemove(android.support.v7.widget.RecyclerView.ViewHolder);
    method public final void dispatchAddFinished(android.support.v7.widget.RecyclerView.ViewHolder);
    method public final void dispatchAddStarting(android.support.v7.widget.RecyclerView.ViewHolder);
    method public final void dispatchAnimationsFinished();
    method public final void dispatchChangeFinished(android.support.v7.widget.RecyclerView.ViewHolder, boolean);
    method public final void dispatchChangeStarting(android.support.v7.widget.RecyclerView.ViewHolder, boolean);
    method public final void dispatchMoveFinished(android.support.v7.widget.RecyclerView.ViewHolder);
    method public final void dispatchMoveStarting(android.support.v7.widget.RecyclerView.ViewHolder);
    method public final void dispatchRemoveFinished(android.support.v7.widget.RecyclerView.ViewHolder);
    method public final void dispatchRemoveStarting(android.support.v7.widget.RecyclerView.ViewHolder);
    method public abstract void endAnimation(android.support.v7.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 boolean getSupportsChangeAnimations();
    method public abstract boolean isRunning();
    method public final boolean isRunning(android.support.v7.widget.RecyclerView.ItemAnimator.ItemAnimatorFinishedListener);
    method public void onAddFinished(android.support.v7.widget.RecyclerView.ViewHolder);
    method public void onAddStarting(android.support.v7.widget.RecyclerView.ViewHolder);
    method public void onChangeFinished(android.support.v7.widget.RecyclerView.ViewHolder, boolean);
    method public void onChangeStarting(android.support.v7.widget.RecyclerView.ViewHolder, boolean);
    method public void onMoveFinished(android.support.v7.widget.RecyclerView.ViewHolder);
    method public void onMoveStarting(android.support.v7.widget.RecyclerView.ViewHolder);
    method public void onRemoveFinished(android.support.v7.widget.RecyclerView.ViewHolder);
    method public void onRemoveStarting(android.support.v7.widget.RecyclerView.ViewHolder);
    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);
    method public void setSupportsChangeAnimations(boolean);
  }

  public static abstract interface RecyclerView.ItemAnimator.ItemAnimatorFinishedListener {
    method public abstract void onAnimationsFinished();
  }

  public static abstract class RecyclerView.ItemDecoration {
    ctor public RecyclerView.ItemDecoration();
    method public deprecated void getItemOffsets(android.graphics.Rect, int, android.support.v7.widget.RecyclerView);
    method public void getItemOffsets(android.graphics.Rect, android.view.View, android.support.v7.widget.RecyclerView, android.support.v7.widget.RecyclerView.State);
    method public void onDraw(android.graphics.Canvas, android.support.v7.widget.RecyclerView, android.support.v7.widget.RecyclerView.State);
    method public deprecated void onDraw(android.graphics.Canvas, android.support.v7.widget.RecyclerView);
    method public void onDrawOver(android.graphics.Canvas, android.support.v7.widget.RecyclerView, android.support.v7.widget.RecyclerView.State);
    method public deprecated void onDrawOver(android.graphics.Canvas, android.support.v7.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, android.support.v7.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(android.support.v7.widget.RecyclerView.LayoutParams);
    method public int computeHorizontalScrollExtent(android.support.v7.widget.RecyclerView.State);
    method public int computeHorizontalScrollOffset(android.support.v7.widget.RecyclerView.State);
    method public int computeHorizontalScrollRange(android.support.v7.widget.RecyclerView.State);
    method public int computeVerticalScrollExtent(android.support.v7.widget.RecyclerView.State);
    method public int computeVerticalScrollOffset(android.support.v7.widget.RecyclerView.State);
    method public int computeVerticalScrollRange(android.support.v7.widget.RecyclerView.State);
    method public void detachAndScrapAttachedViews(android.support.v7.widget.RecyclerView.Recycler);
    method public void detachAndScrapView(android.view.View, android.support.v7.widget.RecyclerView.Recycler);
    method public void detachAndScrapViewAt(int, android.support.v7.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 findViewByPosition(int);
    method public abstract android.support.v7.widget.RecyclerView.LayoutParams generateDefaultLayoutParams();
    method public android.support.v7.widget.RecyclerView.LayoutParams generateLayoutParams(android.view.ViewGroup.LayoutParams);
    method public android.support.v7.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 int getChildMeasureSpec(int, int, int, boolean);
    method public boolean getClipToPadding();
    method public int getColumnCountForAccessibility(android.support.v7.widget.RecyclerView.Recycler, android.support.v7.widget.RecyclerView.State);
    method public int getDecoratedBottom(android.view.View);
    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 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 int getRightDecorationWidth(android.view.View);
    method public int getRowCountForAccessibility(android.support.v7.widget.RecyclerView.Recycler, android.support.v7.widget.RecyclerView.State);
    method public int getSelectionModeForAccessibility(android.support.v7.widget.RecyclerView.Recycler, android.support.v7.widget.RecyclerView.State);
    method public int getTopDecorationHeight(android.view.View);
    method public int getWidth();
    method public boolean hasFocus();
    method public void ignoreView(android.view.View);
    method public boolean isAttachedToWindow();
    method public boolean isFocused();
    method public boolean isLayoutHierarchical(android.support.v7.widget.RecyclerView.Recycler, android.support.v7.widget.RecyclerView.State);
    method public boolean isSmoothScrolling();
    method public void layoutDecorated(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(android.support.v7.widget.RecyclerView.Adapter, android.support.v7.widget.RecyclerView.Adapter);
    method public boolean onAddFocusables(android.support.v7.widget.RecyclerView, java.util.ArrayList<android.view.View>, int, int);
    method public void onAttachedToWindow(android.support.v7.widget.RecyclerView);
    method public deprecated void onDetachedFromWindow(android.support.v7.widget.RecyclerView);
    method public void onDetachedFromWindow(android.support.v7.widget.RecyclerView, android.support.v7.widget.RecyclerView.Recycler);
    method public android.view.View onFocusSearchFailed(android.view.View, int, android.support.v7.widget.RecyclerView.Recycler, android.support.v7.widget.RecyclerView.State);
    method public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
    method public void onInitializeAccessibilityEvent(android.support.v7.widget.RecyclerView.Recycler, android.support.v7.widget.RecyclerView.State, android.view.accessibility.AccessibilityEvent);
    method public void onInitializeAccessibilityNodeInfo(android.support.v7.widget.RecyclerView.Recycler, android.support.v7.widget.RecyclerView.State, android.support.v4.view.accessibility.AccessibilityNodeInfoCompat);
    method public void onInitializeAccessibilityNodeInfoForItem(android.support.v7.widget.RecyclerView.Recycler, android.support.v7.widget.RecyclerView.State, android.view.View, android.support.v4.view.accessibility.AccessibilityNodeInfoCompat);
    method public android.view.View onInterceptFocusSearch(android.view.View, int);
    method public void onItemsAdded(android.support.v7.widget.RecyclerView, int, int);
    method public void onItemsChanged(android.support.v7.widget.RecyclerView);
    method public void onItemsMoved(android.support.v7.widget.RecyclerView, int, int, int);
    method public void onItemsRemoved(android.support.v7.widget.RecyclerView, int, int);
    method public void onItemsUpdated(android.support.v7.widget.RecyclerView, int, int);
    method public void onLayoutChildren(android.support.v7.widget.RecyclerView.Recycler, android.support.v7.widget.RecyclerView.State);
    method public void onMeasure(android.support.v7.widget.RecyclerView.Recycler, android.support.v7.widget.RecyclerView.State, int, int);
    method public deprecated boolean onRequestChildFocus(android.support.v7.widget.RecyclerView, android.view.View, android.view.View);
    method public boolean onRequestChildFocus(android.support.v7.widget.RecyclerView, android.support.v7.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(android.support.v7.widget.RecyclerView.Recycler, android.support.v7.widget.RecyclerView.State, int, android.os.Bundle);
    method public boolean performAccessibilityActionForItem(android.support.v7.widget.RecyclerView.Recycler, android.support.v7.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(android.support.v7.widget.RecyclerView.Recycler);
    method public void removeAndRecycleView(android.view.View, android.support.v7.widget.RecyclerView.Recycler);
    method public void removeAndRecycleViewAt(int, android.support.v7.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(android.support.v7.widget.RecyclerView, android.view.View, android.graphics.Rect, boolean);
    method public void requestLayout();
    method public void requestSimpleAnimationsInNextLayout();
    method public int scrollHorizontallyBy(int, android.support.v7.widget.RecyclerView.Recycler, android.support.v7.widget.RecyclerView.State);
    method public void scrollToPosition(int);
    method public int scrollVerticallyBy(int, android.support.v7.widget.RecyclerView.Recycler, android.support.v7.widget.RecyclerView.State);
    method public void setMeasuredDimension(int, int);
    method public void smoothScrollToPosition(android.support.v7.widget.RecyclerView, android.support.v7.widget.RecyclerView.State, int);
    method public void startSmoothScroll(android.support.v7.widget.RecyclerView.SmoothScroller);
    method public void stopIgnoringView(android.view.View);
    method public boolean supportsPredictiveItemAnimations();
  }

  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(android.support.v7.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.OnItemTouchListener {
    method public abstract boolean onInterceptTouchEvent(android.support.v7.widget.RecyclerView, android.view.MotionEvent);
    method public abstract void onTouchEvent(android.support.v7.widget.RecyclerView, android.view.MotionEvent);
  }

  public static abstract class RecyclerView.OnScrollListener {
    ctor public RecyclerView.OnScrollListener();
    method public void onScrollStateChanged(android.support.v7.widget.RecyclerView, int);
    method public void onScrolled(android.support.v7.widget.RecyclerView, int, int);
  }

  public static class RecyclerView.RecycledViewPool {
    ctor public RecyclerView.RecycledViewPool();
    method public void clear();
    method public android.support.v7.widget.RecyclerView.ViewHolder getRecycledView(int);
    method public void putRecycledView(android.support.v7.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<android.support.v7.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(android.support.v7.widget.RecyclerView.ViewHolder);
  }

  public static abstract class RecyclerView.SmoothScroller {
    ctor public RecyclerView.SmoothScroller();
    method public android.view.View findViewByPosition(int);
    method public int getChildCount();
    method public int getChildPosition(android.view.View);
    method public android.support.v7.widget.RecyclerView.LayoutManager getLayoutManager();
    method public int getTargetPosition();
    method 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(int, int, android.support.v7.widget.RecyclerView.State, android.support.v7.widget.RecyclerView.SmoothScroller.Action);
    method protected abstract void onStart();
    method protected abstract void onStop();
    method protected abstract void onTargetFound(android.view.View, android.support.v7.widget.RecyclerView.State, android.support.v7.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 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 class RecyclerView.State {
    ctor public RecyclerView.State();
    method public boolean didStructureChange();
    method public T get(int);
    method public int getItemCount();
    method public int getTargetScrollPosition();
    method public boolean hasTargetScrollPosition();
    method public boolean isPreLayout();
    method public void onViewIgnored(android.support.v7.widget.RecyclerView.ViewHolder);
    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(android.support.v7.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 android.support.v4.view.AccessibilityDelegateCompat {
    ctor public RecyclerViewAccessibilityDelegate(android.support.v7.widget.RecyclerView);
  }

  public class StaggeredGridLayoutManager extends android.support.v7.widget.RecyclerView.LayoutManager {
    ctor public StaggeredGridLayoutManager(int, int);
    method public int[] findFirstCompletelyVisibleItemPositions(int[]);
    method public int[] findFirstVisibleItemPositions(int[]);
    method public int[] findLastCompletelyVisibleItemPositions(int[]);
    method public int[] findLastVisibleItemPositions(int[]);
    method public android.support.v7.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 java.lang.String TAG = "StaggeredGridLayoutManager";
    field public static final int VERTICAL = 1; // 0x1
  }

  public static class StaggeredGridLayoutManager.LayoutParams extends android.support.v7.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(android.support.v7.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
  }

}

package android.support.v7.widget.util {

  public abstract class SortedListAdapterCallback extends android.support.v7.util.SortedList.Callback {
    ctor public SortedListAdapterCallback(android.support.v7.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);
  }

}