From: Raff Tsai Date: Mon, 15 Apr 2019 09:33:55 +0000 (+0800) Subject: Remove error slice from Settings in rendering time X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=000ba3fabef08c0cd3f27397427504df645b5bdb;p=android-x86%2Fpackages-apps-Settings.git Remove error slice from Settings in rendering time We filter error slice in EligibleCardChecker but not filter it in SliceContextualCardRenderer, these two part should use the same logic. Fixes:128687331 Test: manual Change-Id: I217bc6b578ceb36b0a67b44dc8a08ecd02771d82 --- diff --git a/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java b/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java index 725f08752b..9898834508 100644 --- a/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java +++ b/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java @@ -16,6 +16,8 @@ package com.android.settings.homepage.contextualcards.slices; +import static android.app.slice.Slice.HINT_ERROR; + import android.content.ContentResolver; import android.content.Context; import android.net.Uri; @@ -117,6 +119,14 @@ public class SliceContextualCardRenderer implements ContextualCardRenderer, Life 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);