private static boolean shouldReverseLayout(LayoutManager layout, boolean horizontallyScrolling) { boolean reverseLayout = layout instanceof LinearLayoutManager && ((LinearLayoutManager) layout).getReverseLayout(); boolean rtl = layout.getLayoutDirection() == ViewCompat.LAYOUT_DIRECTION_RTL; if (horizontallyScrolling && rtl) { // This is how linearlayout checks if it should reverse layout in #resolveShouldLayoutReverse reverseLayout = !reverseLayout; } return reverseLayout; }
private static void safeEndAnimations(RecyclerView rv) { final RecyclerView.ItemAnimator itemAnimator = (rv != null) ? rv.getItemAnimator() : null; if (itemAnimator != null) { itemAnimator.endAnimations(); } }
@Override public void unregisterAdapterDataObserver(RecyclerView.AdapterDataObserver observer) { super.unregisterAdapterDataObserver(observer); mAdapter.unregisterAdapterDataObserver(observer); }
public static int getSpanCount(@NonNull RecyclerView rv) { RecyclerView.LayoutManager layoutManager = rv.getLayoutManager(); if (layoutManager instanceof GridLayoutManager) { return ((GridLayoutManager) layoutManager).getSpanCount(); } else if (layoutManager instanceof StaggeredGridLayoutManager) { return ((StaggeredGridLayoutManager) layoutManager).getSpanCount(); } else { return 1; } }
private int getSnappedPosition(RecyclerView recyclerView) { RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager(); if (layoutManager instanceof LinearLayoutManager) { if (gravity == Gravity.START || gravity == Gravity.TOP) { return ((LinearLayoutManager) layoutManager).findFirstCompletelyVisibleItemPosition(); } else if (gravity == Gravity.END || gravity == Gravity.BOTTOM) { return ((LinearLayoutManager) layoutManager).findLastCompletelyVisibleItemPosition(); } } return RecyclerView.NO_POSITION; }
@Override public void registerAdapterDataObserver(RecyclerView.AdapterDataObserver observer) { super.registerAdapterDataObserver(observer); mAdapter.registerAdapterDataObserver(observer); }
public static int getOrientation(@NonNull RecyclerView.LayoutManager layoutManager) { if (layoutManager instanceof GridLayoutManager) { return ((GridLayoutManager) layoutManager).getOrientation(); } else if (layoutManager instanceof LinearLayoutManager) { return ((LinearLayoutManager) layoutManager).getOrientation(); } else if (layoutManager instanceof StaggeredGridLayoutManager) { return ((StaggeredGridLayoutManager) layoutManager).getOrientation(); } else { return ORIENTATION_UNKNOWN; } }
@Override public long getItemId(int position) { return mAdapter.getItemId(position); } }
@Override public void onAttachedToRecyclerView(RecyclerView recyclerView) { super.onAttachedToRecyclerView(recyclerView); mAdapter.onAttachedToRecyclerView(recyclerView); }
private static void safeEndAnimation(RecyclerView rv, RecyclerView.ViewHolder holder) { final RecyclerView.ItemAnimator itemAnimator = (rv != null) ? rv.getItemAnimator() : null; if (itemAnimator != null) { itemAnimator.endAnimation(holder); } }
@Override public void onDetachedFromRecyclerView(RecyclerView recyclerView) { super.onDetachedFromRecyclerView(recyclerView); mAdapter.onDetachedFromRecyclerView(recyclerView); }
@Override public int getItemViewType(int position) { return mAdapter.getItemViewType(position); }
@Override public void onViewRecycled(RecyclerView.ViewHolder holder) { mAdapter.onViewRecycled(holder); super.onViewRecycled(holder); }
@Override public void onViewDetachedFromWindow(RecyclerView.ViewHolder holder) { super.onViewDetachedFromWindow(holder); mAdapter.onViewDetachedFromWindow(holder); }
@Override public void onViewAttachedToWindow(RecyclerView.ViewHolder holder) { super.onViewAttachedToWindow(holder); mAdapter.onViewAttachedToWindow(holder); }
@Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return mAdapter.onCreateViewHolder(parent, viewType); }
/** * @see #onChildDraw(Canvas, RecyclerView, ViewHolder, float, float, int, boolean) */ protected void onChildDraw(Canvas c, RecyclerView recyclerView, EpoxyViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) { super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive); }
/** * @see #onSelectedChanged(ViewHolder, int) */ protected void onSelectedChanged(EpoxyViewHolder viewHolder, int actionState) { super.onSelectedChanged(viewHolder, actionState); }
/** * @see #canDropOver(RecyclerView, ViewHolder, ViewHolder) */ protected boolean canDropOver(RecyclerView recyclerView, EpoxyViewHolder current, EpoxyViewHolder target) { return super.canDropOver(recyclerView, current, target); }
/** * @see #getSwipeThreshold(ViewHolder) */ protected float getSwipeThreshold(EpoxyViewHolder viewHolder) { return super.getSwipeThreshold(viewHolder); }