Loading libs/contextualcards.aar +2.56 KiB (5.35 KiB) File changed.No diff preview for this file type. View original file View changed file protos/contextual_card_list.proto +18 −6 Original line number Diff line number Diff line Loading @@ -8,12 +8,24 @@ message ContextualCardList { } message ContextualCard { // Slice uri of the contextual card optional string sliceUri = 1; // {@link ContextualCardCategory}. optional int32 category = 2; /** * 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; } // Name of the card. It should be identical in every app /** Slice uri of the contextual card */ optional string sliceUri = 1; /** Name of the card. It should be identical in every app */ optional string cardName = 3; optional Category card_category = 4; } src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java +3 −4 Original line number Diff line number Diff line Loading @@ -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. */ Loading @@ -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) Loading tests/robotests/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProviderTest.java +16 −4 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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 Loading @@ -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)); Loading @@ -76,6 +88,6 @@ public class SettingsContextualCardProviderTest { } } assertThat(wifiCard.getCategory()).isEqualTo(ContextualCardCategory.IMPORTANT); assertThat(wifiCard.getCardCategory()).isEqualTo(ContextualCard.Category.IMPORTANT); } } No newline at end of file Loading
libs/contextualcards.aar +2.56 KiB (5.35 KiB) File changed.No diff preview for this file type. View original file View changed file
protos/contextual_card_list.proto +18 −6 Original line number Diff line number Diff line Loading @@ -8,12 +8,24 @@ message ContextualCardList { } message ContextualCard { // Slice uri of the contextual card optional string sliceUri = 1; // {@link ContextualCardCategory}. optional int32 category = 2; /** * 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; } // Name of the card. It should be identical in every app /** Slice uri of the contextual card */ optional string sliceUri = 1; /** Name of the card. It should be identical in every app */ optional string cardName = 3; optional Category card_category = 4; }
src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java +3 −4 Original line number Diff line number Diff line Loading @@ -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. */ Loading @@ -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) Loading
tests/robotests/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProviderTest.java +16 −4 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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 Loading @@ -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)); Loading @@ -76,6 +88,6 @@ public class SettingsContextualCardProviderTest { } } assertThat(wifiCard.getCategory()).isEqualTo(ContextualCardCategory.IMPORTANT); assertThat(wifiCard.getCardCategory()).isEqualTo(ContextualCard.Category.IMPORTANT); } } No newline at end of file