Add implementation of homepage swipe to dismiss.

- Only enable swipe for slice full/half card.
- Add isPendingDismiss in ContextualCard to determine if we should show
dismissal view.
- Take out long press feature.

Bug: 126214056
Test: robotests
Change-Id: Ib03e605347b2f50d3c62fcd4f95875a21cc9ef1c
This commit is contained in:
Yi-Ling Chuang
2019-03-26 21:16:55 +08:00
parent bab3bf6f22
commit eeea6676d4
6 changed files with 223 additions and 50 deletions

View File

@@ -135,23 +135,19 @@ public class SliceContextualCardRenderer implements ContextualCardRenderer, Life
// Deferred setup is never dismissible.
break;
case VIEW_TYPE_HALF_WIDTH:
initDismissalActions(holder, card, R.id.content);
initDismissalActions(holder, card);
break;
default:
initDismissalActions(holder, card, R.id.slice_view);
initDismissalActions(holder, card);
}
if (card.isPendingDismiss()) {
flipCardToDismissalView(holder);
mFlippedCardSet.add(holder);
}
}
private void initDismissalActions(RecyclerView.ViewHolder holder, ContextualCard card,
int initialViewId) {
// initialView is the first view in the ViewFlipper.
final View initialView = holder.itemView.findViewById(initialViewId);
initialView.setOnLongClickListener(v -> {
flipCardToDismissalView(holder);
mFlippedCardSet.add(holder);
return true;
});
private void initDismissalActions(RecyclerView.ViewHolder holder, ContextualCard card) {
final Button btnKeep = holder.itemView.findViewById(R.id.keep);
btnKeep.setOnClickListener(v -> {
mFlippedCardSet.remove(holder);