1<?xml version="1.0" encoding="utf-8"?>
2<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 xmlns:app="http://schemas.android.com/apk/res-auto"
4 xmlns:tools="http://schemas.android.com/tools"
5 android:layout_width="match_parent"
6 android:layout_height="match_parent"
7 android:background="?attr/color_background_secondary">
8
9 <ScrollView
10 android:layout_width="fill_parent"
11 android:layout_height="wrap_content"
12 android:layout_above="@+id/button_bar"
13 android:layout_alignParentTop="true">
14
15 <LinearLayout
16 android:id="@+id/account_main_layout"
17 android:layout_width="match_parent"
18 android:layout_height="wrap_content"
19 android:orientation="vertical">
20
21 <RelativeLayout
22 android:id="@+id/editor"
23 android:layout_width="fill_parent"
24 android:layout_height="wrap_content"
25 android:layout_marginBottom="@dimen/activity_vertical_margin"
26 android:layout_marginLeft="@dimen/activity_horizontal_margin"
27 android:layout_marginRight="@dimen/activity_horizontal_margin"
28 android:layout_marginTop="@dimen/activity_vertical_margin"
29 android:background="?attr/infocard_border"
30 android:orientation="vertical"
31 android:padding="@dimen/infocard_padding">
32 <com.makeramen.roundedimageview.RoundedImageView
33 android:id="@+id/avater"
34 android:layout_width="72dp"
35 android:layout_height="72dp"
36 android:layout_alignParentTop="true"
37 android:layout_marginRight="16dp"
38 android:contentDescription="@string/account_image_description"
39 app:riv_corner_radius="2dp"/>
40 <LinearLayout
41 android:layout_width="fill_parent"
42 android:layout_height="wrap_content"
43 android:layout_toRightOf="@+id/avater"
44 android:orientation="vertical">
45 <TextView
46 android:id="@+id/account_jid_label"
47 android:layout_width="wrap_content"
48 android:layout_height="wrap_content"
49 android:text="@string/account_settings_jabber_id"
50 android:textColor="?attr/color_text_primary"
51 android:textSize="?attr/TextSizeBody"/>
52
53 <AutoCompleteTextView
54 android:id="@+id/account_jid"
55 android:layout_width="match_parent"
56 android:layout_height="wrap_content"
57 android:hint="@string/account_settings_example_jabber_id"
58 android:inputType="textEmailAddress"
59 android:textColor="?attr/color_text_primary"
60 android:textColorHint="?attr/color_text_secondary"
61 android:textSize="?attr/TextSizeBody"/>
62
63 <TextView
64 android:layout_width="wrap_content"
65 android:layout_height="wrap_content"
66 android:layout_marginTop="8dp"
67 android:text="@string/account_settings_password"
68 android:textColor="?attr/color_text_primary"
69 android:textSize="?attr/TextSizeBody"/>
70
71 <EditText
72 android:id="@+id/account_password"
73 android:layout_width="match_parent"
74 android:layout_height="wrap_content"
75 android:hint="@string/password"
76 android:inputType="textPassword"
77 android:textColor="?attr/color_text_primary"
78 android:textColorHint="?attr/color_text_secondary"
79 android:textSize="?attr/TextSizeBody"/>
80
81 <LinearLayout
82 android:id="@+id/name_port"
83 android:layout_width="fill_parent"
84 android:layout_height="wrap_content"
85 android:layout_marginTop="8dp"
86 android:orientation="horizontal"
87 android:weightSum="1">
88 <LinearLayout
89 android:layout_width="0dp"
90 android:layout_height="match_parent"
91 android:layout_weight="0.8"
92 android:orientation="vertical">
93 <TextView
94 android:id="@+id/textView"
95 android:layout_width="wrap_content"
96 android:layout_height="wrap_content"
97 android:text="@string/account_settings_hostname"
98 android:textColor="?attr/color_text_primary"
99 android:textSize="?attr/TextSizeBody"/>
100 <EditText
101 android:id="@+id/hostname"
102 android:layout_width="fill_parent"
103 android:layout_height="wrap_content"
104 android:hint="@string/hostname_or_onion"
105 android:inputType="textNoSuggestions"
106 android:textColor="?attr/color_text_primary"
107 android:textColorHint="?attr/color_text_secondary"
108 android:textSize="?attr/TextSizeBody"/>
109 </LinearLayout>
110 <LinearLayout
111 android:layout_width="0dp"
112 android:layout_height="match_parent"
113 android:layout_weight="0.2"
114 android:orientation="vertical"
115 >
116 <TextView
117 android:layout_width="wrap_content"
118 android:layout_height="wrap_content"
119 android:text="@string/account_settings_port"
120 android:textColor="?attr/color_text_primary"
121 android:textSize="?attr/TextSizeBody"/>
122 <EditText
123 android:id="@+id/port"
124 android:layout_width="match_parent"
125 android:layout_height="match_parent"
126 android:inputType="number"
127 android:maxLength="5"
128 android:textColor="?attr/color_text_primary"
129 android:textColorHint="?attr/color_text_secondary"
130 android:textSize="?attr/TextSizeBody"/>
131 </LinearLayout>
132 </LinearLayout>
133 <CheckBox
134 android:id="@+id/account_register_new"
135 android:layout_width="wrap_content"
136 android:layout_height="wrap_content"
137 android:layout_marginTop="8dp"
138 android:text="@string/register_account"
139 android:textColor="?attr/color_text_primary"
140 android:textSize="?attr/TextSizeBody"/>
141
142 <TextView
143 android:id="@+id/account_confirm_password_desc"
144 android:layout_width="wrap_content"
145 android:layout_height="wrap_content"
146 android:text="@string/account_settings_confirm_password"
147 android:textColor="?attr/color_text_primary"
148 android:textSize="?attr/TextSizeBody"
149 android:visibility="gone"/>
150
151 <EditText
152 android:id="@+id/account_password_confirm"
153 android:layout_width="match_parent"
154 android:layout_height="wrap_content"
155 android:layout_marginTop="8dp"
156 android:hint="@string/confirm_password"
157 android:inputType="textPassword"
158 android:textColor="?attr/color_text_primary"
159 android:textColorHint="?attr/color_text_secondary"
160 android:textSize="?attr/TextSizeBody"
161 android:visibility="gone"/>
162 </LinearLayout>
163 </RelativeLayout>
164
165 <RelativeLayout
166 android:id="@+id/os_optimization"
167 android:layout_width="fill_parent"
168 android:layout_height="wrap_content"
169 android:layout_marginBottom="@dimen/activity_vertical_margin"
170 android:layout_marginLeft="@dimen/activity_horizontal_margin"
171 android:layout_marginRight="@dimen/activity_horizontal_margin"
172 android:layout_marginTop="@dimen/activity_vertical_margin"
173 android:background="?attr/infocard_border"
174 android:orientation="vertical"
175 android:padding="@dimen/infocard_padding"
176 android:visibility="gone">
177 <TextView
178 android:id="@+id/os_optimization_headline"
179 android:layout_width="wrap_content"
180 android:layout_height="wrap_content"
181 android:text="@string/battery_optimizations_enabled"
182 android:textColor="?attr/color_text_primary"
183 android:textSize="?attr/TextSizeHeadline"
184 android:textStyle="bold"/>
185 <TextView
186 android:id="@+id/os_optimization_body"
187 android:layout_width="wrap_content"
188 android:layout_height="wrap_content"
189 android:layout_below="@+id/os_optimization_headline"
190 android:layout_marginBottom="8dp"
191 android:layout_marginTop="8dp"
192 android:text="@string/battery_optimizations_enabled_explained"
193 android:textColor="?attr/color_text_primary"
194 android:textSize="?attr/TextSizeBody"/>
195 <Button
196 android:id="@+id/os_optimization_disable"
197 style="?android:attr/borderlessButtonStyle"
198 android:layout_marginRight="-8dp"
199 android:layout_width="wrap_content"
200 android:layout_height="wrap_content"
201 android:layout_alignParentBottom="true"
202 android:layout_alignParentEnd="true"
203 android:layout_alignParentRight="true"
204 android:layout_below="@+id/os_optimization_body"
205 android:text="@string/disable"
206 android:textColor="@color/accent"/>
207 </RelativeLayout>
208
209
210 <LinearLayout
211 android:id="@+id/stats"
212 android:layout_width="fill_parent"
213 android:layout_height="fill_parent"
214 android:layout_marginBottom="@dimen/activity_vertical_margin"
215 android:layout_marginLeft="@dimen/activity_horizontal_margin"
216 android:layout_marginRight="@dimen/activity_horizontal_margin"
217 android:layout_marginTop="@dimen/activity_vertical_margin"
218 android:background="?attr/infocard_border"
219 android:orientation="vertical"
220 android:padding="@dimen/infocard_padding"
221 android:visibility="gone">
222
223 <TableLayout
224 android:layout_width="match_parent"
225 android:layout_height="wrap_content"
226 android:shrinkColumns="0"
227 android:stretchColumns="1">
228
229 <TableRow
230 android:layout_width="fill_parent"
231 android:layout_height="wrap_content"
232 tools:ignore="UselessParent">
233
234 <TextView
235 android:layout_width="wrap_content"
236 android:layout_height="wrap_content"
237 android:text="@string/server_info_session_established"
238 android:textColor="?attr/color_text_primary"
239 android:textSize="?attr/TextSizeBody"
240 android:singleLine="true"
241 android:ellipsize="end"/>
242
243 <TextView
244 android:id="@+id/session_est"
245 android:layout_width="wrap_content"
246 android:layout_height="wrap_content"
247 android:layout_gravity="right"
248 android:paddingLeft="4dp"
249 android:textColor="?attr/color_text_primary"
250 android:textSize="?attr/TextSizeBody"
251 tools:ignore="RtlHardcoded"/>
252 </TableRow>
253
254 </TableLayout>
255 <TableLayout
256 android:id="@+id/server_info_more"
257 android:layout_width="match_parent"
258 android:layout_height="wrap_content"
259 android:shrinkColumns="0"
260 android:stretchColumns="1"
261 android:visibility="gone">
262
263 <TableRow
264 android:layout_width="fill_parent"
265 android:layout_height="wrap_content">
266
267 <TextView
268 android:layout_width="wrap_content"
269 android:layout_height="wrap_content"
270 android:text="@string/server_info_pep"
271 android:textColor="?attr/color_text_primary"
272 android:textSize="?attr/TextSizeBody"
273 android:singleLine="true"
274 android:ellipsize="end"/>
275
276 <TextView
277 android:id="@+id/server_info_pep"
278 android:layout_width="wrap_content"
279 android:layout_height="wrap_content"
280 android:layout_gravity="right"
281 android:paddingLeft="4dp"
282 android:textColor="?attr/color_text_primary"
283 android:textSize="?attr/TextSizeBody"
284 tools:ignore="RtlHardcoded"/>
285 </TableRow>
286
287 <TableRow
288 android:layout_width="fill_parent"
289 android:layout_height="wrap_content">
290
291 <TextView
292 android:layout_width="wrap_content"
293 android:layout_height="wrap_content"
294 android:text="@string/server_info_blocking"
295 android:textColor="?attr/color_text_primary"
296 android:textSize="?attr/TextSizeBody"
297 android:singleLine="true"
298 android:ellipsize="end"/>
299
300 <TextView
301 android:id="@+id/server_info_blocking"
302 android:layout_width="wrap_content"
303 android:layout_height="wrap_content"
304 android:layout_gravity="right"
305 android:paddingLeft="4dp"
306 android:textColor="?attr/color_text_primary"
307 android:textSize="?attr/TextSizeBody"
308 tools:ignore="RtlHardcoded"/>
309 </TableRow>
310
311 <TableRow
312 android:layout_width="fill_parent"
313 android:layout_height="wrap_content">
314
315 <TextView
316 android:layout_width="wrap_content"
317 android:layout_height="wrap_content"
318 android:text="@string/server_info_stream_management"
319 android:textColor="?attr/color_text_primary"
320 android:textSize="?attr/TextSizeBody"
321 android:singleLine="true"
322 android:ellipsize="end"/>
323
324 <TextView
325 android:id="@+id/server_info_sm"
326 android:layout_width="wrap_content"
327 android:layout_height="wrap_content"
328 android:layout_gravity="right"
329 android:paddingLeft="4dp"
330 android:textColor="?attr/color_text_primary"
331 android:textSize="?attr/TextSizeBody"
332 tools:ignore="RtlHardcoded"/>
333 </TableRow>
334
335 <TableRow
336 android:layout_width="fill_parent"
337 android:layout_height="wrap_content">
338
339 <TextView
340 android:layout_width="wrap_content"
341 android:layout_height="wrap_content"
342 android:text="@string/server_info_roster_version"
343 android:textColor="?attr/color_text_primary"
344 android:textSize="?attr/TextSizeBody"
345 android:singleLine="true"
346 android:ellipsize="end"/>
347
348 <TextView
349 android:id="@+id/server_info_roster_version"
350 android:layout_width="wrap_content"
351 android:layout_height="wrap_content"
352 android:layout_gravity="right"
353 android:paddingLeft="4dp"
354 android:textColor="?attr/color_text_primary"
355 android:textSize="?attr/TextSizeBody"
356 tools:ignore="RtlHardcoded"/>
357 </TableRow>
358
359 <TableRow
360 android:layout_width="fill_parent"
361 android:layout_height="wrap_content">
362
363 <TextView
364 android:layout_width="wrap_content"
365 android:layout_height="wrap_content"
366 android:text="@string/server_info_carbon_messages"
367 android:textColor="?attr/color_text_primary"
368 android:textSize="?attr/TextSizeBody"
369 android:singleLine="true"
370 android:ellipsize="end"/>
371
372 <TextView
373 android:id="@+id/server_info_carbons"
374 android:layout_width="wrap_content"
375 android:layout_height="wrap_content"
376 android:layout_gravity="right"
377 android:paddingLeft="4dp"
378 android:textColor="?attr/color_text_primary"
379 android:textSize="?attr/TextSizeBody"
380 tools:ignore="RtlHardcoded"/>
381 </TableRow>
382
383 <TableRow
384 android:layout_width="fill_parent"
385 android:layout_height="wrap_content">
386
387 <TextView
388 android:layout_width="wrap_content"
389 android:layout_height="wrap_content"
390 android:text="@string/server_info_mam"
391 android:textColor="?attr/color_text_primary"
392 android:textSize="?attr/TextSizeBody"
393 android:singleLine="true"
394 android:ellipsize="end"/>
395
396 <TextView
397 android:id="@+id/server_info_mam"
398 android:layout_width="wrap_content"
399 android:layout_height="wrap_content"
400 android:layout_gravity="right"
401 android:paddingLeft="4dp"
402 android:textColor="?attr/color_text_primary"
403 android:textSize="?attr/TextSizeBody"
404 tools:ignore="RtlHardcoded"/>
405 </TableRow>
406
407 <TableRow
408 android:layout_width="fill_parent"
409 android:layout_height="wrap_content">
410
411 <TextView
412 android:layout_width="wrap_content"
413 android:layout_height="wrap_content"
414 android:text="@string/server_info_csi"
415 android:textColor="?attr/color_text_primary"
416 android:textSize="?attr/TextSizeBody"
417 android:singleLine="true"
418 android:ellipsize="end"/>
419
420 <TextView
421 android:id="@+id/server_info_csi"
422 android:layout_width="wrap_content"
423 android:layout_height="wrap_content"
424 android:layout_gravity="right"
425 android:paddingLeft="4dp"
426 android:textColor="?attr/color_text_primary"
427 android:textSize="?attr/TextSizeBody"
428 tools:ignore="RtlHardcoded"/>
429 </TableRow>
430 <TableRow
431 android:id="@+id/push_row"
432 android:layout_width="fill_parent"
433 android:layout_height="wrap_content">
434
435 <TextView
436 android:layout_width="wrap_content"
437 android:layout_height="wrap_content"
438 android:text="@string/server_info_push"
439 android:textColor="?attr/color_text_primary"
440 android:textSize="?attr/TextSizeBody"
441 android:singleLine="true"
442 android:ellipsize="end"/>
443
444 <TextView
445 android:id="@+id/server_info_push"
446 android:layout_width="wrap_content"
447 android:layout_height="wrap_content"
448 android:layout_gravity="right"
449 android:paddingLeft="4dp"
450 android:textColor="?attr/color_text_primary"
451 android:textSize="?attr/TextSizeBody"/>
452 </TableRow>
453 <TableRow
454 android:layout_width="fill_parent"
455 android:layout_height="wrap_content">
456
457 <TextView
458 android:layout_width="wrap_content"
459 android:layout_height="wrap_content"
460 android:text="@string/server_info_http_upload"
461 android:textColor="?attr/color_text_primary"
462 android:textSize="?attr/TextSizeBody"
463 android:singleLine="true"
464 android:ellipsize="end"/>
465
466 <TextView
467 android:id="@+id/server_info_http_upload"
468 android:layout_width="wrap_content"
469 android:layout_height="wrap_content"
470 android:layout_gravity="right"
471 android:paddingLeft="4dp"
472 android:textColor="?attr/color_text_primary"
473 android:textSize="?attr/TextSizeBody"/>
474 </TableRow>
475 </TableLayout>
476
477 <RelativeLayout
478 android:id="@+id/otr_fingerprint_box"
479 android:layout_width="wrap_content"
480 android:layout_height="match_parent"
481 android:layout_marginTop="32dp">
482
483 <LinearLayout
484 android:layout_width="wrap_content"
485 android:layout_height="wrap_content"
486 android:layout_alignParentLeft="true"
487 android:layout_toLeftOf="@+id/action_copy_to_clipboard"
488 android:orientation="vertical">
489
490 <TextView
491 android:id="@+id/otr_fingerprint"
492 android:layout_width="wrap_content"
493 android:layout_height="wrap_content"
494 android:fontFamily="monospace"
495 android:textColor="?attr/color_text_primary"
496 android:textSize="?attr/TextSizeBody"
497 android:typeface="monospace"/>
498
499 <TextView
500 android:layout_width="wrap_content"
501 android:layout_height="wrap_content"
502 android:text="@string/otr_fingerprint"
503 android:textColor="?attr/color_text_secondary"
504 android:textSize="?attr/TextSizeInfo"/>
505 </LinearLayout>
506
507 <ImageButton
508 android:id="@+id/action_copy_to_clipboard"
509 android:layout_width="wrap_content"
510 android:layout_height="wrap_content"
511 android:layout_alignParentRight="true"
512 android:layout_centerVertical="true"
513 android:background="?android:selectableItemBackground"
514 android:contentDescription="@string/copy_otr_clipboard_description"
515 android:padding="@dimen/image_button_padding"
516 android:src="?attr/icon_copy"
517 android:alpha="?attr/icon_alpha"
518 android:visibility="visible"/>
519 </RelativeLayout>
520 <RelativeLayout
521 android:id="@+id/axolotl_fingerprint_box"
522 android:layout_width="wrap_content"
523 android:layout_height="match_parent"
524 android:layout_marginTop="32dp">
525
526 <LinearLayout
527 android:layout_width="wrap_content"
528 android:layout_height="wrap_content"
529 android:layout_alignParentLeft="true"
530 android:layout_toLeftOf="@+id/axolotl_actions"
531 android:orientation="vertical">
532
533 <TextView
534 android:id="@+id/axolotl_fingerprint"
535 android:layout_width="wrap_content"
536 android:layout_height="wrap_content"
537 android:fontFamily="monospace"
538 android:textColor="?attr/color_text_primary"
539 android:textSize="?attr/TextSizeBody"
540 android:typeface="monospace"/>
541
542 <TextView
543 android:id="@+id/own_fingerprint_desc"
544 android:layout_width="wrap_content"
545 android:layout_height="wrap_content"
546 android:text="@string/this_device_omemo_fingerprint"
547 android:textColor="?attr/color_text_secondary"
548 android:textSize="?attr/TextSizeInfo"/>
549 </LinearLayout>
550
551 <LinearLayout
552 android:id="@+id/axolotl_actions"
553 android:layout_width="wrap_content"
554 android:layout_height="wrap_content"
555 android:layout_alignParentRight="true"
556 android:layout_centerVertical="true"
557 android:orientation="vertical">
558
559 <ImageButton
560 android:id="@+id/action_copy_axolotl_to_clipboard"
561 android:layout_width="wrap_content"
562 android:layout_height="wrap_content"
563 android:background="?android:selectableItemBackground"
564 android:contentDescription="@string/copy_omemo_clipboard_description"
565 android:padding="@dimen/image_button_padding"
566 android:src="?attr/icon_copy"
567 android:alpha="?attr/icon_alpha"
568 android:visibility="visible"/>
569 <ImageButton
570 android:id="@+id/action_regenerate_axolotl_key"
571 android:layout_width="wrap_content"
572 android:layout_height="wrap_content"
573 android:background="?android:selectableItemBackground"
574 android:contentDescription="@string/regenerate_omemo_key"
575 android:padding="@dimen/image_button_padding"
576 android:alpha="?attr/icon_alpha"
577 android:src="?attr/icon_refresh"
578 android:visibility="gone"/>
579
580 </LinearLayout>
581 </RelativeLayout>
582 </LinearLayout>
583 <LinearLayout
584 android:id="@+id/other_device_keys_card"
585 android:layout_width="fill_parent"
586 android:layout_height="wrap_content"
587 android:layout_marginBottom="@dimen/activity_vertical_margin"
588 android:layout_marginLeft="@dimen/activity_horizontal_margin"
589 android:layout_marginRight="@dimen/activity_horizontal_margin"
590 android:layout_marginTop="@dimen/activity_vertical_margin"
591 android:background="?attr/infocard_border"
592 android:orientation="vertical"
593 android:padding="@dimen/infocard_padding"
594 android:visibility="gone">
595
596 <TextView
597 android:id="@+id/other_device_keys_title"
598 android:layout_width="wrap_content"
599 android:layout_height="wrap_content"
600 android:text="@string/other_devices"
601 android:textColor="?attr/color_text_primary"
602 android:textSize="?attr/TextSizeHeadline"
603 android:textStyle="bold"/>
604
605 <LinearLayout
606 android:id="@+id/other_device_keys"
607 android:layout_width="fill_parent"
608 android:layout_height="wrap_content"
609 android:divider="?android:dividerHorizontal"
610 android:orientation="vertical"
611 android:showDividers="middle">
612 </LinearLayout>
613 <Button
614 android:id="@+id/clear_devices"
615 style="?android:attr/borderlessButtonStyle"
616 android:layout_width="wrap_content"
617 android:layout_height="wrap_content"
618 android:text="@string/clear_other_devices"
619 android:layout_gravity="center_horizontal"
620 android:textColor="@color/accent"/>
621 </LinearLayout>
622 </LinearLayout>
623 </ScrollView>
624
625 <LinearLayout
626 android:id="@+id/button_bar"
627 android:layout_width="wrap_content"
628 android:layout_height="wrap_content"
629 android:layout_alignParentBottom="true"
630 android:layout_alignParentEnd="true"
631 android:layout_alignParentLeft="true"
632 android:layout_alignParentRight="true"
633 android:layout_alignParentStart="true">
634
635 <Button
636 android:id="@+id/cancel_button"
637 style="?android:attr/borderlessButtonStyle"
638 android:layout_width="0dp"
639 android:layout_height="wrap_content"
640 android:layout_weight="1"
641 android:text="@string/cancel"
642 android:textColor="?attr/color_text_primary"/>
643
644 <View
645 android:layout_width="1dp"
646 android:layout_height="fill_parent"
647 android:layout_marginBottom="7dp"
648 android:layout_marginTop="7dp"
649 android:background="?attr/divider"/>
650
651 <Button
652 android:id="@+id/save_button"
653 style="?android:attr/borderlessButtonStyle"
654 android:layout_width="0dp"
655 android:layout_height="wrap_content"
656 android:layout_weight="1"
657 android:enabled="false"
658 android:text="@string/save"
659 android:textColor="?attr/color_text_secondary"/>
660 </LinearLayout>
661
662</RelativeLayout>