Loading src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java +7 −4 Original line number Diff line number Diff line Loading @@ -112,8 +112,10 @@ public class SliceContextualCardRenderer implements ContextualCardRenderer, Life final View swipeBackground = holder.itemView.findViewById(R.id.dismissal_swipe_background); sliceLiveData.removeObservers(mLifecycleOwner); // set the background to Gone in case the holder is reused. // set the background to GONE in case the holder is reused. if (swipeBackground != null) { swipeBackground.setVisibility(View.GONE); } sliceLiveData.observe(mLifecycleOwner, slice -> { if (slice == null) { Log.w(TAG, "Slice is null"); Loading @@ -140,8 +142,9 @@ public class SliceContextualCardRenderer implements ContextualCardRenderer, Life default: mFullCardHelper.bindView(holder, card, slice); } if (swipeBackground != null) { swipeBackground.setVisibility(View.VISIBLE); } }); switch (holder.getItemViewType()) { Loading tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRendererTest.java +23 −0 Original line number Diff line number Diff line Loading @@ -16,11 +16,13 @@ package com.android.settings.homepage.contextualcards.slices; import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_DEFERRED_SETUP; import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_FULL_WIDTH; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import android.app.Activity; Loading Loading @@ -160,6 +162,15 @@ public class SliceContextualCardRendererTest { assertThat(swipeBg.getVisibility()).isEqualTo(View.GONE); } @Test public void bindView_deferredSetupCard_shouldNotCrash() { final RecyclerView.ViewHolder viewHolder = getDeferredSetupViewHolder(); final ContextualCard card = buildContextualCard(TEST_SLICE_URI); mRenderer.mSliceLiveDataMap.put(TEST_SLICE_URI, mSliceLiveData); mRenderer.bindView(viewHolder, card); } @Test public void viewClick_keepCard_shouldShowSlice() { final RecyclerView.ViewHolder viewHolder = getSliceViewHolder(); Loading Loading @@ -246,6 +257,18 @@ public class SliceContextualCardRendererTest { return mRenderer.createViewHolder(view, VIEW_TYPE_FULL_WIDTH); } private RecyclerView.ViewHolder getDeferredSetupViewHolder() { final RecyclerView recyclerView = new RecyclerView(mActivity); recyclerView.setLayoutManager(new LinearLayoutManager(mActivity)); final View view = LayoutInflater.from(mActivity) .inflate(VIEW_TYPE_DEFERRED_SETUP, recyclerView, false); final RecyclerView.ViewHolder viewHolder = spy( new SliceDeferredSetupCardRendererHelper.DeferredSetupCardViewHolder(view)); doReturn(VIEW_TYPE_DEFERRED_SETUP).when(viewHolder).getItemViewType(); return viewHolder; } private ContextualCard buildContextualCard(Uri sliceUri) { return new ContextualCard.Builder() .setName("test_name") Loading Loading
src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java +7 −4 Original line number Diff line number Diff line Loading @@ -112,8 +112,10 @@ public class SliceContextualCardRenderer implements ContextualCardRenderer, Life final View swipeBackground = holder.itemView.findViewById(R.id.dismissal_swipe_background); sliceLiveData.removeObservers(mLifecycleOwner); // set the background to Gone in case the holder is reused. // set the background to GONE in case the holder is reused. if (swipeBackground != null) { swipeBackground.setVisibility(View.GONE); } sliceLiveData.observe(mLifecycleOwner, slice -> { if (slice == null) { Log.w(TAG, "Slice is null"); Loading @@ -140,8 +142,9 @@ public class SliceContextualCardRenderer implements ContextualCardRenderer, Life default: mFullCardHelper.bindView(holder, card, slice); } if (swipeBackground != null) { swipeBackground.setVisibility(View.VISIBLE); } }); switch (holder.getItemViewType()) { Loading
tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRendererTest.java +23 −0 Original line number Diff line number Diff line Loading @@ -16,11 +16,13 @@ package com.android.settings.homepage.contextualcards.slices; import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_DEFERRED_SETUP; import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_FULL_WIDTH; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import android.app.Activity; Loading Loading @@ -160,6 +162,15 @@ public class SliceContextualCardRendererTest { assertThat(swipeBg.getVisibility()).isEqualTo(View.GONE); } @Test public void bindView_deferredSetupCard_shouldNotCrash() { final RecyclerView.ViewHolder viewHolder = getDeferredSetupViewHolder(); final ContextualCard card = buildContextualCard(TEST_SLICE_URI); mRenderer.mSliceLiveDataMap.put(TEST_SLICE_URI, mSliceLiveData); mRenderer.bindView(viewHolder, card); } @Test public void viewClick_keepCard_shouldShowSlice() { final RecyclerView.ViewHolder viewHolder = getSliceViewHolder(); Loading Loading @@ -246,6 +257,18 @@ public class SliceContextualCardRendererTest { return mRenderer.createViewHolder(view, VIEW_TYPE_FULL_WIDTH); } private RecyclerView.ViewHolder getDeferredSetupViewHolder() { final RecyclerView recyclerView = new RecyclerView(mActivity); recyclerView.setLayoutManager(new LinearLayoutManager(mActivity)); final View view = LayoutInflater.from(mActivity) .inflate(VIEW_TYPE_DEFERRED_SETUP, recyclerView, false); final RecyclerView.ViewHolder viewHolder = spy( new SliceDeferredSetupCardRendererHelper.DeferredSetupCardViewHolder(view)); doReturn(VIEW_TYPE_DEFERRED_SETUP).when(viewHolder).getItemViewType(); return viewHolder; } private ContextualCard buildContextualCard(Uri sliceUri) { return new ContextualCard.Builder() .setName("test_name") Loading