Merge "Do not prebind sticky slices." into rvc-dev am: fa1e102af7 am: 722b197488

Change-Id: I09d1e3450adcb2e48a1bb095c5055fa4235bae74
This commit is contained in:
TreeHugger Robot
2020-05-14 12:09:14 +00:00
committed by Automerger Merge Worker
2 changed files with 37 additions and 0 deletions

View File

@@ -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)) {

View File

@@ -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);