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

Commit c57906c4 authored by Brad Hinegardner's avatar Brad Hinegardner
Browse files

Custom Lockscreen shortcuts' long-press should call to FalsingManager

Bug: b/265030123
Test: manual; toggle shortcut on with and without precise tool
Change-Id: Ic6bec11923372c77ba1eaa13e9cf01a64f7e70fa
parent fc2551e5
Loading
Loading
Loading
Loading
+18 −3
Original line number Diff line number Diff line
@@ -342,7 +342,13 @@ object KeyguardBottomAreaViewBinder {
        if (viewModel.isClickable) {
            if (viewModel.useLongPress) {
                view.setOnTouchListener(
                    OnTouchListener(view, viewModel, messageDisplayer, vibratorHelper)
                    OnTouchListener(
                        view,
                        viewModel,
                        messageDisplayer,
                        vibratorHelper,
                        falsingManager,
                    )
                )
            } else {
                view.setOnClickListener(OnClickListener(viewModel, checkNotNull(falsingManager)))
@@ -371,6 +377,7 @@ object KeyguardBottomAreaViewBinder {
        private val viewModel: KeyguardQuickAffordanceViewModel,
        private val messageDisplayer: (Int) -> Unit,
        private val vibratorHelper: VibratorHelper?,
        private val falsingManager: FalsingManager?,
    ) : View.OnTouchListener {

        private val longPressDurationMs = ViewConfiguration.getLongPressTimeout().toLong()
@@ -395,7 +402,14 @@ object KeyguardBottomAreaViewBinder {
                                    .scaleY(PRESSED_SCALE)
                                    .setDuration(longPressDurationMs)
                                    .withEndAction {
                                        if (
                                            falsingManager
                                                ?.isFalseLongTap(
                                                    FalsingManager.MODERATE_PENALTY
                                                ) == false
                                        ) {
                                            dispatchClick(viewModel.configKey)
                                        }
                                        cancel()
                                    }
                        }
@@ -421,7 +435,8 @@ object KeyguardBottomAreaViewBinder {
                        // the pointer performs a click.
                        if (
                            viewModel.configKey != null &&
                                distanceMoved(event) <= ViewConfiguration.getTouchSlop()
                                distanceMoved(event) <= ViewConfiguration.getTouchSlop() &&
                                falsingManager?.isFalseTap(FalsingManager.NO_PENALTY) == false
                        ) {
                            dispatchClick(viewModel.configKey)
                        }