Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 16c2d708 authored by Fan Zhang's avatar Fan Zhang Committed by Android (Google) Code Review
Browse files

Merge "Update proto for contextual_card_list."

parents b68d2448 9a28c433
Loading
Loading
Loading
Loading
+2.56 KiB (5.35 KiB)

File changed.

No diff preview for this file type.

+18 −6
Original line number Diff line number Diff line
@@ -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;
}
+3 −4
Original line number Diff line number Diff line
@@ -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)
+16 −4
Original line number Diff line number Diff line
@@ -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);
    }
}
 No newline at end of file