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

Commit 65da3647 authored by Grzegorz Kołodziejczyk's avatar Grzegorz Kołodziejczyk
Browse files

BassClientStateMachineTest: Fix wrongly set attributes

According to BASS specification Broadcast Audio Scan Control Point
must have set properties to: write, write without response. Broadcast
receiver state characteristic must have set properties to: read, notify.
Both characteristic requires encryption permission.

Bug: 300217671
Test: atest BassClientStateMachineTest
Tag: #feature
Change-Id: I61d376450f9482ae96e3e11bdc7d7f24798a381a
parent 373e5fbd
Loading
Loading
Loading
Loading
+28 −18
Original line number Diff line number Diff line
@@ -339,17 +339,21 @@ public class BassClientStateMachineTest {
        // Make bluetoothGatt non-null so state will transit
        mBassClientStateMachine.mBluetoothGatt = Mockito.mock(
                BassClientStateMachine.BluetoothGattTestableWrapper.class);
        mBassClientStateMachine.mBroadcastScanControlPoint = new BluetoothGattCharacteristic(
        mBassClientStateMachine.mBroadcastScanControlPoint =
                new BluetoothGattCharacteristic(
                        BassConstants.BASS_BCAST_AUDIO_SCAN_CTRL_POINT,
                BluetoothGattCharacteristic.PROPERTY_READ,
                BluetoothGattCharacteristic.PERMISSION_READ);
                        BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE
                                | BluetoothGattCharacteristic.PROPERTY_WRITE,
                        BluetoothGattCharacteristic.PERMISSION_WRITE_ENCRYPTED);

        sendMessageAndVerifyTransition(
                mBassClientStateMachine.obtainMessage(
                        READ_BASS_CHARACTERISTICS,
                        new BluetoothGattCharacteristic(UUID.randomUUID(),
                                BluetoothGattCharacteristic.PROPERTY_READ,
                                BluetoothGattCharacteristic.PERMISSION_READ)),
                        new BluetoothGattCharacteristic(
                                UUID.randomUUID(),
                                BluetoothGattCharacteristic.PROPERTY_READ
                                        | BluetoothGattCharacteristic.PROPERTY_NOTIFY,
                                BluetoothGattCharacteristic.PERMISSION_READ_ENCRYPTED)),
                BassClientStateMachine.ConnectedProcessing.class);
        sendMessageAndVerifyTransition(
                mBassClientStateMachine.obtainMessage(GATT_TXN_PROCESSED),
@@ -360,9 +364,11 @@ public class BassClientStateMachineTest {
        sendMessageAndVerifyTransition(
                mBassClientStateMachine.obtainMessage(
                        READ_BASS_CHARACTERISTICS,
                        new BluetoothGattCharacteristic(UUID.randomUUID(),
                                BluetoothGattCharacteristic.PROPERTY_READ,
                                BluetoothGattCharacteristic.PERMISSION_READ)),
                        new BluetoothGattCharacteristic(
                                UUID.randomUUID(),
                                BluetoothGattCharacteristic.PROPERTY_READ
                                        | BluetoothGattCharacteristic.PROPERTY_NOTIFY,
                                BluetoothGattCharacteristic.PERMISSION_READ_ENCRYPTED)),
                BassClientStateMachine.ConnectedProcessing.class);
        sendMessageAndVerifyTransition(
                mBassClientStateMachine.obtainMessage(GATT_TXN_TIMEOUT),
@@ -398,16 +404,20 @@ public class BassClientStateMachineTest {
        when(btGatt.getService(BassConstants.BASS_UUID)).thenReturn(gattService);

        List<BluetoothGattCharacteristic> characteristics = new ArrayList<>();
        BluetoothGattCharacteristic scanControlPoint = new BluetoothGattCharacteristic(
        BluetoothGattCharacteristic scanControlPoint =
                new BluetoothGattCharacteristic(
                        BassConstants.BASS_BCAST_AUDIO_SCAN_CTRL_POINT,
                BluetoothGattCharacteristic.PROPERTY_READ,
                BluetoothGattCharacteristic.PERMISSION_READ);
                        BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE
                                | BluetoothGattCharacteristic.PROPERTY_WRITE,
                        BluetoothGattCharacteristic.PERMISSION_WRITE_ENCRYPTED);
        characteristics.add(scanControlPoint);

        BluetoothGattCharacteristic bassCharacteristic = new BluetoothGattCharacteristic(
        BluetoothGattCharacteristic bassCharacteristic =
                new BluetoothGattCharacteristic(
                        UUID.randomUUID(),
                BluetoothGattCharacteristic.PROPERTY_READ,
                BluetoothGattCharacteristic.PERMISSION_READ);
                        BluetoothGattCharacteristic.PROPERTY_READ
                                | BluetoothGattCharacteristic.PROPERTY_NOTIFY,
                        BluetoothGattCharacteristic.PERMISSION_READ_ENCRYPTED);
        characteristics.add(bassCharacteristic);

        when(gattService.getCharacteristics()).thenReturn(characteristics);