Merge "Strings for USI low battery notifications." into tm-qpr-dev am: dc8aebcdc7
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20813114 Change-Id: Iac1e7708be8373d0df0c6316c73a87b5753011dc Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -2772,6 +2772,9 @@
|
||||
<!-- Text for education page content description for unfolded animation. [CHAR_LIMIT=NONE] -->
|
||||
<string name="rear_display_accessibility_unfolded_animation">Foldable device being flipped around</string>
|
||||
|
||||
<!-- Title for notification of low stylus battery. [CHAR_LIMIT=NONE] -->
|
||||
<string name="stylus_battery_low">Stylus battery low</string>
|
||||
<!-- Title for notification of low stylus battery with percentage. "percentage" is
|
||||
the value of the battery capacity remaining [CHAR LIMIT=none]-->
|
||||
<string name="stylus_battery_low_percentage"><xliff:g id="percentage" example="16%">%s</xliff:g> battery remaining</string>
|
||||
<!-- Subtitle for the notification sent when a stylus battery is low. [CHAR LIMIT=none]-->
|
||||
<string name="stylus_battery_low_subtitle">Connect your stylus to a charger</string>
|
||||
</resources>
|
||||
|
||||
@@ -123,13 +123,13 @@ constructor(
|
||||
.setSmallIcon(R.drawable.ic_power_low)
|
||||
.setDeleteIntent(getPendingBroadcast(ACTION_DISMISSED_LOW_BATTERY))
|
||||
.setContentIntent(getPendingBroadcast(ACTION_CLICKED_LOW_BATTERY))
|
||||
.setContentTitle(context.getString(R.string.stylus_battery_low))
|
||||
.setContentText(
|
||||
.setContentTitle(
|
||||
context.getString(
|
||||
R.string.battery_low_percent_format,
|
||||
R.string.stylus_battery_low_percentage,
|
||||
NumberFormat.getPercentInstance().format(batteryCapacity)
|
||||
)
|
||||
)
|
||||
.setContentText(context.getString(R.string.stylus_battery_low_subtitle))
|
||||
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
|
||||
.setLocalOnly(true)
|
||||
.setAutoCancel(true)
|
||||
@@ -177,7 +177,7 @@ constructor(
|
||||
// https://source.chromium.org/chromium/chromium/src/+/main:ash/system/power/peripheral_battery_notifier.cc;l=41
|
||||
private const val LOW_BATTERY_THRESHOLD = 0.16f
|
||||
|
||||
private val USI_NOTIFICATION_ID = R.string.stylus_battery_low
|
||||
private val USI_NOTIFICATION_ID = R.string.stylus_battery_low_percentage
|
||||
|
||||
private const val ACTION_DISMISSED_LOW_BATTERY = "StylusUsiPowerUI.dismiss"
|
||||
private const val ACTION_CLICKED_LOW_BATTERY = "StylusUsiPowerUI.click"
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.systemui.stylus
|
||||
|
||||
import android.app.Notification
|
||||
import android.hardware.BatteryState
|
||||
import android.hardware.input.InputManager
|
||||
import android.os.Handler
|
||||
@@ -28,10 +29,13 @@ import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.util.mockito.any
|
||||
import com.android.systemui.util.mockito.eq
|
||||
import com.android.systemui.util.mockito.whenever
|
||||
import junit.framework.Assert.assertEquals
|
||||
import org.junit.Before
|
||||
import org.junit.Ignore
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mockito.ArgumentCaptor
|
||||
import org.mockito.Captor
|
||||
import org.mockito.Mock
|
||||
import org.mockito.Mockito.inOrder
|
||||
import org.mockito.Mockito.times
|
||||
@@ -46,6 +50,7 @@ class StylusUsiPowerUiTest : SysuiTestCase() {
|
||||
@Mock lateinit var inputManager: InputManager
|
||||
@Mock lateinit var handler: Handler
|
||||
@Mock lateinit var btStylusDevice: InputDevice
|
||||
@Captor lateinit var notificationCaptor: ArgumentCaptor<Notification>
|
||||
|
||||
private lateinit var stylusUsiPowerUi: StylusUsiPowerUI
|
||||
|
||||
@@ -70,7 +75,8 @@ class StylusUsiPowerUiTest : SysuiTestCase() {
|
||||
fun updateBatteryState_capacityBelowThreshold_notifies() {
|
||||
stylusUsiPowerUi.updateBatteryState(FixedCapacityBatteryState(0.1f))
|
||||
|
||||
verify(notificationManager, times(1)).notify(eq(R.string.stylus_battery_low), any())
|
||||
verify(notificationManager, times(1))
|
||||
.notify(eq(R.string.stylus_battery_low_percentage), any())
|
||||
verifyNoMoreInteractions(notificationManager)
|
||||
}
|
||||
|
||||
@@ -78,7 +84,7 @@ class StylusUsiPowerUiTest : SysuiTestCase() {
|
||||
fun updateBatteryState_capacityAboveThreshold_cancelsNotificattion() {
|
||||
stylusUsiPowerUi.updateBatteryState(FixedCapacityBatteryState(0.8f))
|
||||
|
||||
verify(notificationManager, times(1)).cancel(R.string.stylus_battery_low)
|
||||
verify(notificationManager, times(1)).cancel(R.string.stylus_battery_low_percentage)
|
||||
verifyNoMoreInteractions(notificationManager)
|
||||
}
|
||||
|
||||
@@ -88,8 +94,9 @@ class StylusUsiPowerUiTest : SysuiTestCase() {
|
||||
stylusUsiPowerUi.updateBatteryState(FixedCapacityBatteryState(0.8f))
|
||||
|
||||
inOrder(notificationManager).let {
|
||||
it.verify(notificationManager, times(1)).notify(eq(R.string.stylus_battery_low), any())
|
||||
it.verify(notificationManager, times(1)).cancel(R.string.stylus_battery_low)
|
||||
it.verify(notificationManager, times(1))
|
||||
.notify(eq(R.string.stylus_battery_low_percentage), any())
|
||||
it.verify(notificationManager, times(1)).cancel(R.string.stylus_battery_low_percentage)
|
||||
it.verifyNoMoreInteractions()
|
||||
}
|
||||
}
|
||||
@@ -99,7 +106,16 @@ class StylusUsiPowerUiTest : SysuiTestCase() {
|
||||
stylusUsiPowerUi.updateBatteryState(FixedCapacityBatteryState(0.1f))
|
||||
stylusUsiPowerUi.updateBatteryState(FixedCapacityBatteryState(0.15f))
|
||||
|
||||
verify(notificationManager, times(2)).notify(eq(R.string.stylus_battery_low), any())
|
||||
verify(notificationManager, times(2))
|
||||
.notify(eq(R.string.stylus_battery_low_percentage), notificationCaptor.capture())
|
||||
assertEquals(
|
||||
notificationCaptor.value.extras.getString(Notification.EXTRA_TITLE),
|
||||
context.getString(R.string.stylus_battery_low_percentage, "15%")
|
||||
)
|
||||
assertEquals(
|
||||
notificationCaptor.value.extras.getString(Notification.EXTRA_TEXT),
|
||||
context.getString(R.string.stylus_battery_low_subtitle)
|
||||
)
|
||||
verifyNoMoreInteractions(notificationManager)
|
||||
}
|
||||
|
||||
@@ -110,9 +126,11 @@ class StylusUsiPowerUiTest : SysuiTestCase() {
|
||||
stylusUsiPowerUi.updateBatteryState(FixedCapacityBatteryState(0.1f))
|
||||
|
||||
inOrder(notificationManager).let {
|
||||
it.verify(notificationManager, times(1)).notify(eq(R.string.stylus_battery_low), any())
|
||||
it.verify(notificationManager, times(1)).cancel(R.string.stylus_battery_low)
|
||||
it.verify(notificationManager, times(1)).notify(eq(R.string.stylus_battery_low), any())
|
||||
it.verify(notificationManager, times(1))
|
||||
.notify(eq(R.string.stylus_battery_low_percentage), any())
|
||||
it.verify(notificationManager, times(1)).cancel(R.string.stylus_battery_low_percentage)
|
||||
it.verify(notificationManager, times(1))
|
||||
.notify(eq(R.string.stylus_battery_low_percentage), any())
|
||||
it.verifyNoMoreInteractions()
|
||||
}
|
||||
}
|
||||
@@ -121,7 +139,7 @@ class StylusUsiPowerUiTest : SysuiTestCase() {
|
||||
fun updateSuppression_noExistingNotification_cancelsNotification() {
|
||||
stylusUsiPowerUi.updateSuppression(true)
|
||||
|
||||
verify(notificationManager, times(1)).cancel(R.string.stylus_battery_low)
|
||||
verify(notificationManager, times(1)).cancel(R.string.stylus_battery_low_percentage)
|
||||
verifyNoMoreInteractions(notificationManager)
|
||||
}
|
||||
|
||||
@@ -132,8 +150,9 @@ class StylusUsiPowerUiTest : SysuiTestCase() {
|
||||
stylusUsiPowerUi.updateSuppression(true)
|
||||
|
||||
inOrder(notificationManager).let {
|
||||
it.verify(notificationManager, times(1)).notify(eq(R.string.stylus_battery_low), any())
|
||||
it.verify(notificationManager, times(1)).cancel(R.string.stylus_battery_low)
|
||||
it.verify(notificationManager, times(1))
|
||||
.notify(eq(R.string.stylus_battery_low_percentage), any())
|
||||
it.verify(notificationManager, times(1)).cancel(R.string.stylus_battery_low_percentage)
|
||||
it.verifyNoMoreInteractions()
|
||||
}
|
||||
}
|
||||
@@ -156,7 +175,7 @@ class StylusUsiPowerUiTest : SysuiTestCase() {
|
||||
|
||||
stylusUsiPowerUi.refresh()
|
||||
|
||||
verify(notificationManager).cancel(R.string.stylus_battery_low)
|
||||
verify(notificationManager).cancel(R.string.stylus_battery_low_percentage)
|
||||
}
|
||||
|
||||
class FixedCapacityBatteryState(private val capacity: Float) : BatteryState() {
|
||||
|
||||
Reference in New Issue
Block a user