Update proto for contextual_card_list.

Bug: 118842350
Test: rebuild
Change-Id: I838738f56c8793a8e4d6adf43bc812777edbcd88
This commit is contained in:
Fan Zhang
2018-11-06 13:46:03 -08:00
parent 92792ee806
commit 9a28c433f2
4 changed files with 37 additions and 14 deletions

Binary file not shown.

View File

@@ -8,12 +8,24 @@ message ContextualCardList {
} }
message ContextualCard { message ContextualCard {
// Slice uri of the contextual card
/**
* The category of a card: this is a hint for how a card should be collected,
* ranked, and presented
*/
enum Category {
DEFAULT = 0;
SUGGESTION = 1;
POSSIBLE = 2;
IMPORTANT = 3;
EXCLUSIVE = 4;
}
/** Slice uri of the contextual card */
optional string sliceUri = 1; optional string sliceUri = 1;
// {@link ContextualCardCategory}. /** Name of the card. It should be identical in every app */
optional int32 category = 2;
// Name of the card. It should be identical in every app
optional string cardName = 3; optional string cardName = 3;
}
optional Category card_category = 4;
}

View File

@@ -26,7 +26,6 @@ import com.android.settings.intelligence.ContextualCardProto.ContextualCard;
import com.android.settings.intelligence.ContextualCardProto.ContextualCardList; import com.android.settings.intelligence.ContextualCardProto.ContextualCardList;
import com.android.settings.wifi.WifiSlice; import com.android.settings.wifi.WifiSlice;
import com.google.android.settings.intelligence.libs.contextualcards.ContextualCardCategory;
import com.google.android.settings.intelligence.libs.contextualcards.ContextualCardProvider; import com.google.android.settings.intelligence.libs.contextualcards.ContextualCardProvider;
/** Provides dynamic card for SettingsIntelligence. */ /** Provides dynamic card for SettingsIntelligence. */
@@ -41,19 +40,19 @@ public class SettingsContextualCardProvider extends ContextualCardProvider {
ContextualCard.newBuilder() ContextualCard.newBuilder()
.setSliceUri(WifiSlice.WIFI_URI.toString()) .setSliceUri(WifiSlice.WIFI_URI.toString())
.setCardName(KEY_WIFI) .setCardName(KEY_WIFI)
.setCategory(ContextualCardCategory.IMPORTANT) .setCardCategory(ContextualCard.Category.IMPORTANT)
.build(); .build();
final ContextualCard batteryInfoCard = final ContextualCard batteryInfoCard =
ContextualCard.newBuilder() ContextualCard.newBuilder()
.setSliceUri(BatterySlice.BATTERY_CARD_URI.toString()) .setSliceUri(BatterySlice.BATTERY_CARD_URI.toString())
.setCardName(BatterySlice.PATH_BATTERY_INFO) .setCardName(BatterySlice.PATH_BATTERY_INFO)
.setCategory(ContextualCardCategory.DEFAULT) .setCardCategory(ContextualCard.Category.DEFAULT)
.build(); .build();
final ContextualCard connectedDeviceCard = final ContextualCard connectedDeviceCard =
ContextualCard.newBuilder() ContextualCard.newBuilder()
.setSliceUri(ConnectedDeviceSlice.CONNECTED_DEVICE_URI.toString()) .setSliceUri(ConnectedDeviceSlice.CONNECTED_DEVICE_URI.toString())
.setCardName(ConnectedDeviceSlice.PATH_CONNECTED_DEVICE) .setCardName(ConnectedDeviceSlice.PATH_CONNECTED_DEVICE)
.setCategory(ContextualCardCategory.IMPORTANT) .setCardCategory(ContextualCard.Category.IMPORTANT)
.build(); .build();
final ContextualCardList cards = ContextualCardList.newBuilder() final ContextualCardList cards = ContextualCardList.newBuilder()
.addCard(wifiCard) .addCard(wifiCard)

View File

@@ -19,7 +19,12 @@ package com.android.settings.homepage.contextualcards;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import android.app.slice.SliceManager;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
@@ -28,30 +33,37 @@ import com.android.settings.intelligence.ContextualCardProto.ContextualCardList;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.wifi.WifiSlice; import com.android.settings.wifi.WifiSlice;
import com.google.android.settings.intelligence.libs.contextualcards.ContextualCardCategory;
import com.google.android.settings.intelligence.libs.contextualcards.ContextualCardProvider; import com.google.android.settings.intelligence.libs.contextualcards.ContextualCardProvider;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric; import org.robolectric.Robolectric;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
public class SettingsContextualCardProviderTest { public class SettingsContextualCardProviderTest {
@Mock
private SliceManager mSliceManager;
private ContentResolver mResolver; private ContentResolver mResolver;
private Uri mUri; private Uri mUri;
private SettingsContextualCardProvider mProvider; private SettingsContextualCardProvider mProvider;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this);
mResolver = RuntimeEnvironment.application.getContentResolver(); mResolver = RuntimeEnvironment.application.getContentResolver();
mUri = new Uri.Builder() mUri = new Uri.Builder()
.scheme(ContentResolver.SCHEME_CONTENT) .scheme(ContentResolver.SCHEME_CONTENT)
.authority(SettingsContextualCardProvider.CARD_AUTHORITY) .authority(SettingsContextualCardProvider.CARD_AUTHORITY)
.build(); .build();
mProvider = Robolectric.setupContentProvider(SettingsContextualCardProvider.class); mProvider = spy(Robolectric.setupContentProvider(SettingsContextualCardProvider.class));
final Context context = spy(RuntimeEnvironment.application);
doReturn(mSliceManager).when(context).getSystemService(SliceManager.class);
doReturn(context).when(mProvider).getContext();
} }
@Test @Test
@@ -59,7 +71,7 @@ public class SettingsContextualCardProviderTest {
final int actualNo = mProvider.getContextualCards().getCardCount(); final int actualNo = mProvider.getContextualCards().getCardCount();
final Bundle returnValue = final Bundle returnValue =
mResolver.call(mUri, ContextualCardProvider.METHOD_GET_CARD_LIST, "", null); mProvider.call(ContextualCardProvider.METHOD_GET_CARD_LIST, "", null);
final ContextualCardList cards = final ContextualCardList cards =
ContextualCardList.parseFrom( ContextualCardList.parseFrom(
returnValue.getByteArray(ContextualCardProvider.BUNDLE_CARD_LIST)); returnValue.getByteArray(ContextualCardProvider.BUNDLE_CARD_LIST));
@@ -76,6 +88,6 @@ public class SettingsContextualCardProviderTest {
} }
} }
assertThat(wifiCard.getCategory()).isEqualTo(ContextualCardCategory.IMPORTANT); assertThat(wifiCard.getCardCategory()).isEqualTo(ContextualCard.Category.IMPORTANT);
} }
} }