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

Commit ef97c455 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Adding MSDL feedback to emergency button click." into main

parents 03b6fdf2 a6f429bb
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import com.android.internal.util.EmergencyAffordanceManager
import com.android.systemui.authentication.domain.interactor.AuthenticationInteractor
import com.android.systemui.bouncer.data.repository.EmergencyServicesRepository
import com.android.systemui.bouncer.shared.model.BouncerActionButtonModel
import com.android.systemui.bouncer.ui.helper.BouncerHapticPlayer
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Background
@@ -74,6 +75,7 @@ constructor(
    private val metricsLogger: MetricsLogger,
    private val dozeLogger: DozeLogger,
    private val sceneInteractor: Lazy<SceneInteractor>,
    private val bouncerHapticPlayer: BouncerHapticPlayer,
) {
    /** The bouncer action button. If `null`, the button should not be shown. */
    val actionButton: Flow<BouncerActionButtonModel?> =
@@ -111,6 +113,8 @@ constructor(
        BouncerActionButtonModel(
            label = applicationContext.getString(R.string.lockscreen_emergency_call),
            onClick = {
                // TODO(b/373930432): haptics should be played at the UI layer -> refactor
                bouncerHapticPlayer.playEmergencyButtonClickFeedback()
                prepareToPerformAction()
                dozeLogger.logEmergencyCall()
                startEmergencyDialerActivity()
+7 −0
Original line number Diff line number Diff line
@@ -81,4 +81,11 @@ class BouncerHapticPlayer @Inject constructor(private val msdlPlayer: dagger.Laz

    /** Deliver MSDL feedback when a numpad key is pressed on the pin bouncer */
    fun playNumpadKeyFeedback() = msdlPlayer.get().playToken(MSDLToken.KEYPRESS_STANDARD)

    /** Deliver MSDL feedback when clicking on the emergency button */
    fun playEmergencyButtonClickFeedback() {
        if (isEnabled) {
            msdlPlayer.get().playToken(MSDLToken.KEYPRESS_RETURN)
        }
    }
}
+2 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import com.android.internal.logging.metricsLogger
import com.android.internal.util.emergencyAffordanceManager
import com.android.systemui.authentication.domain.interactor.authenticationInteractor
import com.android.systemui.bouncer.data.repository.emergencyServicesRepository
import com.android.systemui.haptics.msdl.bouncerHapticPlayer
import com.android.systemui.kosmos.Kosmos
import com.android.systemui.kosmos.Kosmos.Fixture
import com.android.systemui.kosmos.testDispatcher
@@ -52,5 +53,6 @@ val Kosmos.bouncerActionButtonInteractor by Fixture {
        metricsLogger = metricsLogger,
        dozeLogger = mock(),
        sceneInteractor = { sceneInteractor },
        bouncerHapticPlayer,
    )
}