Loading src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java +13 −1 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.database.Cursor; import android.net.Uri; import android.os.Handler; import android.os.Looper; import android.provider.Settings; import android.util.Log; import androidx.annotation.NonNull; Loading @@ -50,6 +51,8 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard> @VisibleForTesting static final int DEFAULT_CARD_COUNT = 3; @VisibleForTesting static final String CONTEXTUAL_CARD_COUNT = "contextual_card_count"; static final int CARD_CONTENT_LOADER_ID = 1; private static final String TAG = "ContextualCardLoader"; Loading Loading @@ -130,8 +133,9 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard> final List<ContextualCard> hiddenCards = new ArrayList<>(); final int size = eligibleCards.size(); final int cardCount = getCardCount(); for (int i = 0; i < size; i++) { if (i < DEFAULT_CARD_COUNT) { if (i < cardCount) { visibleCards.add(eligibleCards.get(i)); } else { hiddenCards.add(eligibleCards.get(i)); Loading @@ -149,6 +153,14 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard> return visibleCards; } @VisibleForTesting int getCardCount() { // Return the card count if Settings.Global has KEY_CONTEXTUAL_CARD_COUNT key, // otherwise return the default one. return Settings.Global.getInt(mContext.getContentResolver(), CONTEXTUAL_CARD_COUNT, DEFAULT_CARD_COUNT); } @VisibleForTesting Cursor getContextualCardsFromProvider() { return CardDatabaseHelper.getInstance(mContext).getContextualCards(); Loading tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java +15 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import static org.mockito.Mockito.verify; import android.app.settings.SettingsEnums; import android.content.Context; import android.net.Uri; import android.provider.Settings; import com.android.settings.R; import com.android.settings.slices.CustomSliceRegistry; Loading Loading @@ -110,6 +111,20 @@ public class ContextualCardLoaderTest { eq(SettingsEnums.ACTION_CONTEXTUAL_CARD_NOT_SHOW), any(String.class)); } @Test public void getCardCount_noConfiguredCardCount_returnDefaultCardCount() { assertThat(mContextualCardLoader.getCardCount()).isEqualTo(DEFAULT_CARD_COUNT); } @Test public void getCardCount_hasConfiguredCardCount_returnConfiguredCardCount() { int configCount = 4; Settings.Global.putLong(mContext.getContentResolver(), ContextualCardLoader.CONTEXTUAL_CARD_COUNT, configCount); assertThat(mContextualCardLoader.getCardCount()).isEqualTo(configCount); } private List<ContextualCard> getContextualCardList() { final List<ContextualCard> cards = new ArrayList<>(); cards.add(new ContextualCard.Builder() Loading Loading
src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java +13 −1 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.database.Cursor; import android.net.Uri; import android.os.Handler; import android.os.Looper; import android.provider.Settings; import android.util.Log; import androidx.annotation.NonNull; Loading @@ -50,6 +51,8 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard> @VisibleForTesting static final int DEFAULT_CARD_COUNT = 3; @VisibleForTesting static final String CONTEXTUAL_CARD_COUNT = "contextual_card_count"; static final int CARD_CONTENT_LOADER_ID = 1; private static final String TAG = "ContextualCardLoader"; Loading Loading @@ -130,8 +133,9 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard> final List<ContextualCard> hiddenCards = new ArrayList<>(); final int size = eligibleCards.size(); final int cardCount = getCardCount(); for (int i = 0; i < size; i++) { if (i < DEFAULT_CARD_COUNT) { if (i < cardCount) { visibleCards.add(eligibleCards.get(i)); } else { hiddenCards.add(eligibleCards.get(i)); Loading @@ -149,6 +153,14 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard> return visibleCards; } @VisibleForTesting int getCardCount() { // Return the card count if Settings.Global has KEY_CONTEXTUAL_CARD_COUNT key, // otherwise return the default one. return Settings.Global.getInt(mContext.getContentResolver(), CONTEXTUAL_CARD_COUNT, DEFAULT_CARD_COUNT); } @VisibleForTesting Cursor getContextualCardsFromProvider() { return CardDatabaseHelper.getInstance(mContext).getContextualCards(); Loading
tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java +15 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import static org.mockito.Mockito.verify; import android.app.settings.SettingsEnums; import android.content.Context; import android.net.Uri; import android.provider.Settings; import com.android.settings.R; import com.android.settings.slices.CustomSliceRegistry; Loading Loading @@ -110,6 +111,20 @@ public class ContextualCardLoaderTest { eq(SettingsEnums.ACTION_CONTEXTUAL_CARD_NOT_SHOW), any(String.class)); } @Test public void getCardCount_noConfiguredCardCount_returnDefaultCardCount() { assertThat(mContextualCardLoader.getCardCount()).isEqualTo(DEFAULT_CARD_COUNT); } @Test public void getCardCount_hasConfiguredCardCount_returnConfiguredCardCount() { int configCount = 4; Settings.Global.putLong(mContext.getContentResolver(), ContextualCardLoader.CONTEXTUAL_CARD_COUNT, configCount); assertThat(mContextualCardLoader.getCardCount()).isEqualTo(configCount); } private List<ContextualCard> getContextualCardList() { final List<ContextualCard> cards = new ArrayList<>(); cards.add(new ContextualCard.Builder() Loading