if (shuffleAdapter != null) { boolean infinite = shuffleSettings.isInfinite(); int itemCount = shuffleAdapter.getItemCount(); if (itemCount != 0) { int numberOfCards = shuffleSettings.getNumberOfDisplayedCards(); if (position < itemCount) { draggableView.setVisibility(VISIBLE); int type = shuffleAdapter.getItemViewType(position); viewHolder = shuffleAdapter.onCreateViewHolder(draggableView, type); viewHolderList.add(viewHolder); shuffleAdapter.onBindViewHolder(viewHolder, position); } else { draggableView.setVisibility(GONE);
@Test public void testUpdateAdapter_firstTime() throws Exception { //Given given(shuffleSettings.getNumberOfDisplayedCards()).willReturn(3); shuffle.adapterPosition = 0; CardDraggableView draggableView1 = mockDraggableView(); CardDraggableView draggableView2 = mockDraggableView(); CardDraggableView draggableView3 = mockDraggableView(); shuffle.draggableViews.addAll(Arrays.asList(draggableView1, draggableView2, draggableView3)); Shuffle.Adapter shuffleAdapter = mock(Shuffle.Adapter.class); Shuffle.ViewHolder mockHolder = mock(Shuffle.ViewHolder.class); { given(shuffleAdapter.getItemCount()).willReturn(10); given(shuffleAdapter.getItemViewType(anyInt())).willReturn(1); mockHolder.itemView = mock(View.class); given(shuffleAdapter.onCreateViewHolder(any(ViewGroup.class), anyInt())).willReturn(mockHolder); } //When shuffle.setShuffleAdapter(shuffleAdapter); //Then verify(shuffleAdapter).onCreateViewHolder(eq(draggableView1), anyInt()); verify(shuffleAdapter).onCreateViewHolder(eq(draggableView2), anyInt()); verify(shuffleAdapter).onCreateViewHolder(eq(draggableView3), anyInt()); verify(draggableView1.getContent()).removeAllViews(); verify(draggableView1.getContent()).addView(eq(mockHolder.itemView)); assertThat(mockHolder.position).isEqualTo(2); verify(shuffleAdapter).onBindViewHolder(eq(mockHolder), eq(0)); verify(shuffleAdapter).onBindViewHolder(eq(mockHolder), eq(1)); }
void checkScrollFinished() { int itemCount = shuffleAdapter != null ? shuffleAdapter.getItemCount() : 0; if (itemCount != 0 && adapterPosition >= itemCount) { dispatchScrollFinishedToListeners(); } }
void checkScrollStarted() { int itemCount = shuffleAdapter != null ? shuffleAdapter.getItemCount() : 0; if (itemCount != 0 && adapterPosition == 0) { dispatchScrollStartedToListeners(); } }