Merge "[Large screen] SplitListener may not provide correct information" into sc-v2-dev
diff --git a/res/layout/choose_lock_pattern_common.xml b/res/layout/choose_lock_pattern_common.xml
index 9ac8fe2..2dd8cd5 100644
--- a/res/layout/choose_lock_pattern_common.xml
+++ b/res/layout/choose_lock_pattern_common.xml
@@ -51,6 +51,7 @@
             style="@style/LockPatternContainerStyle"
             android:layout_width="wrap_content"
             android:layout_height="0dp"
+            android:minHeight="@dimen/choose_lockscreen_min_height"
             android:layout_weight="1">
 
             <com.android.internal.widget.LockPatternView
diff --git a/res/layout/confirm_lock_pattern_base.xml b/res/layout/confirm_lock_pattern_base.xml
index f79fc72..15c6121 100644
--- a/res/layout/confirm_lock_pattern_base.xml
+++ b/res/layout/confirm_lock_pattern_base.xml
@@ -67,6 +67,7 @@
                 style="@style/LockPatternContainerStyle"
                 android:layout_width="wrap_content"
                 android:layout_height="0dp"
+                android:minHeight="@dimen/choose_lockscreen_min_height"
                 android:layout_weight="1">
 
                 <com.android.internal.widget.LockPatternView
diff --git a/res/layout/confirm_lock_pattern_normal_base.xml b/res/layout/confirm_lock_pattern_normal_base.xml
index 62a1160..7fd6172 100644
--- a/res/layout/confirm_lock_pattern_normal_base.xml
+++ b/res/layout/confirm_lock_pattern_normal_base.xml
@@ -39,6 +39,7 @@
                 style="@style/LockPatternContainerStyle"
                 android:layout_width="wrap_content"
                 android:layout_height="0dp"
+                android:minHeight="@dimen/choose_lockscreen_min_height"
                 android:layout_weight="1">
 
                 <com.android.internal.widget.LockPatternView
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index e041128..9eadf89 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -313,6 +313,9 @@
          The unit is sp as it is related to the text size of password requirement item. -->
     <dimen name="visible_vertical_space_below_password">20sp</dimen>
 
+    <!-- Minimum height for setting a lock pattern -->
+    <dimen name="choose_lockscreen_min_height">200dp</dimen>
+
     <!-- Select dialog -->
     <dimen name="select_dialog_padding_start">20dp</dimen>
     <dimen name="select_dialog_item_margin_start">12dp</dimen>
diff --git a/src/com/android/settings/password/ChooseLockPattern.java b/src/com/android/settings/password/ChooseLockPattern.java
index 8464a2f..016906a 100644
--- a/src/com/android/settings/password/ChooseLockPattern.java
+++ b/src/com/android/settings/password/ChooseLockPattern.java
@@ -21,6 +21,7 @@
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_ID;
 
+import android.annotation.SuppressLint;
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
@@ -35,6 +36,7 @@
 import android.util.TypedValue;
 import android.view.KeyEvent;
 import android.view.LayoutInflater;
+import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.TextView;
@@ -491,11 +493,18 @@
             getActivity().setTitle(msg);
         }
 
+        @SuppressLint("ClickableViewAccessibility")
         @Override
         public View onCreateView(LayoutInflater inflater, ViewGroup container,
                 Bundle savedInstanceState) {
             final GlifLayout layout = (GlifLayout) inflater.inflate(
                     R.layout.choose_lock_pattern, container, false);
+            layout.findViewById(R.id.lockPattern).setOnTouchListener((v, event) -> {
+                if (event.getAction() == MotionEvent.ACTION_DOWN) {
+                    v.getParent().requestDisallowInterceptTouchEvent(true);
+                }
+                return false;
+            });
             updateActivityTitle();
             layout.setHeaderText(getActivity().getTitle());
             layout.getHeaderTextView().setAccessibilityLiveRegion(ACCESSIBILITY_LIVE_REGION_POLITE);