@Test public void shouldReturnOriginalItems() { List list = new ArrayList(); MultiTypeAdapter adapter = new MultiTypeAdapter(list); assertEquals(list, adapter.getItems()); }
@Test public void shouldReturnEmptyItemsWithDefaultConstructor() { MultiTypeAdapter adapter = new MultiTypeAdapter(); assertTrue(adapter.getItems().isEmpty()); }
public List<?> getData() { return multiTypeAdapter.getItems(); }
public Object getLastVisibleItem() { if (multiTypeAdapter.getItemCount() <= 0) return null; if (lastVisibleItemPosition == RecyclerView.NO_POSITION) return null; if (lastVisibleItemPosition >= multiTypeAdapter.getItemCount()) return null; return multiTypeAdapter.getItems().get(lastVisibleItemPosition); }
public Object getFirstVisibleItem() { if (multiTypeAdapter.getItemCount() <= 0) return null; if (firstVisibleItemPosition == RecyclerView.NO_POSITION) return null; if (firstVisibleItemPosition >= multiTypeAdapter.getItemCount()) return null; return multiTypeAdapter.getItems().get(firstVisibleItemPosition); }
@Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { if (adapter.getItemCount() == 0) { outRect.set(0, 0, 0, 0); return; } List<?> items = adapter.getItems(); int position = parent.getChildAdapterPosition(view); boolean should = false; for (int i = 0; !should && i < dividerClasses.length; i++) { should = position + 1 < items.size() && items.get(position).getClass().isAssignableFrom(dividerClasses[i]) && (items.get(position + 1).getClass().isAssignableFrom(dividerClasses[i])); } if (should) { outRect.set(0, 0, 0, 1); } else { outRect.set(0, 0, 0, 0); } } }