1<?xml version="1.0" encoding="utf-8"?> 2<!-- 3** 4** Copyright 2023, The Android Open Source Project 5** 6** Licensed under the Apache License, Version 2.0 (the "License") 7** you may not use this file except in compliance with the License. 8** You may obtain a copy of the License at 9** 10** http://www.apache.org/licenses/LICENSE-2.0 11** 12** Unless required by applicable law or agreed to in writing, software 13** distributed under the License is distributed on an "AS IS" BASIS, 14** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15** See the License for the specific language governing permissions and 16** limitations under the License. 17*/ 18--> 19 20<!-- This file is needed when flag lockscreen.enable_landscape is on 21 Required for landscape lockscreen on small screens. --> 22<com.android.keyguard.KeyguardPatternView 23 xmlns:android="http://schemas.android.com/apk/res/android" 24 xmlns:androidprv="http://schemas.android.com/apk/res-auto" 25 android:id="@+id/keyguard_pattern_view" 26 android:layout_width="match_parent" 27 android:layout_height="match_parent" 28 android:layout_gravity="center_horizontal|bottom" 29 android:clipChildren="false" 30 android:clipToPadding="false" 31 android:orientation="vertical"> 32 33 <!-- Layout here is visually identical to the previous keyguard_pattern_view. 34 I.E., 'constraints here effectively the same as the previous linear layout' --> 35 <androidx.constraintlayout.motion.widget.MotionLayout 36 android:id="@+id/pattern_container" 37 android:layout_width="match_parent" 38 android:layout_height="match_parent" 39 android:layout_gravity="center_horizontal" 40 android:clipChildren="false" 41 android:clipToPadding="false" 42 android:layoutDirection="ltr" 43 android:orientation="vertical" 44 android:maxWidth = "@dimen/biometric_auth_pattern_view_max_size" 45 androidprv:layoutDescription="@xml/keyguard_pattern_scene"> 46 47 <!-- Guideline need to align pattern right of centre, 48 when on small screen landscape layout --> 49 <androidx.constraintlayout.widget.Guideline 50 android:id="@+id/pattern_center_guideline" 51 android:layout_width="wrap_content" 52 android:layout_height="wrap_content" 53 android:orientation="vertical" 54 androidprv:layout_constraintGuide_percent="0.5" /> 55 56 <LinearLayout 57 android:id="@+id/keyguard_bouncer_message_container" 58 android:layout_width="match_parent" 59 android:layout_height="wrap_content" 60 android:clipChildren="false" 61 android:clipToPadding="false" 62 android:layoutDirection="ltr" 63 android:orientation="vertical" 64 androidprv:layout_constraintTop_toTopOf="parent"> 65 66 <include layout="@layout/keyguard_bouncer_message_area" /> 67 68 <com.android.systemui.bouncer.ui.BouncerMessageView 69 android:id="@+id/bouncer_message_view" 70 android:importantForAccessibility="noHideDescendants" 71 android:layout_width="match_parent" 72 android:layout_height="wrap_content" 73 android:orientation="vertical" /> 74 75 </LinearLayout> 76 77 <androidx.constraintlayout.widget.Guideline 78 android:id="@+id/pattern_top_guideline" 79 android:layout_width="wrap_content" 80 android:layout_height="wrap_content" 81 android:orientation="horizontal" 82 androidprv:layout_constraintGuide_percent="0" /> 83 84 <com.android.internal.widget.LockPatternView 85 android:id="@+id/lockPatternView" 86 android:layout_width="0dp" 87 android:layout_height="0dp" 88 android:layout_marginBottom="8dp" 89 android:focusable="false" 90 androidprv:layout_constraintVertical_bias="1.0" 91 androidprv:layout_constraintDimensionRatio="1.0" 92 androidprv:layout_constraintStart_toStartOf="parent" 93 androidprv:layout_constraintBottom_toTopOf="@+id/keyguard_selector_fade_container" 94 androidprv:layout_constraintEnd_toEndOf="parent" 95 androidprv:layout_constraintVertical_chainStyle="packed" 96 androidprv:layout_constraintTop_toBottomOf="@id/pattern_top_guideline"/> 97 98 <include 99 android:id="@+id/keyguard_selector_fade_container" 100 layout="@layout/keyguard_eca" 101 android:layout_width="match_parent" 102 android:layout_height="wrap_content" 103 android:layout_marginBottom="@dimen/keyguard_eca_bottom_margin" 104 android:layout_marginTop="@dimen/keyguard_eca_top_margin" 105 android:orientation="vertical" 106 androidprv:layout_constraintBottom_toBottomOf="parent" 107 androidprv:layout_constraintTop_toBottomOf="@+id/lockPatternView" /> 108 109 </androidx.constraintlayout.motion.widget.MotionLayout> 110 111</com.android.keyguard.KeyguardPatternView> 112