From ebbb5c277e3d9aa7217d785951de6b0510ceec2f Mon Sep 17 00:00:00 2001 From: Joe Bolinger Date: Tue, 23 Nov 2021 11:41:17 -0800 Subject: [PATCH] Prevent scrolling when interacting with confirm pattern prompt. This uses the same fix as related commit e55568a7ba980966f78a7d88f812587e13341a4e Fix: 207325277 Test: manual (set pattern via settings in dual pane mode) Change-Id: Ic56829df23442df45d47d60ea5b8319e4ab58931 --- .../android/settings/password/ConfirmLockPattern.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/com/android/settings/password/ConfirmLockPattern.java b/src/com/android/settings/password/ConfirmLockPattern.java index a1a7ea7fa44..ec5efcfbc4e 100644 --- a/src/com/android/settings/password/ConfirmLockPattern.java +++ b/src/com/android/settings/password/ConfirmLockPattern.java @@ -17,6 +17,7 @@ package com.android.settings.password; import android.annotation.Nullable; +import android.annotation.SuppressLint; import android.app.Activity; import android.app.settings.SettingsEnums; import android.content.Intent; @@ -28,6 +29,7 @@ import android.os.UserManager; import android.os.storage.StorageManager; import android.text.TextUtils; import android.view.LayoutInflater; +import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.animation.AnimationUtils; @@ -108,6 +110,7 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity { } + @SuppressLint("ClickableViewAccessibility") @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -146,6 +149,12 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity { mLockPatternView.setInStealthMode(!mLockPatternUtils.isVisiblePatternEnabled( mEffectiveUserId)); mLockPatternView.setOnPatternListener(mConfirmExistingLockPatternListener); + mLockPatternView.setOnTouchListener((v, event) -> { + if (event.getAction() == MotionEvent.ACTION_DOWN) { + v.getParent().requestDisallowInterceptTouchEvent(true); + } + return false; + }); updateStage(Stage.NeedToUnlock); if (savedInstanceState == null) {