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

Commit ad332955 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Do not prebind sticky slices." into rvc-dev am: fa1e102a am: 722b1974

Change-Id: I09d1e3450adcb2e48a1bb095c5055fa4235bae74
parents 6170f937 722b1974
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@ package com.android.settings.homepage.contextualcards;

import static android.app.slice.Slice.HINT_ERROR;

import static com.android.settings.intelligence.ContextualCardProto.ContextualCard.Category.STICKY_VALUE;

import android.app.settings.SettingsEnums;
import android.content.ContentResolver;
import android.content.Context;
@@ -94,6 +96,11 @@ public class EligibleCardChecker implements Callable<ContextualCard> {
            return false;
        }

        if (card.getCategory() == STICKY_VALUE) {
            Log.d(TAG, "Sticky card, skip checking. Uri = " + card.getSliceUri());
            return true;
        }

        final Slice slice = bindSlice(uri);

        if (isSliceToggleable(slice)) {
+30 −0
Original line number Diff line number Diff line
@@ -18,11 +18,15 @@ package com.android.settings.homepage.contextualcards;

import static android.app.slice.Slice.HINT_ERROR;

import static com.android.settings.intelligence.ContextualCardProto.ContextualCard.Category.STICKY_VALUE;

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

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;

import android.content.Context;
import android.net.Uri;
@@ -64,6 +68,32 @@ public class EligibleCardCheckerTest {
        assertThat(mEligibleCardChecker.isSliceToggleable(slice)).isTrue();
    }

    @Test
    public void isCardEligibleToDisplay_stickyCard_returnTrue() {
        final ContextualCard card = new ContextualCard.Builder()
                .setName("test_card")
                .setCardType(ContextualCard.CardType.SLICE)
                .setCategory(STICKY_VALUE)
                .setSliceUri(CustomSliceRegistry.FLASHLIGHT_SLICE_URI)
                .build();

        assertThat(mEligibleCardChecker.isCardEligibleToDisplay(card)).isTrue();
    }

    @Test
    public void isCardEligibleToDisplay_stickyCard_shouldNotPrebind() {
        final ContextualCard card = new ContextualCard.Builder()
                .setName("test_card")
                .setCardType(ContextualCard.CardType.SLICE)
                .setCategory(STICKY_VALUE)
                .setSliceUri(CustomSliceRegistry.FLASHLIGHT_SLICE_URI)
                .build();

        mEligibleCardChecker.isCardEligibleToDisplay(card);

        verify(mEligibleCardChecker, never()).bindSlice(CustomSliceRegistry.FLASHLIGHT_SLICE_URI);
    }

    @Test
    public void isCardEligibleToDisplay_toggleSlice_hasInlineActionShouldBeTrue() {
        final ContextualWifiSlice wifiSlice = new ContextualWifiSlice(mContext);