diff --git a/res/values/dimens.xml b/res/values/dimens.xml index dc23c3d8d06..28ab8f8323e 100755 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -348,6 +348,7 @@ 12dp 16dp 12dp + 0dp 12dp diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java index 0dfed72bae2..81ea45a818c 100644 --- a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java +++ b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java @@ -50,7 +50,7 @@ import java.util.stream.Collectors; public class ContextualCardLoader extends AsyncLoaderCompat> { @VisibleForTesting - static final int DEFAULT_CARD_COUNT = 3; + static final int DEFAULT_CARD_COUNT = 1; @VisibleForTesting static final String CONTEXTUAL_CARD_COUNT = "contextual_card_count"; static final int CARD_CONTENT_LOADER_ID = 1; @@ -131,7 +131,7 @@ public class ContextualCardLoader extends AsyncLoaderCompat final List visibleCards = new ArrayList<>(); final List hiddenCards = new ArrayList<>(); - final int maxCardCount = getCardCount(); + final int maxCardCount = getCardCount(mContext); eligibleCards.forEach(card -> { if (card.getCategory() != STICKY_VALUE) { return; @@ -177,11 +177,10 @@ public class ContextualCardLoader extends AsyncLoaderCompat return visibleCards; } - @VisibleForTesting - int getCardCount() { + static int getCardCount(Context context) { // Return the card count if Settings.Global has KEY_CONTEXTUAL_CARD_COUNT key, // otherwise return the default one. - return Settings.Global.getInt(mContext.getContentResolver(), + return Settings.Global.getInt(context.getContentResolver(), CONTEXTUAL_CARD_COUNT, DEFAULT_CARD_COUNT); } diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java b/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java index ac35017baab..00755296d0a 100644 --- a/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java +++ b/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java @@ -122,6 +122,10 @@ public class ContextualCardManager implements ContextualCardLoader.CardContentLo Log.w(TAG, "Legacy suggestion contextual card enabled, skipping contextual cards."); return; } + if (ContextualCardLoader.getCardCount(mContext) <= 0) { + Log.w(TAG, "Card count is zero, skipping contextual cards."); + return; + } mStartTime = System.currentTimeMillis(); final CardContentLoaderCallbacks cardContentLoaderCallbacks = new CardContentLoaderCallbacks(mContext); diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardsAdapter.java b/src/com/android/settings/homepage/contextualcards/ContextualCardsAdapter.java index b9bc43b32b5..cf6f53c7075 100644 --- a/src/com/android/settings/homepage/contextualcards/ContextualCardsAdapter.java +++ b/src/com/android/settings/homepage/contextualcards/ContextualCardsAdapter.java @@ -16,7 +16,10 @@ package com.android.settings.homepage.contextualcards; +import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; + import android.content.Context; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -131,7 +134,22 @@ public class ContextualCardsAdapter extends RecyclerView.Adapter