Handle DEVICE_TYPE_STYLUS in advanced details header.

Bug: 270654477
Test: AdvancedBluetoothDetailsHeaderControllerTest
Change-Id: I725dd575ba56bf86e1336094961e769b81540479
This commit is contained in:
Vania Januar
2023-03-01 17:22:15 +00:00
parent 22a620dbd4
commit c1429bcb40
2 changed files with 22 additions and 1 deletions

View File

@@ -192,7 +192,8 @@ public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceCont
final String deviceType = BluetoothUtils.getStringMetaData(device, final String deviceType = BluetoothUtils.getStringMetaData(device,
BluetoothDevice.METADATA_DEVICE_TYPE); BluetoothDevice.METADATA_DEVICE_TYPE);
if (TextUtils.equals(deviceType, BluetoothDevice.DEVICE_TYPE_WATCH) if (TextUtils.equals(deviceType, BluetoothDevice.DEVICE_TYPE_WATCH)
|| TextUtils.equals(deviceType, BluetoothDevice.DEVICE_TYPE_DEFAULT)) { || TextUtils.equals(deviceType, BluetoothDevice.DEVICE_TYPE_DEFAULT)
|| TextUtils.equals(deviceType, BluetoothDevice.DEVICE_TYPE_STYLUS)) {
mLayoutPreference.findViewById(R.id.layout_left).setVisibility(View.GONE); mLayoutPreference.findViewById(R.id.layout_left).setVisibility(View.GONE);
mLayoutPreference.findViewById(R.id.layout_right).setVisibility(View.GONE); mLayoutPreference.findViewById(R.id.layout_right).setVisibility(View.GONE);

View File

@@ -162,6 +162,26 @@ public class AdvancedBluetoothDetailsHeaderControllerTest {
.requireViewById(R.id.bt_battery_summary).getVisibility()).isEqualTo(View.GONE); .requireViewById(R.id.bt_battery_summary).getVisibility()).isEqualTo(View.GONE);
} }
@Test
public void refresh_connectedStylus_behaveAsExpected() {
when(mBluetoothDevice.getMetadata(
BluetoothDevice.METADATA_DEVICE_TYPE)).thenReturn(
BluetoothDevice.DEVICE_TYPE_STYLUS.getBytes());
when(mBluetoothDevice.getMetadata(
BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET)).thenReturn(
String.valueOf(false).getBytes());
when(mCachedDevice.isConnected()).thenReturn(true);
mController.refresh();
assertThat(mLayoutPreference.findViewById(R.id.layout_left).getVisibility()).isEqualTo(
View.GONE);
assertThat(mLayoutPreference.findViewById(R.id.layout_right).getVisibility()).isEqualTo(
View.GONE);
assertThat(mLayoutPreference.findViewById(R.id.layout_middle).getVisibility()).isEqualTo(
View.VISIBLE);
}
@Test @Test
public void refresh_connectedUntetheredHeadset_behaveAsExpected() { public void refresh_connectedUntetheredHeadset_behaveAsExpected() {
when(mBluetoothDevice.getMetadata( when(mBluetoothDevice.getMetadata(