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

Commit 52367e8c authored by Yanting Yang's avatar Yanting Yang
Browse files

Remove dismissal behavior from deferred setup card

Deferred setup is not skippable as user will need to review all SUW
screens at least one time.

Fixes: 126225957
Test: visual, robotests
Change-Id: I7b32c2382f459690d3b136cf9faa543d04aa8d3d
parent 94956549
Loading
Loading
Loading
Loading
+39 −49
Original line number Diff line number Diff line
@@ -21,11 +21,6 @@
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <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"
@@ -71,9 +66,4 @@
            android:text="@string/suggestion_button_text"/>

    </LinearLayout>

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

    </ViewFlipper>
</com.google.android.material.card.MaterialCardView>
 No newline at end of file
+2 −0
Original line number Diff line number Diff line
@@ -139,6 +139,8 @@ public class SliceContextualCardRenderer implements ContextualCardRenderer, Life

        switch (holder.getItemViewType()) {
            case VIEW_TYPE_DEFERRED_SETUP:
                // Deferred setup is never dismissible.
                break;
            case VIEW_TYPE_HALF_WIDTH:
                initDismissalActions(holder, card, R.id.content);
                break;
+23 −0
Original line number Diff line number Diff line
@@ -16,11 +16,13 @@

package com.android.settings.homepage.contextualcards.slices;

import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_DEFERRED_SETUP;
import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_FULL_WIDTH;

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;

import android.app.Activity;
@@ -128,6 +130,15 @@ public class SliceContextualCardRendererTest {
        assertThat(viewFlipper.getCurrentView()).isEqualTo(dismissalView);
    }

    @Test
    public void longClick_deferredSetupCard_shouldNotBeClickable() {
        final RecyclerView.ViewHolder viewHolder = getDeferredSetupViewHolder();
        final View contentView = viewHolder.itemView.findViewById(R.id.content);
        mRenderer.bindView(viewHolder, buildContextualCard(TEST_SLICE_URI));

        assertThat(contentView.isLongClickable()).isFalse();
    }

    @Test
    public void longClick_shouldAddViewHolderToSet() {
        final RecyclerView.ViewHolder viewHolder = getSliceViewHolder();
@@ -221,6 +232,18 @@ public class SliceContextualCardRendererTest {
        return mRenderer.createViewHolder(view, VIEW_TYPE_FULL_WIDTH);
    }

    private RecyclerView.ViewHolder getDeferredSetupViewHolder() {
        final RecyclerView recyclerView = new RecyclerView(mActivity);
        recyclerView.setLayoutManager(new LinearLayoutManager(mActivity));
        final View view = LayoutInflater.from(mActivity).inflate(VIEW_TYPE_DEFERRED_SETUP,
                recyclerView, false);
        final RecyclerView.ViewHolder viewHolder = spy(
                mRenderer.createViewHolder(view, VIEW_TYPE_DEFERRED_SETUP));
        doReturn(VIEW_TYPE_DEFERRED_SETUP).when(viewHolder).getItemViewType();

        return viewHolder;
    }

    private ContextualCard buildContextualCard(Uri sliceUri) {
        return new ContextualCard.Builder()
                .setName("test_name")