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

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

Merge "Unsuppress USI low battery notifications when new stylus used." into tm-qpr-dev

parents 34e978c3 c644d2b9
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -39,6 +39,17 @@ constructor(
    private val featureFlags: FeatureFlags,
) : CoreStartable, StylusManager.StylusCallback, StylusManager.StylusBatteryCallback {

    override fun onStylusAdded(deviceId: Int) {
        // On some devices, the addition of a new internal stylus indicates the use of a
        // USI stylus with a different vendor/product ID. We would therefore like to reset
        // the battery notification suppression, in case the user has dismissed a low battery
        // notification of the previous stylus.
        val device = inputManager.getInputDevice(deviceId) ?: return
        if (!device.isExternal) {
            stylusUsiPowerUi.updateSuppression(false)
        }
    }

    override fun onStylusBluetoothConnected(deviceId: Int, btAddress: String) {
        stylusUsiPowerUi.refresh()
    }
+14 −0
Original line number Diff line number Diff line
@@ -91,6 +91,20 @@ class StylusUsiPowerStartableTest : SysuiTestCase() {
        verify(stylusUsiPowerUi, times(1)).init()
    }

    @Test
    fun onStylusAdded_internal_updatesNotificationSuppression() {
        startable.onStylusAdded(STYLUS_DEVICE_ID)

        verify(stylusUsiPowerUi, times(1)).updateSuppression(false)
    }

    @Test
    fun onStylusAdded_external_noop() {
        startable.onStylusAdded(EXTERNAL_DEVICE_ID)

        verifyZeroInteractions(stylusUsiPowerUi)
    }

    @Test
    fun onStylusBluetoothConnected_refreshesNotification() {
        startable.onStylusBluetoothConnected(STYLUS_DEVICE_ID, "ANY")