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 {
// 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;
// {@link ContextualCardCategory}.
optional int32 category = 2;
// Name of the card. It should be identical in every app
/** Name of the card. It should be identical in every app */
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.wifi.WifiSlice;
import com.google.android.settings.intelligence.libs.contextualcards.ContextualCardCategory;
import com.google.android.settings.intelligence.libs.contextualcards.ContextualCardProvider;
/** Provides dynamic card for SettingsIntelligence. */
@@ -41,19 +40,19 @@ public class SettingsContextualCardProvider extends ContextualCardProvider {
ContextualCard.newBuilder()
.setSliceUri(WifiSlice.WIFI_URI.toString())
.setCardName(KEY_WIFI)
.setCategory(ContextualCardCategory.IMPORTANT)
.setCardCategory(ContextualCard.Category.IMPORTANT)
.build();
final ContextualCard batteryInfoCard =
ContextualCard.newBuilder()
.setSliceUri(BatterySlice.BATTERY_CARD_URI.toString())
.setCardName(BatterySlice.PATH_BATTERY_INFO)
.setCategory(ContextualCardCategory.DEFAULT)
.setCardCategory(ContextualCard.Category.DEFAULT)
.build();
final ContextualCard connectedDeviceCard =
ContextualCard.newBuilder()
.setSliceUri(ConnectedDeviceSlice.CONNECTED_DEVICE_URI.toString())
.setCardName(ConnectedDeviceSlice.PATH_CONNECTED_DEVICE)
.setCategory(ContextualCardCategory.IMPORTANT)
.setCardCategory(ContextualCard.Category.IMPORTANT)
.build();
final ContextualCardList cards = ContextualCardList.newBuilder()
.addCard(wifiCard)

View File

@@ -19,7 +19,12 @@ package com.android.settings.homepage.contextualcards;
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.Context;
import android.net.Uri;
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.wifi.WifiSlice;
import com.google.android.settings.intelligence.libs.contextualcards.ContextualCardCategory;
import com.google.android.settings.intelligence.libs.contextualcards.ContextualCardProvider;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.RuntimeEnvironment;
@RunWith(SettingsRobolectricTestRunner.class)
public class SettingsContextualCardProviderTest {
@Mock
private SliceManager mSliceManager;
private ContentResolver mResolver;
private Uri mUri;
private SettingsContextualCardProvider mProvider;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mResolver = RuntimeEnvironment.application.getContentResolver();
mUri = new Uri.Builder()
.scheme(ContentResolver.SCHEME_CONTENT)
.authority(SettingsContextualCardProvider.CARD_AUTHORITY)
.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
@@ -59,7 +71,7 @@ public class SettingsContextualCardProviderTest {
final int actualNo = mProvider.getContextualCards().getCardCount();
final Bundle returnValue =
mResolver.call(mUri, ContextualCardProvider.METHOD_GET_CARD_LIST, "", null);
mProvider.call(ContextualCardProvider.METHOD_GET_CARD_LIST, "", null);
final ContextualCardList cards =
ContextualCardList.parseFrom(
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);
}
}