Merge "Remove viewFlipper used in contextual card dismissal." into qt-dev

am: 8b3cde0fb1

Change-Id: Ia9747b66b6e5f4ed332d979fcf6ecbe692bc5180
This commit is contained in:
Yi-Ling Chuang
2019-04-09 10:45:10 -07:00
committed by android-build-merger
9 changed files with 86 additions and 117 deletions

View File

@@ -28,14 +28,12 @@ import android.net.Uri;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.ViewFlipper;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.LiveData;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.slice.Slice;
import androidx.slice.widget.SliceView;
import com.android.settings.R;
import com.android.settings.homepage.contextualcards.ContextualCard;
@@ -116,16 +114,15 @@ public class SliceContextualCardRendererTest {
}
@Test
public void bindView_isPendingDismiss_shouldFlipToDismissalView() {
public void bindView_isPendingDismiss_shouldShowDismissalView() {
final RecyclerView.ViewHolder viewHolder = getSliceViewHolder();
final ViewFlipper viewFlipper = viewHolder.itemView.findViewById(R.id.view_flipper);
final View dismissalView = viewHolder.itemView.findViewById(R.id.dismissal_view);
final ContextualCard card = buildContextualCard(
TEST_SLICE_URI).mutate().setIsPendingDismiss(true).build();
mRenderer.bindView(viewHolder, card);
assertThat(viewFlipper.getCurrentView()).isEqualTo(dismissalView);
assertThat(dismissalView.getVisibility()).isEqualTo(View.VISIBLE);
}
@Test
@@ -140,24 +137,29 @@ public class SliceContextualCardRendererTest {
}
@Test
public void viewClick_keepCard_shouldFlipBackToSlice() {
public void viewClick_keepCard_shouldShowSlice() {
final RecyclerView.ViewHolder viewHolder = getSliceViewHolder();
final View sliceView = viewHolder.itemView.findViewById(R.id.slice_view);
final View dismissalView = viewHolder.itemView.findViewById(R.id.dismissal_view);
final Button btnKeep = viewHolder.itemView.findViewById(R.id.keep);
final ViewFlipper viewFlipper = viewHolder.itemView.findViewById(R.id.view_flipper);
mRenderer.bindView(viewHolder, buildContextualCard(TEST_SLICE_URI));
viewFlipper.setDisplayedChild(1);
final ContextualCard card = buildContextualCard(
TEST_SLICE_URI).mutate().setIsPendingDismiss(true).build();
mRenderer.bindView(viewHolder, card);
btnKeep.performClick();
assertThat(viewFlipper.getCurrentView().getId()).isEqualTo(R.id.slice_view_wrapper);
assertThat(dismissalView.getVisibility()).isEqualTo(View.GONE);
assertThat(sliceView.getVisibility()).isEqualTo(View.VISIBLE);
}
@Test
public void viewClick_keepCard_shouldRemoveViewHolderFromSet() {
final RecyclerView.ViewHolder viewHolder = getSliceViewHolder();
final Button btnKeep = viewHolder.itemView.findViewById(R.id.keep);
mRenderer.bindView(viewHolder, buildContextualCard(TEST_SLICE_URI));
mRenderer.mFlippedCardSet.add(viewHolder);
final ContextualCard card = buildContextualCard(
TEST_SLICE_URI).mutate().setIsPendingDismiss(true).build();
mRenderer.bindView(viewHolder, card);
assertThat(mRenderer.mFlippedCardSet).contains(viewHolder);
btnKeep.performClick();
@@ -168,11 +170,12 @@ public class SliceContextualCardRendererTest {
public void viewClick_removeCard_shouldRemoveViewHolderFromSet() {
final RecyclerView.ViewHolder viewHolder = getSliceViewHolder();
final Button btnRemove = viewHolder.itemView.findViewById(R.id.remove);
final ContextualCard contextualCard = buildContextualCard(TEST_SLICE_URI);
mRenderer.bindView(viewHolder, contextualCard);
final ContextualCard card = buildContextualCard(
TEST_SLICE_URI).mutate().setIsPendingDismiss(true).build();
mRenderer.bindView(viewHolder, card);
assertThat(mRenderer.mFlippedCardSet).contains(viewHolder);
doReturn(mController).when(mControllerRendererPool).getController(mActivity,
ContextualCard.CardType.SLICE);
mRenderer.mFlippedCardSet.add(viewHolder);
btnRemove.performClick();
@@ -195,16 +198,19 @@ public class SliceContextualCardRendererTest {
}
@Test
public void onStop_cardIsFlipped_shouldFlipBack() {
public void onStop_cardIsInDismissalView_shouldResetToSliceView() {
final RecyclerView.ViewHolder viewHolder = getSliceViewHolder();
final ViewFlipper viewFlipper = viewHolder.itemView.findViewById(R.id.view_flipper);
mRenderer.bindView(viewHolder, buildContextualCard(TEST_SLICE_URI));
viewFlipper.setDisplayedChild(1);
mRenderer.mFlippedCardSet.add(viewHolder);
final View sliceView = viewHolder.itemView.findViewById(R.id.slice_view);
final View dismissalView = viewHolder.itemView.findViewById(R.id.dismissal_view);
final ContextualCard card = buildContextualCard(
TEST_SLICE_URI).mutate().setIsPendingDismiss(true).build();
mRenderer.bindView(viewHolder, card);
assertThat(mRenderer.mFlippedCardSet).contains(viewHolder);
mRenderer.onStop();
assertThat(viewFlipper.getCurrentView().getId()).isEqualTo(R.id.slice_view_wrapper);
assertThat(sliceView.getVisibility()).isEqualTo(View.VISIBLE);
assertThat(dismissalView.getVisibility()).isEqualTo(View.GONE);
}
private RecyclerView.ViewHolder getSliceViewHolder() {

View File

@@ -28,7 +28,6 @@ import static org.mockito.Mockito.verify;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ViewFlipper;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -68,7 +67,7 @@ public class SwipeDismissalDelegateTest {
activityController.create();
mRecyclerView = new RecyclerView(mActivity);
mRecyclerView.setLayoutManager(new LinearLayoutManager(mActivity));
mDismissalDelegate = new SwipeDismissalDelegate(mActivity, mDismissalDelegateListener);
mDismissalDelegate = new SwipeDismissalDelegate(mDismissalDelegateListener);
}
@Test
@@ -86,22 +85,16 @@ public class SwipeDismissalDelegateTest {
@Test
public void getMovementFlags_dismissalView_shouldDisableSwipe() {
final RecyclerView.ViewHolder holder = getSliceViewHolder();
final ViewFlipper viewFlipper = holder.itemView.findViewById(R.id.view_flipper);
viewFlipper.showNext();
final View dismissalView = holder.itemView.findViewById(R.id.dismissal_view);
holder.itemView.findViewById(R.id.dismissal_view).setVisibility(View.VISIBLE);
assertThat(viewFlipper.getCurrentView()).isEqualTo(dismissalView);
assertThat(mDismissalDelegate.getMovementFlags(mRecyclerView, holder)).isEqualTo(0);
}
@Test
public void getMovementFlags_SliceViewHolder_shouldEnableSwipe() {
final RecyclerView.ViewHolder holder = getSliceViewHolder();
final ViewFlipper viewFlipper = holder.itemView.findViewById(R.id.view_flipper);
viewFlipper.setDisplayedChild(0);
final View sliceViewWrapper = holder.itemView.findViewById(R.id.slice_view_wrapper);
holder.itemView.findViewById(R.id.dismissal_view).setVisibility(View.GONE);
assertThat(viewFlipper.getCurrentView()).isEqualTo(sliceViewWrapper);
assertThat(mDismissalDelegate.getMovementFlags(mRecyclerView, getSliceViewHolder()))
.isNotEqualTo(0);
}