use of androidx.slice.Slice in project Resurrection_packages_apps_Settings by ResurrectionRemix.
the class WifiSliceTest method getWifiSlice_wifiOff_shouldReturnSingleRow.
@Test
public void getWifiSlice_wifiOff_shouldReturnSingleRow() {
mWifiManager.setWifiEnabled(false);
final Slice wifiSlice = mWifiSlice.getSlice();
final int rows = SliceQuery.findAll(wifiSlice, FORMAT_SLICE, HINT_LIST_ITEM, null).size();
// Title row
assertThat(rows).isEqualTo(1);
}
use of androidx.slice.Slice in project Resurrection_packages_apps_Settings by ResurrectionRemix.
the class WifiSliceTest method getWifiSlice_oneReachableAp_shouldNotReturnLoadingRow.
@Test
public void getWifiSlice_oneReachableAp_shouldNotReturnLoadingRow() {
setWorkerResults(createAccessPoint(AP1_NAME, false, true));
final Slice wifiSlice = mWifiSlice.getSlice();
final List<SliceItem> sliceItems = wifiSlice.getItems();
SliceTester.assertAnySliceItemContainsTitle(sliceItems, AP1_NAME);
// No scanning text
SliceTester.assertNoSliceItemContainsSubtitle(sliceItems, mContext.getString(R.string.wifi_empty_list_wifi_on));
}
use of androidx.slice.Slice in project Resurrection_packages_apps_Settings by ResurrectionRemix.
the class WifiSliceTest method getWifiSlice_allReachableAps_shouldNotReturnLoadingRow.
@Test
public void getWifiSlice_allReachableAps_shouldNotReturnLoadingRow() {
setWorkerResults(createAccessPoint(AP1_NAME, false, true), createAccessPoint(AP2_NAME, false, true));
final Slice wifiSlice = mWifiSlice.getSlice();
final List<SliceItem> sliceItems = wifiSlice.getItems();
SliceTester.assertAnySliceItemContainsTitle(sliceItems, AP1_NAME);
SliceTester.assertAnySliceItemContainsTitle(sliceItems, AP2_NAME);
// No scanning text
SliceTester.assertNoSliceItemContainsSubtitle(sliceItems, mContext.getString(R.string.wifi_empty_list_wifi_on));
}
use of androidx.slice.Slice in project Resurrection_packages_apps_Settings by ResurrectionRemix.
the class EligibleCardChecker method isCardEligibleToDisplay.
@VisibleForTesting
boolean isCardEligibleToDisplay(ContextualCard card) {
if (card.getRankingScore() < 0) {
return false;
}
if (card.isCustomCard()) {
return true;
}
final Uri uri = card.getSliceUri();
if (!ContentResolver.SCHEME_CONTENT.equals(uri.getScheme())) {
return false;
}
final Slice slice = bindSlice(uri);
if (isSliceToggleable(slice)) {
mCard = card.mutate().setHasInlineAction(true).build();
}
if (slice == null || slice.hasHint(HINT_ERROR)) {
Log.w(TAG, "Failed to bind slice, not eligible for display " + uri);
return false;
}
return true;
}
use of androidx.slice.Slice in project Resurrection_packages_apps_Settings by ResurrectionRemix.
the class SliceContextualCardRenderer method bindView.
@Override
public void bindView(RecyclerView.ViewHolder holder, ContextualCard card) {
final Uri uri = card.getSliceUri();
if (!ContentResolver.SCHEME_CONTENT.equals(uri.getScheme())) {
Log.w(TAG, "Invalid uri, skipping slice: " + uri);
return;
}
LiveData<Slice> sliceLiveData = mSliceLiveDataMap.get(uri);
if (sliceLiveData == null) {
sliceLiveData = SliceLiveData.fromUri(mContext, uri);
mSliceLiveDataMap.put(uri, sliceLiveData);
}
final View swipeBackground = holder.itemView.findViewById(R.id.dismissal_swipe_background);
sliceLiveData.removeObservers(mLifecycleOwner);
// set the background to GONE in case the holder is reused.
if (swipeBackground != null) {
swipeBackground.setVisibility(View.GONE);
}
sliceLiveData.observe(mLifecycleOwner, slice -> {
if (slice == null) {
Log.w(TAG, "Slice is null");
mContext.getContentResolver().notifyChange(CardContentProvider.REFRESH_CARD_URI, null);
return;
}
if (slice.hasHint(HINT_ERROR)) {
Log.w(TAG, "Slice has HINT_ERROR, skipping rendering. uri=" + slice.getUri());
mSliceLiveDataMap.get(slice.getUri()).removeObservers(mLifecycleOwner);
mContext.getContentResolver().notifyChange(CardContentProvider.REFRESH_CARD_URI, null);
return;
}
switch(holder.getItemViewType()) {
case VIEW_TYPE_DEFERRED_SETUP:
mDeferredSetupCardHelper.bindView(holder, card, slice);
break;
case VIEW_TYPE_HALF_WIDTH:
mHalfCardHelper.bindView(holder, card, slice);
break;
default:
mFullCardHelper.bindView(holder, card, slice);
}
if (swipeBackground != null) {
swipeBackground.setVisibility(View.VISIBLE);
}
});
switch(holder.getItemViewType()) {
case VIEW_TYPE_DEFERRED_SETUP:
// Deferred setup is never dismissible.
break;
case VIEW_TYPE_HALF_WIDTH:
initDismissalActions(holder, card);
break;
default:
initDismissalActions(holder, card);
}
if (card.isPendingDismiss()) {
showDismissalView(holder);
mFlippedCardSet.add(holder);
}
}
Aggregations