Do not dismiss USI notification when stylus is bluetooth connected.

Test: StylusUsiPowerUiTest, StylusUsiPowerStartableTest
Bug: 280444475
Change-Id: I8642c1b98c1e6f5d67ccdd7c956963afe2145672
This commit is contained in:
Vania Januar
2023-05-03 14:08:43 +01:00
parent 0baef5347c
commit be92318d56
4 changed files with 10 additions and 34 deletions

View File

@@ -50,14 +50,6 @@ constructor(
}
}
override fun onStylusBluetoothConnected(deviceId: Int, btAddress: String) {
stylusUsiPowerUi.refresh()
}
override fun onStylusBluetoothDisconnected(deviceId: Int, btAddress: String) {
stylusUsiPowerUi.refresh()
}
override fun onStylusUsiBatteryStateChanged(
deviceId: Int,
eventTimeMillis: Long,

View File

@@ -94,12 +94,17 @@ constructor(
return@refreshNotification
}
// Only hide notification in two cases: battery has been recharged above the
// threshold, or user has dismissed or clicked notification ("suppression").
if (suppressed || !batteryBelowThreshold) {
hideNotification()
}
if (!batteryBelowThreshold) {
// Reset suppression when stylus battery is recharged, so that the next time
// it reaches a low battery, the notification will show again.
suppressed = false
}
hideNotification()
}
}

View File

@@ -112,20 +112,6 @@ class StylusUsiPowerStartableTest : SysuiTestCase() {
verifyZeroInteractions(stylusUsiPowerUi)
}
@Test
fun onStylusBluetoothConnected_refreshesNotification() {
startable.onStylusBluetoothConnected(STYLUS_DEVICE_ID, "ANY")
verify(stylusUsiPowerUi, times(1)).refresh()
}
@Test
fun onStylusBluetoothDisconnected_refreshesNotification() {
startable.onStylusBluetoothDisconnected(STYLUS_DEVICE_ID, "ANY")
verify(stylusUsiPowerUi, times(1)).refresh()
}
@Test
fun onStylusUsiBatteryStateChanged_batteryPresentValidCapacity_refreshesNotification() {
val batteryState = FixedCapacityBatteryState(0.1f)

View File

@@ -45,6 +45,7 @@ import org.junit.runner.RunWith
import org.mockito.ArgumentCaptor
import org.mockito.Captor
import org.mockito.Mock
import org.mockito.Mockito.clearInvocations
import org.mockito.Mockito.doNothing
import org.mockito.Mockito.inOrder
import org.mockito.Mockito.never
@@ -194,22 +195,14 @@ class StylusUsiPowerUiTest : SysuiTestCase() {
}
@Test
fun refresh_hasConnectedBluetoothStylus_cancelsNotification() {
whenever(inputManager.inputDeviceIds).thenReturn(intArrayOf(0))
stylusUsiPowerUi.refresh()
verify(notificationManager).cancel(R.string.stylus_battery_low_percentage)
}
@Test
fun refresh_hasConnectedBluetoothStylus_existingNotification_cancelsNotification() {
fun refresh_hasConnectedBluetoothStylus_existingNotification_doesNothing() {
stylusUsiPowerUi.updateBatteryState(0, FixedCapacityBatteryState(0.1f))
whenever(inputManager.inputDeviceIds).thenReturn(intArrayOf(0))
clearInvocations(notificationManager)
stylusUsiPowerUi.refresh()
verify(notificationManager).cancel(R.string.stylus_battery_low_percentage)
verifyNoMoreInteractions(notificationManager)
}
@Test