Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 734d8261 authored by Yi-Ling Chuang's avatar Yi-Ling Chuang
Browse files

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
parent dc2b2c79
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -21,7 +21,8 @@
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/homepage_card_dismissal_background"
    android:orientation="vertical">
    android:orientation="vertical"
    android:visibility="gone">

    <TextView
        android:layout_width="match_parent"
+27 −33
Original line number Diff line number Diff line
@@ -27,11 +27,6 @@

        <include layout="@layout/dismissal_swipe_background"/>

        <ViewFlipper
            android:id="@+id/view_flipper"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        <LinearLayout
            android:id="@+id/content"
            android:layout_width="match_parent"
@@ -64,6 +59,5 @@
        <!--dismissal view-->
        <include layout="@layout/homepage_dismissal_view"/>

        </ViewFlipper>
    </FrameLayout>
</com.google.android.material.card.MaterialCardView>
 No newline at end of file
+10 −23
Original line number Diff line number Diff line
@@ -27,29 +27,16 @@

        <include layout="@layout/dismissal_swipe_background"/>

        <ViewFlipper
            android:id="@+id/view_flipper"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <LinearLayout
                android:id="@+id/slice_view_wrapper"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@color/contextual_card_background">

        <androidx.slice.widget.SliceView
            android:id="@+id/slice_view"
            style="@style/SliceViewStyle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
                    android:importantForAccessibility="no"
                    style="@style/SliceViewStyle"/>
            </LinearLayout>
            android:importantForAccessibility="no"/>

        <!--dismissal view-->
        <include layout="@layout/homepage_dismissal_view"/>

        </ViewFlipper>
    </FrameLayout>
</com.google.android.material.card.MaterialCardView>
 No newline at end of file
+1 −2
Original line number Diff line number Diff line
@@ -77,8 +77,7 @@ public class ContextualCardsFragment extends InstrumentedFragment implements
        mCardsContainer.setAdapter(mContextualCardsAdapter);
        mContextualCardManager.setListener(mContextualCardsAdapter);
        mCardsContainer.setListener(this);
        mItemTouchHelper = new ItemTouchHelper(
                new SwipeDismissalDelegate(context, mContextualCardsAdapter));
        mItemTouchHelper = new ItemTouchHelper(new SwipeDismissalDelegate(mContextualCardsAdapter));
        mItemTouchHelper.attachToRecyclerView(mCardsContainer);

        return rootView;
+13 −7
Original line number Diff line number Diff line
@@ -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;
    }
}
Loading