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

This commit is contained in:
Vania Januar
2023-04-14 09:24:28 +00:00
committed by Android (Google) Code Review
2 changed files with 26 additions and 0 deletions

View File

@@ -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)
}
}
}

View File

@@ -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()