]> git.ktnx.net Git - mobile-ledger.git/blob - app/src/main/res/layout/template_details_header.xml
add fallback flag to templates
[mobile-ledger.git] / app / src / main / res / layout / template_details_header.xml
1 <?xml version="1.0" encoding="utf-8"?><!--
2   ~ Copyright © 2021 Damyan Ivanov.
3   ~ This file is part of MoLe.
4   ~ MoLe is free software: you can distribute it and/or modify it
5   ~ under the term of the GNU General Public License as published by
6   ~ the Free Software Foundation, either version 3 of the License, or
7   ~ (at your opinion), any later version.
8   ~
9   ~ MoLe is distributed in the hope that it will be useful,
10   ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
11   ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12   ~ GNU General Public License terms for details.
13   ~
14   ~ You should have received a copy of the GNU General Public License
15   ~ along with MoLe. If not, see <https://www.gnu.org/licenses/>.
16   -->
17
18 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
19     xmlns:app="http://schemas.android.com/apk/res-auto"
20     android:id="@+id/pattern_details_item_head"
21     android:layout_width="match_parent"
22     android:layout_height="wrap_content"
23     android:animateLayoutChanges="true"
24     android:padding="@dimen/text_margin"
25     >
26     <com.google.android.material.textfield.TextInputLayout
27         android:id="@+id/pattern_name_layout"
28         android:layout_width="0dp"
29         android:layout_height="wrap_content"
30         android:layout_marginBottom="@dimen/text_margin"
31         app:endIconMode="clear_text"
32         app:layout_constraintBottom_toTopOf="@id/pattern_layout"
33         app:layout_constraintEnd_toEndOf="parent"
34         app:layout_constraintStart_toStartOf="parent"
35         app:layout_constraintTop_toTopOf="parent"
36         >
37         <com.google.android.material.textfield.TextInputEditText
38             android:id="@+id/template_name"
39             android:layout_width="match_parent"
40             android:layout_height="wrap_content"
41             android:hint="@string/template_name_label"
42             android:inputType="text"
43             />
44     </com.google.android.material.textfield.TextInputLayout>
45     <com.google.android.material.textfield.TextInputLayout
46         android:id="@+id/pattern_layout"
47         android:layout_width="0dp"
48         android:layout_height="wrap_content"
49         android:layout_marginBottom="@dimen/text_margin"
50         android:textAppearance="?attr/textAppearanceListItem"
51         app:endIconMode="clear_text"
52         app:layout_constraintBottom_toTopOf="@id/pattern_hint_title"
53         app:layout_constraintEnd_toEndOf="parent"
54         app:layout_constraintStart_toStartOf="parent"
55         app:layout_constraintTop_toBottomOf="@id/pattern_name_layout"
56         >
57         <com.google.android.material.textfield.TextInputEditText
58             android:id="@+id/pattern"
59             android:layout_width="match_parent"
60             android:layout_height="wrap_content"
61             android:hint="@string/template_details_pattern_label"
62             android:inputType="text"
63             />
64     </com.google.android.material.textfield.TextInputLayout>
65     <TextView
66         android:id="@+id/pattern_hint_title"
67         android:layout_width="0dp"
68         android:layout_height="wrap_content"
69         android:text="@string/pattern_match_result"
70         android:textAppearance="@style/TextAppearance.MaterialComponents.Body2"
71         app:layout_constraintBottom_toTopOf="@+id/pattern_hint_text"
72         app:layout_constraintEnd_toEndOf="parent"
73         app:layout_constraintStart_toStartOf="parent"
74         app:layout_constraintTop_toBottomOf="@id/pattern_layout"
75         />
76     <TextView
77         android:id="@+id/pattern_hint_text"
78         android:layout_width="0dp"
79         android:layout_height="match_parent"
80         android:layout_marginBottom="@dimen/text_margin"
81         android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
82         app:layout_constraintBottom_toTopOf="@+id/test_text_layout"
83         app:layout_constraintEnd_toEndOf="parent"
84         app:layout_constraintStart_toStartOf="parent"
85         app:layout_constraintTop_toBottomOf="@id/pattern_hint_title"
86         />
87     <com.google.android.material.textfield.TextInputLayout
88         android:id="@+id/test_text_layout"
89         android:layout_width="0dp"
90         android:layout_height="wrap_content"
91         android:layout_marginBottom="@dimen/text_margin"
92         android:textAppearance="?attr/textAppearanceListItem"
93         app:endIconMode="clear_text"
94         app:layout_constraintBottom_toTopOf="@id/transaction_parameters_label"
95         app:layout_constraintEnd_toStartOf="@id/template_details_head_scan_qr_button"
96         app:layout_constraintStart_toStartOf="parent"
97         app:layout_constraintTop_toBottomOf="@id/pattern_hint_text"
98         >
99         <com.google.android.material.textfield.TextInputEditText
100             android:id="@+id/test_text"
101             android:layout_width="match_parent"
102             android:layout_height="wrap_content"
103             android:hint="@string/template_details_test_text_label"
104             android:inputType="text"
105             />
106     </com.google.android.material.textfield.TextInputLayout>
107     <ImageButton
108         android:id="@+id/template_details_head_scan_qr_button"
109         android:layout_width="wrap_content"
110         android:layout_height="0dp"
111         android:background="@android:color/transparent"
112         android:contentDescription="@string/scan_qr"
113         android:minWidth="@dimen/thumb_row_height"
114         app:layout_constraintBottom_toBottomOf="@id/test_text_layout"
115         app:layout_constraintEnd_toEndOf="parent"
116         app:layout_constraintTop_toTopOf="@id/test_text_layout"
117         app:srcCompat="@drawable/ic_baseline_qr_code_scanner_24"
118         app:tint="?colorPrimary"
119         />
120     <TextView
121         android:id="@+id/transaction_parameters_label"
122         android:layout_width="match_parent"
123         android:layout_height="wrap_content"
124         android:gravity="end"
125         android:text="@string/template_transaction_parameters_label"
126         android:textAppearance="?attr/textAppearanceListItem"
127         app:layout_constraintBottom_toTopOf="@+id/pattern_transaction_date_label"
128         app:layout_constraintEnd_toEndOf="parent"
129         app:layout_constraintStart_toStartOf="parent"
130         app:layout_constraintTop_toBottomOf="@id/test_text_layout"
131         />
132     <TextView
133         android:id="@+id/pattern_transaction_date_label"
134         android:layout_width="match_parent"
135         android:layout_height="wrap_content"
136         android:text="@string/template_details_date_label"
137         android:textAppearance="?attr/textAppearanceListItem"
138         app:layout_constraintEnd_toEndOf="parent"
139         app:layout_constraintStart_toStartOf="parent"
140         app:layout_constraintTop_toBottomOf="@id/transaction_parameters_label"
141         />
142     <TextView
143         android:id="@+id/template_details_year_source_label"
144         android:layout_width="0dp"
145         android:layout_height="wrap_content"
146         android:text="@string/template_details_date_year_source_label"
147         android:textAlignment="center"
148         android:textAppearance="?attr/textAppearanceListItem"
149         app:layout_constraintBottom_toTopOf="@+id/template_details_year_source"
150         app:layout_constraintEnd_toStartOf="@id/template_details_month_source_label"
151         app:layout_constraintStart_toStartOf="parent"
152         app:layout_constraintTop_toBottomOf="@id/pattern_transaction_date_label"
153         />
154     <TextView
155         android:id="@+id/template_details_month_source_label"
156         android:layout_width="0dp"
157         android:layout_height="wrap_content"
158         android:text="@string/template_details_date_month_source_label"
159         android:textAlignment="center"
160         android:textAppearance="?attr/textAppearanceListItem"
161         app:layout_constraintBottom_toTopOf="@+id/template_details_month_source"
162         app:layout_constraintEnd_toStartOf="@id/template_details_day_source_label"
163         app:layout_constraintStart_toEndOf="@id/template_details_year_source_label"
164         app:layout_constraintTop_toBottomOf="@id/pattern_transaction_date_label"
165         />
166     <TextView
167         android:id="@+id/template_details_day_source_label"
168         android:layout_width="0dp"
169         android:layout_height="wrap_content"
170         android:text="@string/template_details_date_day_source_label"
171         android:textAlignment="center"
172         android:textAppearance="?attr/textAppearanceListItem"
173         app:layout_constraintBottom_toTopOf="@+id/template_details_day_source"
174         app:layout_constraintEnd_toEndOf="parent"
175         app:layout_constraintStart_toEndOf="@id/template_details_month_source_label"
176         app:layout_constraintTop_toBottomOf="@id/pattern_transaction_date_label"
177         />
178     <TextView
179         android:id="@+id/template_details_year_source"
180         android:layout_width="0dp"
181         android:layout_height="wrap_content"
182         android:text="@string/template_details_source_literal"
183         android:textAlignment="center"
184         android:textAppearance="?attr/textAppearanceListItemSecondary"
185         app:layout_constraintBottom_toTopOf="@+id/template_details_date_year_layout"
186         app:layout_constraintEnd_toStartOf="@id/template_details_month_source"
187         app:layout_constraintStart_toStartOf="parent"
188         app:layout_constraintTop_toBottomOf="@id/template_details_day_source_label"
189         />
190     <TextView
191         android:id="@+id/template_details_month_source"
192         android:layout_width="0dp"
193         android:layout_height="wrap_content"
194         android:text=""
195         android:textAlignment="center"
196         android:textAppearance="?attr/textAppearanceListItemSecondary"
197         app:layout_constraintBottom_toTopOf="@+id/template_details_date_month_layout"
198         app:layout_constraintEnd_toStartOf="@id/template_details_day_source"
199         app:layout_constraintStart_toEndOf="@id/template_details_year_source"
200         app:layout_constraintTop_toBottomOf="@id/template_details_month_source_label"
201         />
202     <TextView
203         android:id="@+id/template_details_day_source"
204         android:layout_width="0dp"
205         android:layout_height="wrap_content"
206         android:text=""
207         android:textAlignment="center"
208         android:textAppearance="?attr/textAppearanceListItemSecondary"
209         app:layout_constraintBottom_toTopOf="@+id/template_details_date_day_layout"
210         app:layout_constraintEnd_toEndOf="parent"
211         app:layout_constraintStart_toEndOf="@id/template_details_month_source"
212         app:layout_constraintTop_toBottomOf="@id/template_details_day_source_label"
213         />
214     <androidx.constraintlayout.widget.Barrier
215         android:id="@+id/barrier_before_date_inputs"
216         android:layout_width="match_parent"
217         android:layout_height="wrap_content"
218         app:barrierDirection="bottom"
219         app:constraint_referenced_ids="template_details_year_source,template_details_month_source,template_details_day_source"
220         />
221     <com.google.android.material.textfield.TextInputLayout
222         android:id="@+id/template_details_date_year_layout"
223         android:layout_width="0dp"
224         android:layout_height="wrap_content"
225         android:layout_marginBottom="@dimen/text_margin"
226         app:layout_constraintEnd_toEndOf="@id/template_details_year_source"
227         app:layout_constraintStart_toStartOf="parent"
228         app:layout_constraintTop_toBottomOf="@id/barrier_before_date_inputs"
229         >
230         <com.google.android.material.textfield.TextInputEditText
231             android:id="@+id/template_details_date_year"
232             android:layout_width="match_parent"
233             android:layout_height="wrap_content"
234             android:gravity="center_horizontal"
235             android:hint="@string/date_year_hint"
236             android:inputType="number"
237             />
238     </com.google.android.material.textfield.TextInputLayout>
239     <com.google.android.material.textfield.TextInputLayout
240         android:id="@+id/template_details_date_month_layout"
241         android:layout_width="0dp"
242         android:layout_height="wrap_content"
243         android:layout_marginBottom="@dimen/text_margin"
244         app:layout_constraintEnd_toEndOf="@id/template_details_month_source"
245         app:layout_constraintStart_toStartOf="@id/template_details_month_source"
246         app:layout_constraintTop_toBottomOf="@id/barrier_before_date_inputs"
247         >
248         <com.google.android.material.textfield.TextInputEditText
249             android:id="@+id/template_details_date_month"
250             android:layout_width="match_parent"
251             android:layout_height="wrap_content"
252             android:gravity="center_horizontal"
253             android:hint="@string/date_month_hint"
254             android:inputType="number"
255             />
256     </com.google.android.material.textfield.TextInputLayout>
257     <com.google.android.material.textfield.TextInputLayout
258         android:id="@+id/template_details_date_day_layout"
259         android:layout_width="0dp"
260         android:layout_height="wrap_content"
261         android:layout_marginBottom="@dimen/text_margin"
262         app:layout_constraintBottom_toTopOf="@id/barrier_before_description"
263         app:layout_constraintEnd_toEndOf="parent"
264         app:layout_constraintStart_toStartOf="@id/template_details_day_source"
265         app:layout_constraintTop_toBottomOf="@id/barrier_before_date_inputs"
266         >
267         <com.google.android.material.textfield.TextInputEditText
268             android:id="@+id/template_details_date_day"
269             android:layout_width="match_parent"
270             android:layout_height="wrap_content"
271             android:gravity="center_horizontal"
272             android:hint="@string/date_day_hint"
273             android:inputType="number"
274             />
275     </com.google.android.material.textfield.TextInputLayout>
276     <androidx.constraintlayout.widget.Barrier
277         android:id="@+id/barrier_before_description"
278         android:layout_width="match_parent"
279         android:layout_height="wrap_content"
280         android:orientation="horizontal"
281         app:barrierDirection="bottom"
282         app:constraint_referenced_ids="template_details_date_day_layout,template_details_date_month_layout,template_details_date_year_layout"
283         app:layout_constraintEnd_toEndOf="parent"
284         app:layout_constraintStart_toStartOf="parent"
285         />
286     <TextView
287         android:id="@+id/template_transaction_description_source_label"
288         android:layout_width="0dp"
289         android:layout_height="match_parent"
290         android:text="@string/transaction_description_source_label"
291         android:textAppearance="?attr/textAppearanceListItem"
292         app:layout_constraintBottom_toTopOf="@+id/template_transaction_description_source"
293         app:layout_constraintEnd_toEndOf="parent"
294         app:layout_constraintStart_toStartOf="parent"
295         app:layout_constraintTop_toBottomOf="@id/barrier_before_description"
296         />
297     <TextView
298         android:id="@+id/template_transaction_description_source"
299         android:layout_width="0dp"
300         android:layout_height="wrap_content"
301         android:minWidth="100dp"
302         android:textAppearance="?attr/textAppearanceListItemSecondary"
303         app:layout_constraintBottom_toTopOf="@+id/transaction_description_layout"
304         app:layout_constraintEnd_toEndOf="parent"
305         app:layout_constraintStart_toStartOf="parent"
306         app:layout_constraintTop_toBottomOf="@id/template_transaction_description_source_label"
307         />
308     <com.google.android.material.textfield.TextInputLayout
309         android:id="@+id/transaction_description_layout"
310         android:layout_width="match_parent"
311         android:layout_height="wrap_content"
312         android:layout_marginBottom="@dimen/text_margin"
313         app:endIconMode="clear_text"
314         app:layout_constraintBottom_toTopOf="@+id/template_transaction_comment_source_label"
315         app:layout_constraintEnd_toEndOf="parent"
316         app:layout_constraintStart_toStartOf="parent"
317         app:layout_constraintTop_toBottomOf="@id/template_transaction_description_source"
318         >
319         <com.google.android.material.textfield.TextInputEditText
320             android:id="@+id/transaction_description"
321             android:layout_width="match_parent"
322             android:layout_height="wrap_content"
323             android:hint="@string/template_transaction_description_hint"
324             />
325     </com.google.android.material.textfield.TextInputLayout>
326     <TextView
327         android:id="@+id/template_transaction_comment_source_label"
328         android:layout_width="0dp"
329         android:layout_height="match_parent"
330         android:text="@string/transaction_comment_source_label"
331         android:textAppearance="?attr/textAppearanceListItem"
332         app:layout_constraintBottom_toTopOf="@+id/template_transaction_comment_source"
333         app:layout_constraintEnd_toEndOf="parent"
334         app:layout_constraintStart_toStartOf="parent"
335         app:layout_constraintTop_toBottomOf="@id/transaction_description_layout"
336         />
337     <TextView
338         android:id="@+id/template_transaction_comment_source"
339         android:layout_width="0dp"
340         android:layout_height="wrap_content"
341         android:minWidth="100dp"
342         android:textAppearance="?attr/textAppearanceListItemSecondary"
343         app:layout_constraintBottom_toTopOf="@+id/transaction_comment_layout"
344         app:layout_constraintEnd_toEndOf="parent"
345         app:layout_constraintStart_toStartOf="parent"
346         app:layout_constraintTop_toBottomOf="@id/template_transaction_comment_source_label"
347         />
348     <com.google.android.material.textfield.TextInputLayout
349         android:id="@+id/transaction_comment_layout"
350         android:layout_width="match_parent"
351         android:layout_height="wrap_content"
352         android:layout_marginBottom="@dimen/text_margin"
353         app:endIconMode="clear_text"
354         app:layout_constraintBottom_toTopOf="@id/template_is_fallback_label"
355         app:layout_constraintEnd_toEndOf="parent"
356         app:layout_constraintStart_toStartOf="parent"
357         app:layout_constraintTop_toBottomOf="@id/template_transaction_comment_source"
358         >
359         <com.google.android.material.textfield.TextInputEditText
360             android:id="@+id/transaction_comment"
361             android:layout_width="match_parent"
362             android:layout_height="wrap_content"
363             android:hint="@string/template_transaction_comment_hint"
364             />
365     </com.google.android.material.textfield.TextInputLayout>
366     <TextView
367         android:id="@+id/template_is_fallback_label"
368         android:layout_width="0dp"
369         android:layout_height="wrap_content"
370         android:text="@string/template_is_fallback_label"
371         android:textAppearance="?attr/textAppearanceListItem"
372         app:layout_constraintBottom_toTopOf="@+id/template_is_fallback_text"
373         app:layout_constraintEnd_toStartOf="@id/template_is_fallback_switch"
374         app:layout_constraintStart_toStartOf="parent"
375         app:layout_constraintTop_toBottomOf="@id/transaction_comment_layout"
376         />
377     <TextView
378         android:id="@+id/template_is_fallback_text"
379         android:layout_width="0dp"
380         android:layout_height="wrap_content"
381         android:textAppearance="?attr/textAppearanceListItemSecondary"
382         app:layout_constraintBottom_toBottomOf="parent"
383         app:layout_constraintEnd_toStartOf="@id/template_is_fallback_switch"
384         app:layout_constraintStart_toStartOf="parent"
385         app:layout_constraintTop_toBottomOf="@id/template_is_fallback_label"
386         />
387     <com.google.android.material.switchmaterial.SwitchMaterial
388         android:id="@+id/template_is_fallback_switch"
389         android:layout_width="wrap_content"
390         android:layout_height="wrap_content"
391         app:layout_constraintBottom_toBottomOf="@id/template_is_fallback_text"
392         app:layout_constraintEnd_toEndOf="parent"
393         app:layout_constraintTop_toTopOf="@id/template_is_fallback_label"
394         />
395
396
397 </androidx.constraintlayout.widget.ConstraintLayout>