Merge "Combine StylusCallback and StylusBatteryCallback." into udc-dev

This commit is contained in:
Vania Januar
2023-03-06 11:19:51 +00:00
committed by Android (Google) Code Review
4 changed files with 8 additions and 52 deletions

View File

@@ -62,8 +62,6 @@ constructor(
BluetoothAdapter.OnMetadataChangedListener { BluetoothAdapter.OnMetadataChangedListener {
private val stylusCallbacks: CopyOnWriteArrayList<StylusCallback> = CopyOnWriteArrayList() private val stylusCallbacks: CopyOnWriteArrayList<StylusCallback> = CopyOnWriteArrayList()
private val stylusBatteryCallbacks: CopyOnWriteArrayList<StylusBatteryCallback> =
CopyOnWriteArrayList()
// This map should only be accessed on the handler // This map should only be accessed on the handler
private val inputDeviceAddressMap: MutableMap<Int, String?> = ArrayMap() private val inputDeviceAddressMap: MutableMap<Int, String?> = ArrayMap()
@@ -106,14 +104,6 @@ constructor(
stylusCallbacks.remove(callback) stylusCallbacks.remove(callback)
} }
fun registerBatteryCallback(callback: StylusBatteryCallback) {
stylusBatteryCallbacks.add(callback)
}
fun unregisterBatteryCallback(callback: StylusBatteryCallback) {
stylusBatteryCallbacks.remove(callback)
}
override fun onInputDeviceAdded(deviceId: Int) { override fun onInputDeviceAdded(deviceId: Int) {
if (!hasStarted) return if (!hasStarted) return
@@ -195,7 +185,7 @@ constructor(
"${device.address}: $isCharging" "${device.address}: $isCharging"
} }
executeStylusBatteryCallbacks { cb -> executeStylusCallbacks { cb ->
cb.onStylusBluetoothChargingStateChanged(inputDeviceId, device, isCharging) cb.onStylusBluetoothChargingStateChanged(inputDeviceId, device, isCharging)
} }
} }
@@ -221,7 +211,7 @@ constructor(
onStylusUsed() onStylusUsed()
} }
executeStylusBatteryCallbacks { cb -> executeStylusCallbacks { cb ->
cb.onStylusUsiBatteryStateChanged(deviceId, eventTimeMillis, batteryState) cb.onStylusUsiBatteryStateChanged(deviceId, eventTimeMillis, batteryState)
} }
} }
@@ -329,10 +319,6 @@ constructor(
stylusCallbacks.forEach(run) stylusCallbacks.forEach(run)
} }
private fun executeStylusBatteryCallbacks(run: (cb: StylusBatteryCallback) -> Unit) {
stylusBatteryCallbacks.forEach(run)
}
private fun registerBatteryListener(deviceId: Int) { private fun registerBatteryListener(deviceId: Int) {
try { try {
inputManager.addInputDeviceBatteryListener(deviceId, executor, this) inputManager.addInputDeviceBatteryListener(deviceId, executor, this)
@@ -378,13 +364,6 @@ constructor(
fun onStylusBluetoothConnected(deviceId: Int, btAddress: String) {} fun onStylusBluetoothConnected(deviceId: Int, btAddress: String) {}
fun onStylusBluetoothDisconnected(deviceId: Int, btAddress: String) {} fun onStylusBluetoothDisconnected(deviceId: Int, btAddress: String) {}
fun onStylusFirstUsed() {} fun onStylusFirstUsed() {}
}
/**
* Callback interface to receive stylus battery events from the StylusManager. All callbacks are
* runs on the same background handler.
*/
interface StylusBatteryCallback {
fun onStylusBluetoothChargingStateChanged( fun onStylusBluetoothChargingStateChanged(
inputDeviceId: Int, inputDeviceId: Int,
btDevice: BluetoothDevice, btDevice: BluetoothDevice,

View File

@@ -37,7 +37,7 @@ constructor(
private val inputManager: InputManager, private val inputManager: InputManager,
private val stylusUsiPowerUi: StylusUsiPowerUI, private val stylusUsiPowerUi: StylusUsiPowerUI,
private val featureFlags: FeatureFlags, private val featureFlags: FeatureFlags,
) : CoreStartable, StylusManager.StylusCallback, StylusManager.StylusBatteryCallback { ) : CoreStartable, StylusManager.StylusCallback {
override fun onStylusAdded(deviceId: Int) { override fun onStylusAdded(deviceId: Int) {
// On some devices, the addition of a new internal stylus indicates the use of a // On some devices, the addition of a new internal stylus indicates the use of a
@@ -74,7 +74,6 @@ constructor(
stylusUsiPowerUi.init() stylusUsiPowerUi.init()
stylusManager.registerCallback(this) stylusManager.registerCallback(this)
stylusManager.registerBatteryCallback(this)
stylusManager.startListener() stylusManager.startListener()
} }

View File

@@ -65,8 +65,6 @@ class StylusManagerTest : SysuiTestCase() {
@Mock lateinit var uiEventLogger: UiEventLogger @Mock lateinit var uiEventLogger: UiEventLogger
@Mock lateinit var stylusCallback: StylusManager.StylusCallback @Mock lateinit var stylusCallback: StylusManager.StylusCallback
@Mock lateinit var otherStylusCallback: StylusManager.StylusCallback @Mock lateinit var otherStylusCallback: StylusManager.StylusCallback
@Mock lateinit var stylusBatteryCallback: StylusManager.StylusBatteryCallback
@Mock lateinit var otherStylusBatteryCallback: StylusManager.StylusBatteryCallback
private lateinit var mockitoSession: StaticMockitoSession private lateinit var mockitoSession: StaticMockitoSession
private lateinit var stylusManager: StylusManager private lateinit var stylusManager: StylusManager
@@ -123,7 +121,6 @@ class StylusManagerTest : SysuiTestCase() {
stylusManager.startListener() stylusManager.startListener()
stylusManager.registerCallback(stylusCallback) stylusManager.registerCallback(stylusCallback)
stylusManager.registerBatteryCallback(stylusBatteryCallback)
clearInvocations(inputManager) clearInvocations(inputManager)
} }
@@ -433,23 +430,6 @@ class StylusManagerTest : SysuiTestCase() {
.logWithInstanceId(StylusUiEvent.BLUETOOTH_STYLUS_DISCONNECTED, 0, null, instanceId) .logWithInstanceId(StylusUiEvent.BLUETOOTH_STYLUS_DISCONNECTED, 0, null, instanceId)
} }
@Test
fun onMetadataChanged_multipleRegisteredBatteryCallbacks_executesAll() {
stylusManager.onInputDeviceAdded(BT_STYLUS_DEVICE_ID)
stylusManager.registerBatteryCallback(otherStylusBatteryCallback)
stylusManager.onMetadataChanged(
bluetoothDevice,
BluetoothDevice.METADATA_MAIN_CHARGING,
"true".toByteArray()
)
verify(stylusBatteryCallback, times(1))
.onStylusBluetoothChargingStateChanged(BT_STYLUS_DEVICE_ID, bluetoothDevice, true)
verify(otherStylusBatteryCallback, times(1))
.onStylusBluetoothChargingStateChanged(BT_STYLUS_DEVICE_ID, bluetoothDevice, true)
}
@Test @Test
fun onMetadataChanged_chargingStateTrue_executesBatteryCallbacks() { fun onMetadataChanged_chargingStateTrue_executesBatteryCallbacks() {
stylusManager.onInputDeviceAdded(BT_STYLUS_DEVICE_ID) stylusManager.onInputDeviceAdded(BT_STYLUS_DEVICE_ID)
@@ -460,7 +440,7 @@ class StylusManagerTest : SysuiTestCase() {
"true".toByteArray() "true".toByteArray()
) )
verify(stylusBatteryCallback, times(1)) verify(stylusCallback, times(1))
.onStylusBluetoothChargingStateChanged(BT_STYLUS_DEVICE_ID, bluetoothDevice, true) .onStylusBluetoothChargingStateChanged(BT_STYLUS_DEVICE_ID, bluetoothDevice, true)
} }
@@ -474,7 +454,7 @@ class StylusManagerTest : SysuiTestCase() {
"false".toByteArray() "false".toByteArray()
) )
verify(stylusBatteryCallback, times(1)) verify(stylusCallback, times(1))
.onStylusBluetoothChargingStateChanged(BT_STYLUS_DEVICE_ID, bluetoothDevice, false) .onStylusBluetoothChargingStateChanged(BT_STYLUS_DEVICE_ID, bluetoothDevice, false)
} }
@@ -486,7 +466,7 @@ class StylusManagerTest : SysuiTestCase() {
"true".toByteArray() "true".toByteArray()
) )
verifyNoMoreInteractions(stylusBatteryCallback) verifyNoMoreInteractions(stylusCallback)
} }
@Test @Test
@@ -499,8 +479,7 @@ class StylusManagerTest : SysuiTestCase() {
"true".toByteArray() "true".toByteArray()
) )
verify(stylusBatteryCallback, never()) verify(stylusCallback, never()).onStylusBluetoothChargingStateChanged(any(), any(), any())
.onStylusBluetoothChargingStateChanged(any(), any(), any())
} }
@Test @Test
@@ -614,7 +593,7 @@ class StylusManagerTest : SysuiTestCase() {
fun onBatteryStateChanged_executesBatteryCallbacks() { fun onBatteryStateChanged_executesBatteryCallbacks() {
stylusManager.onBatteryStateChanged(STYLUS_DEVICE_ID, 1, batteryState) stylusManager.onBatteryStateChanged(STYLUS_DEVICE_ID, 1, batteryState)
verify(stylusBatteryCallback, times(1)) verify(stylusCallback, times(1))
.onStylusUsiBatteryStateChanged(STYLUS_DEVICE_ID, 1, batteryState) .onStylusUsiBatteryStateChanged(STYLUS_DEVICE_ID, 1, batteryState)
} }

View File

@@ -96,7 +96,6 @@ class StylusUsiPowerStartableTest : SysuiTestCase() {
startable.start() startable.start()
verify(stylusManager, times(1)).registerCallback(startable) verify(stylusManager, times(1)).registerCallback(startable)
verify(stylusManager, times(1)).registerBatteryCallback(startable)
} }
@Test @Test