1<?xml version="1.0" encoding="utf-8"?><!-- 2** 3** Copyright 2012, The Android Open Source Project 4** 5** Licensed under the Apache License, Version 2.0 (the "License") 6** you may not use this file except in compliance with the License. 7** You may obtain a copy of the License at 8** 9** http://www.apache.org/licenses/LICENSE-2.0 10** 11** Unless required by applicable law or agreed to in writing, software 12** distributed under the License is distributed on an "AS IS" BASIS, 13** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14** See the License for the specific language governing permissions and 15** limitations under the License. 16*/ 17--> 18<!-- This is the SIM PIN view that allows the user to enter a SIM PIN to unlock the device. --> 19<com.android.keyguard.KeyguardSimPinView xmlns:android="http://schemas.android.com/apk/res/android" 20 xmlns:androidprv="http://schemas.android.com/apk/res-auto" 21 xmlns:app="http://schemas.android.com/apk/res-auto" 22 android:id="@+id/keyguard_sim_pin_view" 23 android:layout_width="match_parent" 24 android:layout_height="match_parent" 25 android:orientation="vertical" 26 androidprv:layout_maxWidth="@dimen/keyguard_security_width" 27 android:layout_gravity="center_horizontal|bottom"> 28 <include layout="@layout/keyguard_bouncer_message_area"/> 29 30 <androidx.constraintlayout.widget.ConstraintLayout 31 android:layout_width="match_parent" 32 android:layout_height="0dp" 33 android:layout_weight="1" 34 android:layoutDirection="ltr"> 35 <LinearLayout 36 android:id="@+id/pin_area" 37 android:layout_width="match_parent" 38 android:layout_height="wrap_content" 39 android:orientation="vertical" 40 android:gravity="center_horizontal" 41 android:paddingTop="@dimen/num_pad_entry_row_margin_bottom" 42 android:paddingBottom="@dimen/num_pad_entry_row_margin_bottom" 43 androidprv:layout_constraintBottom_toTopOf="@+id/flow1" 44 androidprv:layout_constraintEnd_toEndOf="parent" 45 androidprv:layout_constraintStart_toStartOf="parent" 46 androidprv:layout_constraintTop_toTopOf="parent"> 47 48 <ImageView 49 android:id="@+id/keyguard_sim" 50 android:layout_width="40dp" 51 android:layout_height="40dp" 52 android:layout_gravity="center_horizontal" 53 android:src="@drawable/ic_lockscreen_sim" 54 app:tint="@color/background_protected" /> 55 56 <include 57 android:id="@+id/keyguard_esim_area" 58 layout="@layout/keyguard_esim_area" 59 android:layout_gravity="center_horizontal" 60 android:layout_width="wrap_content" 61 android:layout_height="wrap_content" /> 62 63 <com.android.keyguard.PasswordTextView 64 android:id="@+id/simPinEntry" 65 style="@style/Widget.TextView.Password" 66 android:layout_width="@dimen/keyguard_security_width" 67 android:layout_height="@dimen/keyguard_password_height" 68 android:contentDescription="@string/keyguard_accessibility_sim_pin_area" 69 android:layout_gravity="center_horizontal" 70 androidprv:scaledTextSize="@integer/scaled_password_text_size" /> 71 </LinearLayout> 72 73 <androidx.constraintlayout.helper.widget.Flow 74 android:id="@+id/flow1" 75 android:layout_width="0dp" 76 android:layout_height="0dp" 77 android:clipChildren="false" 78 android:clipToPadding="false" 79 android:orientation="horizontal" 80 androidprv:constraint_referenced_ids="key1,key2,key3,key4,key5,key6,key7,key8,key9,delete_button,key0,key_enter" 81 androidprv:flow_horizontalGap="@dimen/num_pad_key_margin_end" 82 androidprv:flow_horizontalStyle="packed" 83 androidprv:flow_maxElementsWrap="3" 84 androidprv:flow_verticalBias="1.0" 85 androidprv:flow_verticalGap="@dimen/num_pad_entry_row_margin_bottom" 86 androidprv:flow_verticalStyle="packed" 87 androidprv:flow_wrapMode="aligned" 88 androidprv:layout_constraintBottom_toBottomOf="parent" 89 androidprv:layout_constraintEnd_toEndOf="parent" 90 androidprv:layout_constraintStart_toStartOf="parent" 91 androidprv:layout_constraintTop_toBottomOf="@id/pin_area" /> 92 93 <com.android.keyguard.NumPadButton 94 android:id="@+id/delete_button" 95 style="@style/NumPadKey.Delete" 96 android:layout_width="0dp" 97 android:layout_height="0dp" 98 android:accessibilityTraversalBefore="@id/key0" 99 android:contentDescription="@string/keyboardview_keycode_delete" /> 100 101 <com.android.keyguard.NumPadButton 102 android:id="@+id/key_enter" 103 style="@style/NumPadKey.Enter" 104 android:layout_width="0dp" 105 android:layout_height="0dp" 106 android:contentDescription="@string/keyboardview_keycode_enter" /> 107 108 <com.android.keyguard.NumPadKey 109 android:id="@+id/key1" 110 android:layout_width="0dp" 111 android:layout_height="0dp" 112 android:accessibilityTraversalBefore="@id/key2" 113 androidprv:digit="1" 114 androidprv:textView="@+id/simPinEntry" /> 115 116 <com.android.keyguard.NumPadKey 117 android:id="@+id/key2" 118 android:layout_width="0dp" 119 android:layout_height="0dp" 120 android:accessibilityTraversalBefore="@id/key3" 121 androidprv:digit="2" 122 androidprv:textView="@+id/simPinEntry" /> 123 124 <com.android.keyguard.NumPadKey 125 android:id="@+id/key3" 126 android:layout_width="0dp" 127 android:layout_height="0dp" 128 android:accessibilityTraversalBefore="@id/key4" 129 androidprv:digit="3" 130 androidprv:textView="@+id/simPinEntry" /> 131 132 <com.android.keyguard.NumPadKey 133 android:id="@+id/key4" 134 android:layout_width="0dp" 135 android:layout_height="0dp" 136 android:accessibilityTraversalBefore="@id/key5" 137 androidprv:digit="4" 138 androidprv:textView="@+id/simPinEntry" /> 139 140 <com.android.keyguard.NumPadKey 141 android:id="@+id/key5" 142 android:layout_width="0dp" 143 android:layout_height="0dp" 144 android:accessibilityTraversalBefore="@id/key6" 145 androidprv:digit="5" 146 androidprv:textView="@+id/simPinEntry" /> 147 148 149 <com.android.keyguard.NumPadKey 150 android:id="@+id/key6" 151 android:layout_width="0dp" 152 android:layout_height="0dp" 153 android:accessibilityTraversalBefore="@id/key7" 154 androidprv:digit="6" 155 androidprv:textView="@+id/simPinEntry" /> 156 157 <com.android.keyguard.NumPadKey 158 android:id="@+id/key7" 159 android:layout_width="0dp" 160 android:layout_height="0dp" 161 android:accessibilityTraversalBefore="@id/key8" 162 androidprv:digit="7" 163 androidprv:textView="@+id/simPinEntry" /> 164 165 <com.android.keyguard.NumPadKey 166 android:id="@+id/key8" 167 android:layout_width="0dp" 168 android:layout_height="0dp" 169 android:accessibilityTraversalBefore="@id/key9" 170 androidprv:digit="8" 171 androidprv:textView="@+id/simPinEntry" /> 172 173 <com.android.keyguard.NumPadKey 174 android:id="@+id/key9" 175 android:layout_width="0dp" 176 android:layout_height="0dp" 177 android:accessibilityTraversalBefore="@id/delete_button" 178 androidprv:digit="9" 179 androidprv:textView="@+id/simPinEntry" /> 180 181 <com.android.keyguard.NumPadKey 182 android:id="@+id/key0" 183 android:layout_width="0dp" 184 android:layout_height="0dp" 185 android:accessibilityTraversalBefore="@id/key_enter" 186 androidprv:digit="0" 187 androidprv:textView="@+id/simPinEntry" /> 188 </androidx.constraintlayout.widget.ConstraintLayout> 189 190 <include 191 android:id="@+id/keyguard_selector_fade_container" 192 layout="@layout/keyguard_eca" 193 android:layout_width="match_parent" 194 android:layout_height="wrap_content" 195 android:layout_gravity="bottom|center_horizontal" 196 android:layout_marginBottom="2dp" 197 android:layout_marginTop="@dimen/keyguard_eca_top_margin" 198 android:gravity="center_horizontal" 199 android:orientation="vertical" /> 200</com.android.keyguard.KeyguardSimPinView> 201