Use proto in contextualCard object

Test: make RunSettingsRoboTests
Change-Id: Ic7af69047e33e3b10a993dd9820b4c6ceb23666c
This commit is contained in:
Raff Tsai
2018-10-09 03:15:04 +08:00
committed by Fan Zhang
parent a4c42eb024
commit 8cd659af19
3 changed files with 17 additions and 19 deletions

Binary file not shown.

View File

@@ -21,14 +21,12 @@ import static android.provider.SettingsSlicesContract.KEY_WIFI;
import android.annotation.Nullable;
import com.android.settings.homepage.deviceinfo.DataUsageSlice;
import com.android.settings.intelligence.ContextualCardProto.ContextualCard;
import com.android.settings.intelligence.ContextualCardProto.ContextualCardList;
import com.android.settings.wifi.WifiSlice;
import com.google.android.settings.intelligence.libs.contextualcards.ContextualCard;
import com.google.android.settings.intelligence.libs.contextualcards.ContextualCardProvider;
import java.util.ArrayList;
import java.util.List;
/** Provides dynamic card for SettingsIntelligence. */
public class SettingsContextualCardProvider extends ContextualCardProvider {
@@ -36,21 +34,22 @@ public class SettingsContextualCardProvider extends ContextualCardProvider {
@Override
@Nullable
public List<ContextualCard> getContextualCards() {
final List<ContextualCard> cards = new ArrayList<>();
public ContextualCardList getContextualCards() {
final ContextualCard wifiCard =
new ContextualCard.Builder()
ContextualCard.newBuilder()
.setSliceUri(WifiSlice.WIFI_URI.toString())
.setName(KEY_WIFI)
.setCardName(KEY_WIFI)
.build();
final ContextualCard dataUsageCard =
new ContextualCard.Builder()
ContextualCard.newBuilder()
.setSliceUri(DataUsageSlice.DATA_USAGE_CARD_URI.toString())
.setName(DataUsageSlice.PATH_DATA_USAGE_CARD)
.setCardName(DataUsageSlice.PATH_DATA_USAGE_CARD)
.build();
final ContextualCardList cards = ContextualCardList.newBuilder()
.addCard(wifiCard)
.addCard(dataUsageCard)
.build();
cards.add(wifiCard);
cards.add(dataUsageCard);
return cards;
}
}

View File

@@ -24,9 +24,9 @@ import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import com.android.settings.intelligence.ContextualCardProto.ContextualCardList;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.google.android.settings.intelligence.libs.contextualcards.ContextualCard;
import com.google.android.settings.intelligence.libs.contextualcards.ContextualCardProvider;
import org.junit.Before;
@@ -34,8 +34,6 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RuntimeEnvironment;
import java.util.ArrayList;
@RunWith(SettingsRobolectricTestRunner.class)
public class SettingsContextualCardProviderTest {
@@ -54,11 +52,12 @@ public class SettingsContextualCardProviderTest {
}
@Test
public void contentProviderCall_returnCorrectSize() {
public void contentProviderCall_returnCorrectSize() throws Exception {
final Bundle returnValue =
mResolver.call(mUri, ContextualCardProvider.METHOD_GET_CARD_LIST, "", null);
final ArrayList<ContextualCard> cards =
returnValue.getParcelableArrayList(ContextualCardProvider.BUNDLE_CARD_LIST);
assertThat(cards.size()).isEqualTo(2);
final ContextualCardList cards =
ContextualCardList.parseFrom(
returnValue.getByteArray(ContextualCardProvider.BUNDLE_CARD_LIST));
assertThat(cards.getCardCount()).isEqualTo(2);
}
}