From 8cd659af19bbc300f4cff23751d6b22cc7831a97 Mon Sep 17 00:00:00 2001 From: Raff Tsai Date: Tue, 9 Oct 2018 03:15:04 +0800 Subject: [PATCH] Use proto in contextualCard object Test: make RunSettingsRoboTests Change-Id: Ic7af69047e33e3b10a993dd9820b4c6ceb23666c --- libs/contextualcards.aar | Bin 5277 -> 2862 bytes .../SettingsContextualCardProvider.java | 23 +++++++++--------- .../SettingsContextualCardProviderTest.java | 13 +++++----- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/libs/contextualcards.aar b/libs/contextualcards.aar index a44a26c38b1f958295cb640c37dfefe21189f583..5e855fa0dec7120b31ca996bd877b25e3dd86ad6 100755 GIT binary patch delta 2312 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 XKNFMR3NQk56O$1O7Y3*k00000bSXgt diff --git a/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java b/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java index 44705c59522..2dede95e758 100644 --- a/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java +++ b/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java @@ -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 getContextualCards() { - final List 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; } } diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProviderTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProviderTest.java index 80d94977607..a80b963c594 100644 --- a/tests/robotests/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProviderTest.java +++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProviderTest.java @@ -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 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); } } \ No newline at end of file