Add vertical and horizontal dividers for large cards of homepage
- Add a new field in ContextualCard to store whether this card is a large one - Set dividers for large cards in renderer Fixes: 119528161 Fixes: 119641839 Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.homepage Change-Id: I5cb95214789f44ccfd8d9ce2177ca2b84835b7a4
This commit is contained in:
@@ -97,6 +97,8 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard>
|
||||
final ContextualCard card = new ContextualCard(cursor);
|
||||
if (card.isCustomCard()) {
|
||||
//TODO(b/114688391): Load and generate custom card,then add into list
|
||||
} else if (isLargeCard(card)) {
|
||||
result.add(card.mutate().setIsLargeCard(true).build());
|
||||
} else {
|
||||
result.add(card);
|
||||
}
|
||||
@@ -195,12 +197,16 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard>
|
||||
|
||||
private int getNumberOfLargeCard(List<ContextualCard> cards) {
|
||||
return (int) cards.stream()
|
||||
.filter(card -> card.getSliceUri().equals(WIFI_SLICE_URI)
|
||||
|| card.getSliceUri().equals(BLUETOOTH_DEVICES_SLICE_URI))
|
||||
.filter(card -> isLargeCard(card))
|
||||
.count();
|
||||
}
|
||||
|
||||
private boolean isLargeCard(ContextualCard card) {
|
||||
return card.getSliceUri().equals(WIFI_SLICE_URI)
|
||||
|| card.getSliceUri().equals(BLUETOOTH_DEVICES_SLICE_URI);
|
||||
}
|
||||
|
||||
public interface CardContentLoaderListener {
|
||||
void onFinishCardLoading(List<ContextualCard> contextualCards);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user