diff --git a/res/values/strings.xml b/res/values/strings.xml
index fb8ab201498..b18002fc39b 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -10224,6 +10224,8 @@
- %1$d device connected
- %1$d devices connected
+
+ Bluetooth Devices
No connected devices
diff --git a/src/com/android/settings/homepage/contextualcards/slices/ConnectedDeviceSlice.java b/src/com/android/settings/homepage/contextualcards/slices/ConnectedDeviceSlice.java
index 6a1f1f0520a..0c79b6b37d5 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/ConnectedDeviceSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/ConnectedDeviceSlice.java
@@ -101,7 +101,7 @@ public class ConnectedDeviceSlice implements CustomSliceable {
public Slice getSlice() {
final IconCompat icon = IconCompat.createWithResource(mContext,
R.drawable.ic_homepage_connected_device);
- final CharSequence title = mContext.getText(R.string.connected_devices_dashboard_title);
+ final CharSequence title = mContext.getText(R.string.bluetooth_connected_devices);
final CharSequence titleNoConnectedDevices = mContext.getText(
R.string.no_connected_devices);
final PendingIntent primaryActionIntent = PendingIntent.getActivity(mContext, 0,
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/ConnectedDeviceSliceTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/ConnectedDeviceSliceTest.java
index 23da1272b5c..472d2caf9f7 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/ConnectedDeviceSliceTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/ConnectedDeviceSliceTest.java
@@ -36,6 +36,7 @@ import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.SliceTester;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -49,12 +50,17 @@ import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class)
public class ConnectedDeviceSliceTest {
+ private static final String BLUETOOTH_SUMMARY = "BluetoothSummary";
+ private static final String BLUETOOTH_TITLE = "BluetoothTitle";
+
@Mock
private CachedBluetoothDevice mCachedBluetoothDevice;
- private List mCachedDevices = new ArrayList();
- private Context mContext;
+ private List mBluetoothConnectedDeviceList;
private ConnectedDeviceSlice mConnectedDeviceSlice;
+ private Context mContext;
+ private IconCompat mIcon;
+ private PendingIntent mDetailIntent;
@Before
public void setUp() {
@@ -65,35 +71,63 @@ public class ConnectedDeviceSliceTest {
SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
mConnectedDeviceSlice = spy(new ConnectedDeviceSlice(mContext));
+
+ // Mock the icon and detail intent of Bluetooth.
+ mIcon = IconCompat.createWithResource(mContext, R.drawable.ic_homepage_connected_device);
+ mDetailIntent = PendingIntent.getActivity(mContext, 0, new Intent("test action"), 0);
+ doReturn(mIcon).when(mConnectedDeviceSlice).getConnectedDeviceIcon(any());
+ doReturn(mDetailIntent).when(mConnectedDeviceSlice).getBluetoothDetailIntent(any());
+
+ // Initial Bluetooth connected device list.
+ mBluetoothConnectedDeviceList = new ArrayList<>();
+ }
+
+ @After
+ public void tearDown() {
+ if (!mBluetoothConnectedDeviceList.isEmpty()) {
+ mBluetoothConnectedDeviceList.clear();
+ }
}
@Test
- public void getSlice_hasConnectedDevices_shouldBeCorrectSliceContent() {
- final String title = "BluetoothTitle";
- final String summary = "BluetoothSummary";
- final IconCompat icon = IconCompat.createWithResource(mContext,
- R.drawable.ic_homepage_connected_device);
- final PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0,
- new Intent("test action"), 0);
- doReturn(title).when(mCachedBluetoothDevice).getName();
- doReturn(summary).when(mCachedBluetoothDevice).getConnectionSummary();
- mCachedDevices.add(mCachedBluetoothDevice);
- doReturn(mCachedDevices).when(mConnectedDeviceSlice).getBluetoothConnectedDevices();
- doReturn(icon).when(mConnectedDeviceSlice).getConnectedDeviceIcon(any());
- doReturn(pendingIntent).when(mConnectedDeviceSlice).getBluetoothDetailIntent(any());
+ public void getSlice_hasConnectedDevices_shouldHaveCorrectTitle() {
+ mockBluetoothDeviceList();
+ doReturn(mBluetoothConnectedDeviceList).when(
+ mConnectedDeviceSlice).getBluetoothConnectedDevices();
+
final Slice slice = mConnectedDeviceSlice.getSlice();
final List sliceItems = slice.getItems();
- SliceTester.assertTitle(sliceItems, title);
+ SliceTester.assertTitle(sliceItems,
+ mContext.getString(R.string.bluetooth_connected_devices));
}
@Test
- public void getSlice_hasNoConnectedDevices_shouldReturnCorrectHeader() {
- final List connectedBluetoothList = new ArrayList<>();
- doReturn(connectedBluetoothList).when(mConnectedDeviceSlice).getBluetoothConnectedDevices();
+ public void getSlice_hasConnectedDevices_shouldHaveCorrectContent() {
+ mockBluetoothDeviceList();
+ doReturn(mBluetoothConnectedDeviceList).when(
+ mConnectedDeviceSlice).getBluetoothConnectedDevices();
+
+ final Slice slice = mConnectedDeviceSlice.getSlice();
+
+ final List sliceItems = slice.getItems();
+ SliceTester.assertTitle(sliceItems, BLUETOOTH_TITLE);
+ }
+
+ @Test
+ public void getSlice_noConnectedDevices_shouldHaveCorrectTitle() {
+ doReturn(mBluetoothConnectedDeviceList).when(
+ mConnectedDeviceSlice).getBluetoothConnectedDevices();
+
final Slice slice = mConnectedDeviceSlice.getSlice();
final List sliceItems = slice.getItems();
SliceTester.assertTitle(sliceItems, mContext.getString(R.string.no_connected_devices));
}
+
+ private void mockBluetoothDeviceList() {
+ doReturn(BLUETOOTH_TITLE).when(mCachedBluetoothDevice).getName();
+ doReturn(BLUETOOTH_SUMMARY).when(mCachedBluetoothDevice).getConnectionSummary();
+ mBluetoothConnectedDeviceList.add(mCachedBluetoothDevice);
+ }
}
\ No newline at end of file