Remove mIsHalfWidth field from ContextualCard
mIsHalfWidth in ContextualCard is too generic to identify its responsibility, it is used to hold the value of is_support_half from database and used to decide the card width. Also, it limits the relationship of CardType-to-Renderer not to be extended to one-to-many. To deal with this, we replaced mIsHalfWidth with mViewType to implement one-to-many relationship of CardType-to-Renderer, and removed all related logic of mIsHalfWidth. Bug: 121303357 Test: robotests, visual Change-Id: I03e14392272194424f317d11bf9d0d794a6133f4
This commit is contained in:
@@ -24,14 +24,10 @@ import androidx.annotation.VisibleForTesting;
|
||||
import com.android.settings.homepage.contextualcards.ContextualCard.CardType;
|
||||
import com.android.settings.homepage.contextualcards.conditional.ConditionContextualCardController;
|
||||
import com.android.settings.homepage.contextualcards.conditional.ConditionContextualCardRenderer;
|
||||
import com.android.settings.homepage.contextualcards.conditional
|
||||
.ConditionHeaderContextualCardRenderer;
|
||||
import com.android.settings.homepage.contextualcards.legacysuggestion
|
||||
.LegacySuggestionContextualCardController;
|
||||
import com.android.settings.homepage.contextualcards.legacysuggestion
|
||||
.LegacySuggestionContextualCardRenderer;
|
||||
import com.android.settings.homepage.contextualcards.conditional
|
||||
.ConditionFooterContextualCardRenderer;
|
||||
import com.android.settings.homepage.contextualcards.conditional.ConditionFooterContextualCardRenderer;
|
||||
import com.android.settings.homepage.contextualcards.conditional.ConditionHeaderContextualCardRenderer;
|
||||
import com.android.settings.homepage.contextualcards.legacysuggestion.LegacySuggestionContextualCardController;
|
||||
import com.android.settings.homepage.contextualcards.legacysuggestion.LegacySuggestionContextualCardRenderer;
|
||||
import com.android.settings.homepage.contextualcards.slices.SliceContextualCardController;
|
||||
import com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer;
|
||||
|
||||
@@ -72,11 +68,11 @@ public class ContextualCardLookupTable {
|
||||
static final Set<ControllerRendererMapping> LOOKUP_TABLE =
|
||||
new TreeSet<ControllerRendererMapping>() {{
|
||||
add(new ControllerRendererMapping(CardType.CONDITIONAL,
|
||||
ConditionContextualCardRenderer.HALF_WIDTH_VIEW_TYPE,
|
||||
ConditionContextualCardRenderer.VIEW_TYPE_HALF_WIDTH,
|
||||
ConditionContextualCardController.class,
|
||||
ConditionContextualCardRenderer.class));
|
||||
add(new ControllerRendererMapping(CardType.CONDITIONAL,
|
||||
ConditionContextualCardRenderer.FULL_WIDTH_VIEW_TYPE,
|
||||
ConditionContextualCardRenderer.VIEW_TYPE_FULL_WIDTH,
|
||||
ConditionContextualCardController.class,
|
||||
ConditionContextualCardRenderer.class));
|
||||
add(new ControllerRendererMapping(CardType.LEGACY_SUGGESTION,
|
||||
@@ -111,15 +107,6 @@ public class ContextualCardLookupTable {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Class<? extends ContextualCardRenderer> getCardRendererClassByCardType(
|
||||
@CardType int cardType) {
|
||||
return LOOKUP_TABLE.stream()
|
||||
.filter(m -> m.mCardType == cardType)
|
||||
.findFirst()
|
||||
.map(mapping -> mapping.mRendererClass)
|
||||
.orElse(null);
|
||||
}
|
||||
|
||||
public static Class<? extends ContextualCardRenderer> getCardRendererClassByViewType(
|
||||
int viewType) throws IllegalStateException {
|
||||
List<ControllerRendererMapping> validMappings = LOOKUP_TABLE.stream()
|
||||
|
||||
Reference in New Issue
Block a user