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