Merge "Make contextual card count configurable."
This commit is contained in:
committed by
Android (Google) Code Review
commit
81d194ed7a
@@ -27,6 +27,7 @@ import android.database.Cursor;
|
|||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
|
import android.provider.Settings;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
@@ -50,6 +51,8 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard>
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static final int DEFAULT_CARD_COUNT = 3;
|
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;
|
static final int CARD_CONTENT_LOADER_ID = 1;
|
||||||
|
|
||||||
private static final String TAG = "ContextualCardLoader";
|
private static final String TAG = "ContextualCardLoader";
|
||||||
@@ -130,8 +133,9 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard>
|
|||||||
final List<ContextualCard> hiddenCards = new ArrayList<>();
|
final List<ContextualCard> hiddenCards = new ArrayList<>();
|
||||||
|
|
||||||
final int size = eligibleCards.size();
|
final int size = eligibleCards.size();
|
||||||
|
final int cardCount = getCardCount();
|
||||||
for (int i = 0; i < size; i++) {
|
for (int i = 0; i < size; i++) {
|
||||||
if (i < DEFAULT_CARD_COUNT) {
|
if (i < cardCount) {
|
||||||
visibleCards.add(eligibleCards.get(i));
|
visibleCards.add(eligibleCards.get(i));
|
||||||
} else {
|
} else {
|
||||||
hiddenCards.add(eligibleCards.get(i));
|
hiddenCards.add(eligibleCards.get(i));
|
||||||
@@ -149,6 +153,14 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard>
|
|||||||
return visibleCards;
|
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
|
@VisibleForTesting
|
||||||
Cursor getContextualCardsFromProvider() {
|
Cursor getContextualCardsFromProvider() {
|
||||||
return CardDatabaseHelper.getInstance(mContext).getContextualCards();
|
return CardDatabaseHelper.getInstance(mContext).getContextualCards();
|
||||||
|
@@ -31,6 +31,7 @@ import static org.mockito.Mockito.verify;
|
|||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.provider.Settings;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.slices.CustomSliceRegistry;
|
import com.android.settings.slices.CustomSliceRegistry;
|
||||||
@@ -110,6 +111,20 @@ public class ContextualCardLoaderTest {
|
|||||||
eq(SettingsEnums.ACTION_CONTEXTUAL_CARD_NOT_SHOW), any(String.class));
|
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() {
|
private List<ContextualCard> getContextualCardList() {
|
||||||
final List<ContextualCard> cards = new ArrayList<>();
|
final List<ContextualCard> cards = new ArrayList<>();
|
||||||
cards.add(new ContextualCard.Builder()
|
cards.add(new ContextualCard.Builder()
|
||||||
|
Reference in New Issue
Block a user