1<?xml version="1.0" encoding="utf-8"?>
2<!--
3**
4** Copyright 2008, 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<!-- This is the SIM PUK view that allows the user to recover their device by entering the
20    carrier-provided PUK code and entering a new SIM PIN for it. -->
21<com.android.keyguard.KeyguardSimPukView
22        xmlns:android="http://schemas.android.com/apk/res/android"
23        xmlns:androidprv="http://schemas.android.com/apk/res-auto"
24        xmlns:app="http://schemas.android.com/apk/res-auto"
25        android:id="@+id/keyguard_sim_puk_view"
26        android:orientation="vertical"
27        android:layout_width="match_parent"
28        android:layout_height="match_parent"
29        androidprv:layout_maxWidth="@dimen/keyguard_security_width"
30        android:layout_gravity="center_horizontal|bottom">
31    <include layout="@layout/keyguard_bouncer_message_area"/>
32
33    <androidx.constraintlayout.widget.ConstraintLayout
34        android:layout_width="match_parent"
35        android:layout_height="0dp"
36        android:layout_weight="1"
37        android:layoutDirection="ltr">
38        <LinearLayout
39            android:id="@+id/pin_area"
40            android:layout_width="match_parent"
41            android:layout_height="wrap_content"
42            android:orientation="vertical"
43            android:gravity="center_horizontal"
44            android:paddingTop="@dimen/num_pad_entry_row_margin_bottom"
45            android:paddingBottom="@dimen/num_pad_entry_row_margin_bottom"
46            androidprv:layout_constraintBottom_toTopOf="@+id/flow1"
47            androidprv:layout_constraintEnd_toEndOf="parent"
48            androidprv:layout_constraintStart_toStartOf="parent"
49            androidprv:layout_constraintTop_toTopOf="parent">
50
51            <ImageView
52                android:id="@+id/keyguard_sim"
53                android:layout_width="40dp"
54                android:layout_height="40dp"
55                android:layout_gravity="center_horizontal"
56                android:src="@drawable/ic_lockscreen_sim"
57                app:tint="@color/background_protected" />
58
59            <include
60                android:id="@+id/keyguard_esim_area"
61                layout="@layout/keyguard_esim_area"
62                android:layout_gravity="center_horizontal"
63                android:layout_width="wrap_content"
64                android:layout_height="wrap_content" />
65
66            <com.android.keyguard.PasswordTextView
67                android:id="@+id/pukEntry"
68                style="@style/Widget.TextView.Password"
69                android:layout_width="@dimen/keyguard_security_width"
70                android:layout_height="@dimen/keyguard_password_height"
71                android:contentDescription="@string/keyguard_accessibility_sim_pin_area"
72                android:layout_gravity="center_horizontal"
73                androidprv:scaledTextSize="@integer/scaled_password_text_size" />
74        </LinearLayout>
75
76        <androidx.constraintlayout.helper.widget.Flow
77            android:id="@+id/flow1"
78            android:layout_width="0dp"
79            android:layout_height="0dp"
80            android:clipChildren="false"
81            android:clipToPadding="false"
82            android:orientation="horizontal"
83            androidprv:constraint_referenced_ids="key1,key2,key3,key4,key5,key6,key7,key8,key9,delete_button,key0,key_enter"
84            androidprv:flow_horizontalGap="@dimen/num_pad_key_margin_end"
85            androidprv:flow_horizontalStyle="packed"
86            androidprv:flow_maxElementsWrap="3"
87            androidprv:flow_verticalBias="1.0"
88            androidprv:flow_verticalGap="@dimen/num_pad_entry_row_margin_bottom"
89            androidprv:flow_verticalStyle="packed"
90            androidprv:flow_wrapMode="aligned"
91            androidprv:layout_constraintBottom_toBottomOf="parent"
92            androidprv:layout_constraintEnd_toEndOf="parent"
93            androidprv:layout_constraintStart_toStartOf="parent"
94            androidprv:layout_constraintTop_toBottomOf="@id/pin_area" />
95
96        <com.android.keyguard.NumPadButton
97            android:id="@+id/delete_button"
98            style="@style/NumPadKey.Delete"
99            android:layout_width="0dp"
100            android:layout_height="0dp"
101            android:accessibilityTraversalBefore="@id/key0"
102            android:contentDescription="@string/keyboardview_keycode_delete" />
103
104        <com.android.keyguard.NumPadButton
105            android:id="@+id/key_enter"
106            style="@style/NumPadKey.Enter"
107            android:layout_width="0dp"
108            android:layout_height="0dp"
109            android:contentDescription="@string/keyboardview_keycode_enter" />
110
111        <com.android.keyguard.NumPadKey
112            android:id="@+id/key1"
113            android:layout_width="0dp"
114            android:layout_height="0dp"
115            android:accessibilityTraversalBefore="@id/key2"
116            androidprv:digit="1"
117            androidprv:textView="@+id/pukEntry" />
118
119        <com.android.keyguard.NumPadKey
120            android:id="@+id/key2"
121            android:layout_width="0dp"
122            android:layout_height="0dp"
123            android:accessibilityTraversalBefore="@id/key3"
124            androidprv:digit="2"
125            androidprv:textView="@+id/pukEntry" />
126
127        <com.android.keyguard.NumPadKey
128            android:id="@+id/key3"
129            android:layout_width="0dp"
130            android:layout_height="0dp"
131            android:accessibilityTraversalBefore="@id/key4"
132            androidprv:digit="3"
133            androidprv:textView="@+id/pukEntry" />
134
135        <com.android.keyguard.NumPadKey
136            android:id="@+id/key4"
137            android:layout_width="0dp"
138            android:layout_height="0dp"
139            android:accessibilityTraversalBefore="@id/key5"
140            androidprv:digit="4"
141            androidprv:textView="@+id/pukEntry" />
142
143        <com.android.keyguard.NumPadKey
144            android:id="@+id/key5"
145            android:layout_width="0dp"
146            android:layout_height="0dp"
147            android:accessibilityTraversalBefore="@id/key6"
148            androidprv:digit="5"
149            androidprv:textView="@+id/pukEntry" />
150
151
152        <com.android.keyguard.NumPadKey
153            android:id="@+id/key6"
154            android:layout_width="0dp"
155            android:layout_height="0dp"
156            android:accessibilityTraversalBefore="@id/key7"
157            androidprv:digit="6"
158            androidprv:textView="@+id/pukEntry" />
159
160        <com.android.keyguard.NumPadKey
161            android:id="@+id/key7"
162            android:layout_width="0dp"
163            android:layout_height="0dp"
164            android:accessibilityTraversalBefore="@id/key8"
165            androidprv:digit="7"
166            androidprv:textView="@+id/pukEntry" />
167
168        <com.android.keyguard.NumPadKey
169            android:id="@+id/key8"
170            android:layout_width="0dp"
171            android:layout_height="0dp"
172            android:accessibilityTraversalBefore="@id/key9"
173            androidprv:digit="8"
174            androidprv:textView="@+id/pukEntry" />
175
176        <com.android.keyguard.NumPadKey
177            android:id="@+id/key9"
178            android:layout_width="0dp"
179            android:layout_height="0dp"
180            android:accessibilityTraversalBefore="@id/delete_button"
181            androidprv:digit="9"
182            androidprv:textView="@+id/pukEntry" />
183
184        <com.android.keyguard.NumPadKey
185            android:id="@+id/key0"
186            android:layout_width="0dp"
187            android:layout_height="0dp"
188            android:accessibilityTraversalBefore="@id/key_enter"
189            androidprv:digit="0"
190            androidprv:textView="@+id/pukEntry" />
191    </androidx.constraintlayout.widget.ConstraintLayout>
192
193    <include layout="@layout/keyguard_eca"
194             android:id="@+id/keyguard_selector_fade_container"
195             android:layout_width="match_parent"
196             android:layout_height="wrap_content"
197             android:orientation="vertical"
198             android:layout_gravity="bottom|center_horizontal"
199             android:layout_marginTop="@dimen/keyguard_eca_top_margin"
200             android:layout_marginBottom="2dp"
201             android:gravity="center_horizontal"/>
202</com.android.keyguard.KeyguardSimPukView>
203