Update proto for contextual_card_list.
Bug: 118842350 Test: rebuild Change-Id: I838738f56c8793a8e4d6adf43bc812777edbcd88
This commit is contained in:
Binary file not shown.
@@ -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;
|
||||||
|
}
|
||||||
|
@@ -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)
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user