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

Commit 1d74a5f2 authored by Will Osborn's avatar Will Osborn Committed by Android (Google) Code Review
Browse files

Merge "Fix issue where stylus battery notification shows -1" into main

parents 70f69a53 40091114
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -36,10 +36,10 @@ import com.android.internal.annotations.VisibleForTesting
import com.android.internal.logging.InstanceId
import com.android.internal.logging.InstanceIdSequence
import com.android.internal.logging.UiEventLogger
import com.android.systemui.res.R
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.log.DebugLogger.debugLog
import com.android.systemui.res.R
import com.android.systemui.shared.hardware.hasInputDevice
import com.android.systemui.shared.hardware.isAnyStylusSource
import com.android.systemui.util.NotificationChannels
@@ -65,8 +65,10 @@ constructor(
    private var batteryCapacity = 1.0f
    private var suppressed = false
    private var instanceId: InstanceId? = null
    @VisibleForTesting var inputDeviceId: Int? = null
    @VisibleForTesting
    var inputDeviceId: Int? = null
        private set

    @VisibleForTesting var instanceIdSequence = InstanceIdSequence(1 shl 13)

    fun init() {
@@ -113,7 +115,7 @@ constructor(
            inputDeviceId = deviceId
            if (batteryState.capacity == batteryCapacity || batteryState.capacity <= 0f)
                return@updateBattery

            // Note that batteryState.capacity == NaN will fall through to here
            batteryCapacity = batteryState.capacity
            debugLog {
                "Updating notification battery state to $batteryCapacity " +
@@ -172,7 +174,7 @@ constructor(
    }

    private fun isBatteryBelowThreshold(): Boolean {
        return batteryCapacity <= LOW_BATTERY_THRESHOLD
        return !batteryCapacity.isNaN() && batteryCapacity <= LOW_BATTERY_THRESHOLD
    }

    private fun hasConnectedBluetoothStylus(): Boolean {
+9 −1
Original line number Diff line number Diff line
@@ -31,8 +31,8 @@ import androidx.test.filters.SmallTest
import com.android.internal.logging.InstanceId
import com.android.internal.logging.UiEventLogger
import com.android.systemui.InstanceIdSequenceFake
import com.android.systemui.res.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.res.R
import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.argumentCaptor
import com.android.systemui.util.mockito.eq
@@ -108,6 +108,14 @@ class StylusUsiPowerUiTest : SysuiTestCase() {
        verifyNoMoreInteractions(notificationManager)
    }

    @Test
    fun updateBatteryState_capacityNaN_cancelsNotification() {
        stylusUsiPowerUi.updateBatteryState(0, FixedCapacityBatteryState(Float.NaN))

        verify(notificationManager, times(1)).cancel(R.string.stylus_battery_low_percentage)
        verifyNoMoreInteractions(notificationManager)
    }

    @Test
    fun updateBatteryState_capacityBelowThreshold_notifies() {
        stylusUsiPowerUi.updateBatteryState(0, FixedCapacityBatteryState(0.1f))