Loading src/com/android/settings/core/FeatureFlags.java +0 −1 Original line number Diff line number Diff line Loading @@ -29,5 +29,4 @@ public class FeatureFlags { public static final String CONTROLLER_ENHANCEMENT = "settings_controller_loading_enhancement"; public static final String CONDITIONAL_CARDS = "settings_conditionals"; public static final String TETHER_ALL_IN_ONE = "settings_tether_all_in_one"; public static final String CONTEXTUAL_HOME2 = "settings_contextual_home2"; } src/com/android/settings/homepage/contextualcards/ContextualCardManager.java +1 −25 Original line number Diff line number Diff line Loading @@ -19,14 +19,11 @@ package com.android.settings.homepage.contextualcards; import static com.android.settings.homepage.contextualcards.ContextualCardLoader.CARD_CONTENT_LOADER_ID; import static com.android.settings.intelligence.ContextualCardProto.ContextualCard.Category.STICKY_VALUE; import static com.android.settings.intelligence.ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE; import static com.android.settings.slices.CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI; import static com.android.settings.slices.CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI; import static java.util.stream.Collectors.groupingBy; import android.app.settings.SettingsEnums; import android.content.Context; import android.net.Uri; import android.os.Bundle; import android.provider.Settings; import android.text.format.DateUtils; Loading Loading @@ -55,7 +52,6 @@ import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Set; Loading Loading @@ -85,8 +81,6 @@ public class ContextualCardManager implements ContextualCardLoader.CardContentLo static final String KEY_CONTEXTUAL_CARDS = "key_contextual_cards"; private static final String TAG = "ContextualCardManager"; private static final List<Uri> STICKY_CARDS = Arrays.asList(CONTEXTUAL_WIFI_SLICE_URI, BLUETOOTH_DEVICES_SLICE_URI); private final Context mContext; private final Lifecycle mLifecycle; Loading Loading @@ -364,30 +358,12 @@ public class ContextualCardManager implements ContextualCardLoader.CardContentLo private List<ContextualCard> getCardsWithStickyViewType(List<ContextualCard> cards) { final List<ContextualCard> result = new ArrayList<>(cards); int replaceCount = 0; for (int index = 0; index < result.size(); index++) { final ContextualCard card = cards.get(index); if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2)) { if (card.getCategory() == STICKY_VALUE) { result.set(index, card.mutate().setViewType( SliceContextualCardRenderer.VIEW_TYPE_STICKY).build()); } continue; } if (replaceCount > STICKY_CARDS.size() - 1) { break; } if (card.getCardType() != ContextualCard.CardType.SLICE) { continue; } if (STICKY_CARDS.contains(card.getSliceUri())) { result.set(index, card.mutate().setViewType( SliceContextualCardRenderer.VIEW_TYPE_STICKY).build()); replaceCount++; } } return result; } Loading tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardManagerTest.java +0 −84 Original line number Diff line number Diff line Loading @@ -610,7 +610,6 @@ public class ContextualCardManagerTest { @Test public void getCardsWithViewType_hasOneStickySlice_shouldHaveOneStickyCard() { FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2, true); final List<ContextualCard> cards = new ArrayList<>(); cards.add(buildContextualCard(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI.toString())); cards.add(buildContextualCard(CustomSliceRegistry.LOW_STORAGE_SLICE_URI.toString())); Loading @@ -627,89 +626,6 @@ public class ContextualCardManagerTest { assertThat(result.get(1).getViewType()).isEqualTo(VIEW_TYPE_FULL_WIDTH); } @Test public void getCardsWithViewType_hasWifiSlice_shouldHaveOneStickyCard() { FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2, false); final List<ContextualCard> cards = new ArrayList<>(); cards.add(buildContextualCard(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI.toString())); cards.add(buildContextualCard(CustomSliceRegistry.LOW_STORAGE_SLICE_URI.toString())); final List<Integer> categories = Arrays.asList( ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE, ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE ); final List<ContextualCard> cardListWithWifi = buildCategoriedCards(cards, categories); final List<ContextualCard> result = mManager.getCardsWithViewType(cardListWithWifi); assertThat(result).hasSize(cards.size()); assertThat(result.get(0).getViewType()).isEqualTo(VIEW_TYPE_STICKY); assertThat(result.get(1).getViewType()).isEqualTo(VIEW_TYPE_FULL_WIDTH); } @Test public void getCardsWithViewType_hasBluetoothDeviceSlice_shouldHaveOneStickyCard() { FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2, false); final List<ContextualCard> cards = new ArrayList<>(); cards.add(buildContextualCard(CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI.toString())); cards.add(buildContextualCard(CustomSliceRegistry.LOW_STORAGE_SLICE_URI.toString())); final List<Integer> categories = Arrays.asList( ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE, ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE ); final List<ContextualCard> cardListWithBT = buildCategoriedCards(cards, categories); final List<ContextualCard> result = mManager.getCardsWithViewType(cardListWithBT); assertThat(result).hasSize(cards.size()); assertThat(result.get(0).getViewType()).isEqualTo(VIEW_TYPE_STICKY); assertThat(result.get(1).getViewType()).isEqualTo(VIEW_TYPE_FULL_WIDTH); } @Test public void getCardsWithViewType_hasWifiAndBtDeviceSlice_shouldHaveTwoStickyCards() { FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2, false); final List<ContextualCard> cards = new ArrayList<>(); cards.add(buildContextualCard(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI.toString())); cards.add(buildContextualCard(CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI.toString())); cards.add(buildContextualCard(CustomSliceRegistry.LOW_STORAGE_SLICE_URI.toString())); final List<Integer> categories = Arrays.asList( ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE, ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE, ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE ); final List<ContextualCard> cardListWithWifiBT = buildCategoriedCards(cards, categories); final List<ContextualCard> result = mManager.getCardsWithViewType(cardListWithWifiBT); assertThat(result).hasSize(cards.size()); assertThat(result.stream() .filter(card -> card.getViewType() == VIEW_TYPE_STICKY) .count()) .isEqualTo(2); } @Test public void getCardsWithViewType_noWifiOrBtDeviceSlice_shouldNotHaveStickyCard() { FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2, false); final List<Integer> categories = Arrays.asList( ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE, ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE, ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE, ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE, ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE ); final List<ContextualCard> cardListWithoutWifiBT = buildCategoriedCards(getContextualCardList(), categories); final List<ContextualCard> result = mManager.getCardsWithViewType(cardListWithoutWifiBT); assertThat(result).hasSize(cardListWithoutWifiBT.size()); assertThat(result.stream() .filter(card -> card.getViewType() == VIEW_TYPE_STICKY) .count()) .isEqualTo(0); } @Test public void getCardsToKeep_hasSavedCard_shouldResetSavedCards() { final List<String> savedCardNames = new ArrayList<>(); Loading Loading
src/com/android/settings/core/FeatureFlags.java +0 −1 Original line number Diff line number Diff line Loading @@ -29,5 +29,4 @@ public class FeatureFlags { public static final String CONTROLLER_ENHANCEMENT = "settings_controller_loading_enhancement"; public static final String CONDITIONAL_CARDS = "settings_conditionals"; public static final String TETHER_ALL_IN_ONE = "settings_tether_all_in_one"; public static final String CONTEXTUAL_HOME2 = "settings_contextual_home2"; }
src/com/android/settings/homepage/contextualcards/ContextualCardManager.java +1 −25 Original line number Diff line number Diff line Loading @@ -19,14 +19,11 @@ package com.android.settings.homepage.contextualcards; import static com.android.settings.homepage.contextualcards.ContextualCardLoader.CARD_CONTENT_LOADER_ID; import static com.android.settings.intelligence.ContextualCardProto.ContextualCard.Category.STICKY_VALUE; import static com.android.settings.intelligence.ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE; import static com.android.settings.slices.CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI; import static com.android.settings.slices.CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI; import static java.util.stream.Collectors.groupingBy; import android.app.settings.SettingsEnums; import android.content.Context; import android.net.Uri; import android.os.Bundle; import android.provider.Settings; import android.text.format.DateUtils; Loading Loading @@ -55,7 +52,6 @@ import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Set; Loading Loading @@ -85,8 +81,6 @@ public class ContextualCardManager implements ContextualCardLoader.CardContentLo static final String KEY_CONTEXTUAL_CARDS = "key_contextual_cards"; private static final String TAG = "ContextualCardManager"; private static final List<Uri> STICKY_CARDS = Arrays.asList(CONTEXTUAL_WIFI_SLICE_URI, BLUETOOTH_DEVICES_SLICE_URI); private final Context mContext; private final Lifecycle mLifecycle; Loading Loading @@ -364,30 +358,12 @@ public class ContextualCardManager implements ContextualCardLoader.CardContentLo private List<ContextualCard> getCardsWithStickyViewType(List<ContextualCard> cards) { final List<ContextualCard> result = new ArrayList<>(cards); int replaceCount = 0; for (int index = 0; index < result.size(); index++) { final ContextualCard card = cards.get(index); if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2)) { if (card.getCategory() == STICKY_VALUE) { result.set(index, card.mutate().setViewType( SliceContextualCardRenderer.VIEW_TYPE_STICKY).build()); } continue; } if (replaceCount > STICKY_CARDS.size() - 1) { break; } if (card.getCardType() != ContextualCard.CardType.SLICE) { continue; } if (STICKY_CARDS.contains(card.getSliceUri())) { result.set(index, card.mutate().setViewType( SliceContextualCardRenderer.VIEW_TYPE_STICKY).build()); replaceCount++; } } return result; } Loading
tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardManagerTest.java +0 −84 Original line number Diff line number Diff line Loading @@ -610,7 +610,6 @@ public class ContextualCardManagerTest { @Test public void getCardsWithViewType_hasOneStickySlice_shouldHaveOneStickyCard() { FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2, true); final List<ContextualCard> cards = new ArrayList<>(); cards.add(buildContextualCard(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI.toString())); cards.add(buildContextualCard(CustomSliceRegistry.LOW_STORAGE_SLICE_URI.toString())); Loading @@ -627,89 +626,6 @@ public class ContextualCardManagerTest { assertThat(result.get(1).getViewType()).isEqualTo(VIEW_TYPE_FULL_WIDTH); } @Test public void getCardsWithViewType_hasWifiSlice_shouldHaveOneStickyCard() { FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2, false); final List<ContextualCard> cards = new ArrayList<>(); cards.add(buildContextualCard(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI.toString())); cards.add(buildContextualCard(CustomSliceRegistry.LOW_STORAGE_SLICE_URI.toString())); final List<Integer> categories = Arrays.asList( ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE, ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE ); final List<ContextualCard> cardListWithWifi = buildCategoriedCards(cards, categories); final List<ContextualCard> result = mManager.getCardsWithViewType(cardListWithWifi); assertThat(result).hasSize(cards.size()); assertThat(result.get(0).getViewType()).isEqualTo(VIEW_TYPE_STICKY); assertThat(result.get(1).getViewType()).isEqualTo(VIEW_TYPE_FULL_WIDTH); } @Test public void getCardsWithViewType_hasBluetoothDeviceSlice_shouldHaveOneStickyCard() { FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2, false); final List<ContextualCard> cards = new ArrayList<>(); cards.add(buildContextualCard(CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI.toString())); cards.add(buildContextualCard(CustomSliceRegistry.LOW_STORAGE_SLICE_URI.toString())); final List<Integer> categories = Arrays.asList( ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE, ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE ); final List<ContextualCard> cardListWithBT = buildCategoriedCards(cards, categories); final List<ContextualCard> result = mManager.getCardsWithViewType(cardListWithBT); assertThat(result).hasSize(cards.size()); assertThat(result.get(0).getViewType()).isEqualTo(VIEW_TYPE_STICKY); assertThat(result.get(1).getViewType()).isEqualTo(VIEW_TYPE_FULL_WIDTH); } @Test public void getCardsWithViewType_hasWifiAndBtDeviceSlice_shouldHaveTwoStickyCards() { FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2, false); final List<ContextualCard> cards = new ArrayList<>(); cards.add(buildContextualCard(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI.toString())); cards.add(buildContextualCard(CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI.toString())); cards.add(buildContextualCard(CustomSliceRegistry.LOW_STORAGE_SLICE_URI.toString())); final List<Integer> categories = Arrays.asList( ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE, ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE, ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE ); final List<ContextualCard> cardListWithWifiBT = buildCategoriedCards(cards, categories); final List<ContextualCard> result = mManager.getCardsWithViewType(cardListWithWifiBT); assertThat(result).hasSize(cards.size()); assertThat(result.stream() .filter(card -> card.getViewType() == VIEW_TYPE_STICKY) .count()) .isEqualTo(2); } @Test public void getCardsWithViewType_noWifiOrBtDeviceSlice_shouldNotHaveStickyCard() { FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2, false); final List<Integer> categories = Arrays.asList( ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE, ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE, ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE, ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE, ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE ); final List<ContextualCard> cardListWithoutWifiBT = buildCategoriedCards(getContextualCardList(), categories); final List<ContextualCard> result = mManager.getCardsWithViewType(cardListWithoutWifiBT); assertThat(result).hasSize(cardListWithoutWifiBT.size()); assertThat(result.stream() .filter(card -> card.getViewType() == VIEW_TYPE_STICKY) .count()) .isEqualTo(0); } @Test public void getCardsToKeep_hasSavedCard_shouldResetSavedCards() { final List<String> savedCardNames = new ArrayList<>(); Loading