Merge "Combine StylusCallback and StylusBatteryCallback." into udc-dev
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
@@ -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()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user