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

Commit 4bdff64e authored by Vania Januar's avatar Vania Januar
Browse files

Show single icon layout for unknown device type in advanced header.

Bug: 270654477
Test: AdvancedBluetoothDetailsHeaderControllerTest
Change-Id: I24a42693a66664caa460d44245a68e3606e98481
parent c1429bcb
Loading
Loading
Loading
Loading
+15 −17
Original line number Diff line number Diff line
@@ -191,23 +191,7 @@ public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceCont
            final BluetoothDevice device = mCachedDevice.getDevice();
            final String deviceType = BluetoothUtils.getStringMetaData(device,
                    BluetoothDevice.METADATA_DEVICE_TYPE);
            if (TextUtils.equals(deviceType, BluetoothDevice.DEVICE_TYPE_WATCH)
                    || 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_right).setVisibility(View.GONE);

                summary.setText(mCachedDevice.getConnectionSummary(
                        BluetoothUtils.getIntMetaData(device, BluetoothDevice.METADATA_MAIN_BATTERY)
                                != BluetoothUtils.META_INT_ERROR));
                updateSubLayout(mLayoutPreference.findViewById(R.id.layout_middle),
                        BluetoothDevice.METADATA_MAIN_ICON,
                        BluetoothDevice.METADATA_MAIN_BATTERY,
                        BluetoothDevice.METADATA_MAIN_LOW_BATTERY_THRESHOLD,
                        BluetoothDevice.METADATA_MAIN_CHARGING,
                        /* titleResId */ 0,
                        MAIN_DEVICE_ID);
            } else if (TextUtils.equals(deviceType,
            if (TextUtils.equals(deviceType,
                    BluetoothDevice.DEVICE_TYPE_UNTETHERED_HEADSET)
                    || BluetoothUtils.getBooleanMetaData(device,
                    BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET)) {
@@ -237,6 +221,20 @@ public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceCont
                        RIGHT_DEVICE_ID);

                showBothDevicesBatteryPredictionIfNecessary();
            } else {
                mLayoutPreference.findViewById(R.id.layout_left).setVisibility(View.GONE);
                mLayoutPreference.findViewById(R.id.layout_right).setVisibility(View.GONE);

                summary.setText(mCachedDevice.getConnectionSummary(
                        BluetoothUtils.getIntMetaData(device, BluetoothDevice.METADATA_MAIN_BATTERY)
                                != BluetoothUtils.META_INT_ERROR));
                updateSubLayout(mLayoutPreference.findViewById(R.id.layout_middle),
                        BluetoothDevice.METADATA_MAIN_ICON,
                        BluetoothDevice.METADATA_MAIN_BATTERY,
                        BluetoothDevice.METADATA_MAIN_LOW_BATTERY_THRESHOLD,
                        BluetoothDevice.METADATA_MAIN_CHARGING,
                        /* titleResId */ 0,
                        MAIN_DEVICE_ID);
            }
        }
    }
+20 −0
Original line number Diff line number Diff line
@@ -182,6 +182,26 @@ public class AdvancedBluetoothDetailsHeaderControllerTest {
                View.VISIBLE);
    }

    @Test
    public void refresh_connectedUnknownType_behaveAsExpected() {
        when(mBluetoothDevice.getMetadata(
                BluetoothDevice.METADATA_DEVICE_TYPE)).thenReturn(
                "UNKNOWN_TYPE".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
    public void refresh_connectedUntetheredHeadset_behaveAsExpected() {
        when(mBluetoothDevice.getMetadata(