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 e4a644cf780..de7eda2197f 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;
@@ -167,11 +167,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