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

Commit 4680610c authored by Vania Januar's avatar Vania Januar Committed by Android (Google) Code Review
Browse files

Merge "StylusManager registers bluetooth devices present before start." into udc-dev

parents ee8b87bd 99801206
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -353,6 +353,8 @@ constructor(
                    // before CoreStartables run, and will not be removed.
                    // In many cases, it reports the battery level of the stylus.
                    registerBatteryListener(deviceId)
                } else if (device.bluetoothAddress != null) {
                    onStylusBluetoothConnected(deviceId, device.bluetoothAddress)
                }
            }
        }
+24 −0
Original line number Diff line number Diff line
@@ -101,9 +101,12 @@ class StylusManagerTest : SysuiTestCase() {
        whenever(stylusDevice.supportsSource(InputDevice.SOURCE_STYLUS)).thenReturn(true)
        whenever(btStylusDevice.supportsSource(InputDevice.SOURCE_STYLUS)).thenReturn(true)

        whenever(btStylusDevice.isExternal).thenReturn(true)

        whenever(stylusDevice.bluetoothAddress).thenReturn(null)
        whenever(btStylusDevice.bluetoothAddress).thenReturn(STYLUS_BT_ADDRESS)

        whenever(btStylusDevice.batteryState).thenReturn(batteryState)
        whenever(stylusDevice.batteryState).thenReturn(batteryState)
        whenever(batteryState.capacity).thenReturn(0.5f)

@@ -147,6 +150,27 @@ class StylusManagerTest : SysuiTestCase() {
        verify(inputManager, times(1)).registerInputDeviceListener(any(), any())
    }

    @Test
    fun startListener_hasNotStarted_registersExistingBluetoothDevice() {
        whenever(inputManager.inputDeviceIds).thenReturn(intArrayOf(BT_STYLUS_DEVICE_ID))

        stylusManager =
            StylusManager(
                mContext,
                inputManager,
                bluetoothAdapter,
                handler,
                EXECUTOR,
                featureFlags,
                uiEventLogger
            )

        stylusManager.startListener()

        verify(bluetoothAdapter, times(1))
            .addOnMetadataChangedListener(bluetoothDevice, EXECUTOR, stylusManager)
    }

    @Test
    fun startListener_hasStarted_doesNothing() {
        stylusManager.startListener()