Inflate dismissal background instead of drawing while swiping

- Only swipe the foreground out to have the background revealed.
- Inflate dismissal_swipe_background.xml while swiping.
- Fix the fly-in transition.
- Fix the overlapping problem.

Bug: 129742618
Test: robotests
Change-Id: I5311e50332d0ea0437d1693d075d5c3a2176a443
This commit is contained in:
Yi-Ling Chuang
2019-03-29 22:44:27 +08:00
parent d50bb09876
commit dc2b2c7929
8 changed files with 147 additions and 78 deletions

View File

@@ -149,7 +149,7 @@ public class SliceContextualCardRendererTest {
btnKeep.performClick();
assertThat(viewFlipper.getCurrentView()).isInstanceOf(SliceView.class);
assertThat(viewFlipper.getCurrentView().getId()).isEqualTo(R.id.slice_view_wrapper);
}
@Test
@@ -204,7 +204,7 @@ public class SliceContextualCardRendererTest {
mRenderer.onStop();
assertThat(viewFlipper.getCurrentView()).isInstanceOf(SliceView.class);
assertThat(viewFlipper.getCurrentView().getId()).isEqualTo(R.id.slice_view_wrapper);
}
private RecyclerView.ViewHolder getSliceViewHolder() {

View File

@@ -99,9 +99,9 @@ public class SwipeDismissalDelegateTest {
final RecyclerView.ViewHolder holder = getSliceViewHolder();
final ViewFlipper viewFlipper = holder.itemView.findViewById(R.id.view_flipper);
viewFlipper.setDisplayedChild(0);
final View sliceView = holder.itemView.findViewById(R.id.slice_view);
final View sliceViewWrapper = holder.itemView.findViewById(R.id.slice_view_wrapper);
assertThat(viewFlipper.getCurrentView()).isEqualTo(sliceView);
assertThat(viewFlipper.getCurrentView()).isEqualTo(sliceViewWrapper);
assertThat(mDismissalDelegate.getMovementFlags(mRecyclerView, getSliceViewHolder()))
.isNotEqualTo(0);
}