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

Commit 960286f6 authored by Juan Sebastian Martinez's avatar Juan Sebastian Martinez
Browse files

Adjusting MSDL vibration attributes for consistency with constants.

The behavior of new HapticFeedbackConstants is the same as the
USAGE_COMMUNICATION_REQUEST attributes. To make both behaviors
consistent, we change the vibtation attributes used by MSDL feedback in
lockscreen authentication scenarios.

Test: manual. Tested failed and successful authentication with
  "vibration and haptics" settings off as well as with battery saver on.
  Confirmed that haptics play the same as with the flag off.
Flag: com.android.systemui.msdl_feedback
Bug: 361165906
Change-Id: I4960633165a879a124f7f4207291a1b284649117
parent a2e03265
Loading
Loading
Loading
Loading
+10 −18
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ import android.annotation.DrawableRes
import android.annotation.SuppressLint
import android.graphics.Point
import android.graphics.Rect
import android.os.VibrationAttributes
import android.util.Log
import android.view.HapticFeedbackConstants
import android.view.View
@@ -41,6 +40,7 @@ import com.android.app.animation.Interpolators
import com.android.app.tracing.coroutines.launch
import com.android.internal.jank.InteractionJankMonitor
import com.android.internal.jank.InteractionJankMonitor.CUJ_SCREEN_OFF_SHOW_AOD
import com.android.keyguard.AuthInteractionProperties
import com.android.systemui.Flags.msdlFeedback
import com.android.systemui.Flags.newAodTransition
import com.android.systemui.common.shared.model.Icon
@@ -82,7 +82,6 @@ import com.android.systemui.util.ui.isAnimating
import com.android.systemui.util.ui.stopAnimating
import com.android.systemui.util.ui.value
import com.google.android.msdl.data.model.MSDLToken
import com.google.android.msdl.domain.InteractionProperties
import com.google.android.msdl.domain.MSDLPlayer
import kotlin.math.min
import kotlinx.coroutines.CoroutineDispatcher
@@ -358,14 +357,10 @@ object KeyguardRootViewBinder {
                        launch {
                            deviceEntryHapticsInteractor.playSuccessHaptic.collect {
                                if (msdlFeedback()) {
                                    val properties =
                                        object : InteractionProperties {
                                            override val vibrationAttributes: VibrationAttributes =
                                                VibrationAttributes.createForUsage(
                                                    VibrationAttributes.USAGE_HARDWARE_FEEDBACK
                                    msdlPlayer?.playToken(
                                        MSDLToken.UNLOCK,
                                        authInteractionProperties
                                    )
                                        }
                                    msdlPlayer?.playToken(MSDLToken.UNLOCK, properties)
                                } else {
                                    vibratorHelper.performHapticFeedback(
                                        view,
@@ -378,14 +373,10 @@ object KeyguardRootViewBinder {
                        launch {
                            deviceEntryHapticsInteractor.playErrorHaptic.collect {
                                if (msdlFeedback()) {
                                    val properties =
                                        object : InteractionProperties {
                                            override val vibrationAttributes: VibrationAttributes =
                                                VibrationAttributes.createForUsage(
                                                    VibrationAttributes.USAGE_HARDWARE_FEEDBACK
                                    msdlPlayer?.playToken(
                                        MSDLToken.FAILURE,
                                        authInteractionProperties
                                    )
                                        }
                                    msdlPlayer?.playToken(MSDLToken.FAILURE, properties)
                                } else {
                                    vibratorHelper.performHapticFeedback(
                                        view,
@@ -660,6 +651,7 @@ object KeyguardRootViewBinder {
    private val lockIcon = R.id.lock_icon_view
    private val deviceEntryIcon = R.id.device_entry_icon_view
    private val nsslPlaceholderId = R.id.nssl_placeholder
    private val authInteractionProperties = AuthInteractionProperties()

    private const val ID = "occluding_app_device_entry_unlock_msg"
    private const val AOD_ICONS_APPEAR_DURATION: Long = 200