Remove viewFlipper used in contextual card dismissal.

- Use view's visibility to control which view we should show.
- Slice view can be built with normal height after removing viewFlipper.

Bug: 129438972
Bug: 128689305
Test: robotests
Change-Id: If7e9bd30d5cb5bcd3b9ff9f09cc2eae36543b9e9
This commit is contained in:
Yi-Ling Chuang
2019-04-01 22:53:10 +08:00
parent dc2b2c7929
commit 734d826117
9 changed files with 86 additions and 117 deletions

View File

@@ -24,7 +24,6 @@ import android.util.ArraySet;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ViewFlipper;
import androidx.annotation.LayoutRes;
import androidx.annotation.VisibleForTesting;
@@ -142,7 +141,7 @@ public class SliceContextualCardRenderer implements ContextualCardRenderer, Life
}
if (card.isPendingDismiss()) {
flipCardToDismissalView(holder);
showDismissalView(holder);
mFlippedCardSet.add(holder);
}
}
@@ -170,12 +169,19 @@ public class SliceContextualCardRenderer implements ContextualCardRenderer, Life
}
private void resetCardView(RecyclerView.ViewHolder holder) {
final ViewFlipper viewFlipper = holder.itemView.findViewById(R.id.view_flipper);
viewFlipper.setDisplayedChild(0 /* whichChild */);
holder.itemView.findViewById(R.id.dismissal_view).setVisibility(View.GONE);
getInitialView(holder).setVisibility(View.VISIBLE);
}
private void flipCardToDismissalView(RecyclerView.ViewHolder holder) {
final ViewFlipper viewFlipper = holder.itemView.findViewById(R.id.view_flipper);
viewFlipper.showNext();
private void showDismissalView(RecyclerView.ViewHolder holder) {
holder.itemView.findViewById(R.id.dismissal_view).setVisibility(View.VISIBLE);
getInitialView(holder).setVisibility(View.INVISIBLE);
}
private View getInitialView(RecyclerView.ViewHolder viewHolder) {
if (viewHolder.getItemViewType() == VIEW_TYPE_HALF_WIDTH) {
return ((SliceHalfCardRendererHelper.HalfCardViewHolder) viewHolder).content;
}
return ((SliceFullCardRendererHelper.SliceViewHolder) viewHolder).sliceView;
}
}