mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-04-20 18:28:32 +00:00
484 lines
No EOL
27 KiB
XML
484 lines
No EOL
27 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
xmlns:bind="http://schemas.android.com/tools">
|
|
|
|
<data>
|
|
<import type="android.view.View" />
|
|
<variable
|
|
name="backClickListener"
|
|
type="View.OnClickListener" />
|
|
<variable
|
|
name="pickImageClickListener"
|
|
type="View.OnClickListener" />
|
|
<variable
|
|
name="deleteImageClickListener"
|
|
type="View.OnClickListener" />
|
|
<variable
|
|
name="copySipUriClickListener"
|
|
type="View.OnClickListener" />
|
|
<variable
|
|
name="prefixTooltipClickListener"
|
|
type="View.OnClickListener" />
|
|
<variable
|
|
name="changeModeClickListener"
|
|
type="View.OnClickListener" />
|
|
<variable
|
|
name="settingsClickListener"
|
|
type="View.OnClickListener" />
|
|
<variable
|
|
name="deleteAccountClickListener"
|
|
type="View.OnClickListener" />
|
|
<variable
|
|
name="viewModel"
|
|
type="org.linphone.ui.main.settings.viewmodel.AccountProfileViewModel" />
|
|
</data>
|
|
|
|
<androidx.constraintlayout.widget.ConstraintLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:background="?attr/color_main2_000">
|
|
|
|
<ImageView
|
|
android:id="@+id/back"
|
|
android:onClick="@{backClickListener}"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="0dp"
|
|
android:adjustViewBounds="true"
|
|
android:padding="15dp"
|
|
android:src="@drawable/caret_left"
|
|
android:contentDescription="@string/content_description_go_back_icon"
|
|
app:tint="?attr/color_main1_500"
|
|
app:layout_constraintBottom_toBottomOf="@id/title"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="@id/title" />
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/section_header_style"
|
|
android:id="@+id/title"
|
|
android:layout_width="0dp"
|
|
android:layout_height="@dimen/top_bar_height"
|
|
android:layout_marginStart="10dp"
|
|
android:layout_marginEnd="10dp"
|
|
android:gravity="center_vertical"
|
|
android:text="@string/manage_account_title"
|
|
android:textColor="?attr/color_main1_500"
|
|
android:textSize="16sp"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintStart_toEndOf="@id/back"
|
|
app:layout_constraintTop_toTopOf="parent"/>
|
|
|
|
<ScrollView
|
|
android:layout_width="0dp"
|
|
android:layout_height="0dp"
|
|
android:fillViewport="true"
|
|
android:background="?attr/color_grey_100"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintTop_toBottomOf="@id/title"
|
|
app:layout_constraintBottom_toBottomOf="parent">
|
|
|
|
<androidx.constraintlayout.widget.ConstraintLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:paddingBottom="@dimen/screen_bottom_margin">
|
|
|
|
<androidx.constraintlayout.widget.Group
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
app:constraint_referenced_ids="details_background, sip_address, sip_address_label, display_name, display_name_label, prefix, prefix_caret, prefix_label, prefix_label_tooltip"
|
|
android:visibility="@{viewModel.expandDetails ? View.VISIBLE : View.GONE}" />
|
|
|
|
<include
|
|
android:id="@+id/avatar"
|
|
android:onClick="@{pickImageClickListener}"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="20dp"
|
|
layout="@layout/contact_avatar_big"
|
|
bind:model="@{viewModel.accountModel}"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent" />
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:onClick="@{pickImageClickListener}"
|
|
style="@style/default_text_style"
|
|
android:id="@+id/add_picture_label"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="10dp"
|
|
android:text="@string/manage_account_add_picture"
|
|
android:textSize="14sp"
|
|
android:drawableStart="@drawable/camera"
|
|
android:drawablePadding="3dp"
|
|
android:visibility="@{viewModel.accountModel.picturePath.length() == 0 ? View.VISIBLE : View.GONE, default=gone}"
|
|
app:layout_constraintTop_toBottomOf="@id/avatar"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintEnd_toEndOf="parent"/>
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:onClick="@{pickImageClickListener}"
|
|
style="@style/default_text_style"
|
|
android:id="@+id/edit_picture_label"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="10dp"
|
|
android:text="@string/manage_account_edit_picture"
|
|
android:textSize="14sp"
|
|
android:drawableStart="@drawable/pencil_simple"
|
|
android:drawablePadding="3dp"
|
|
android:visibility="@{viewModel.accountModel.picturePath.length() == 0 ? View.GONE : View.VISIBLE}"
|
|
app:layout_constraintHorizontal_chainStyle="packed"
|
|
app:layout_constraintTop_toBottomOf="@id/avatar"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintEnd_toStartOf="@id/remove_picture_label"/>
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:onClick="@{deleteImageClickListener}"
|
|
style="@style/default_text_style"
|
|
android:id="@+id/remove_picture_label"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="10dp"
|
|
android:layout_marginStart="16dp"
|
|
android:text="@string/manage_account_remove_picture"
|
|
android:textSize="14sp"
|
|
android:drawableStart="@drawable/trash_simple"
|
|
android:drawablePadding="3dp"
|
|
android:visibility="@{viewModel.accountModel.picturePath.length() == 0 ? View.GONE : View.VISIBLE}"
|
|
app:layout_constraintTop_toBottomOf="@id/avatar"
|
|
app:layout_constraintStart_toEndOf="@id/edit_picture_label"
|
|
app:layout_constraintEnd_toEndOf="parent"/>
|
|
|
|
<androidx.constraintlayout.widget.Barrier
|
|
android:id="@+id/avatar_barrier"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
app:constraint_referenced_ids="remove_picture_label, edit_picture_label, add_picture_label"
|
|
app:barrierDirection="bottom" />
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/section_header_style"
|
|
android:onClick="@{() -> viewModel.toggleDetailsExpand()}"
|
|
android:id="@+id/details"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:padding="5dp"
|
|
android:layout_marginStart="26dp"
|
|
android:layout_marginEnd="26dp"
|
|
android:layout_marginTop="32dp"
|
|
android:text="@string/manage_account_details_title"
|
|
android:drawableEnd="@{viewModel.expandDetails ? @drawable/caret_up : @drawable/caret_down, default=@drawable/caret_up}"
|
|
android:drawableTint="?attr/color_main2_600"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintTop_toBottomOf="@id/avatar_barrier"/>
|
|
|
|
<ImageView
|
|
android:id="@+id/details_background"
|
|
android:layout_width="0dp"
|
|
android:layout_height="0dp"
|
|
android:layout_marginTop="8dp"
|
|
android:layout_marginStart="16dp"
|
|
android:layout_marginEnd="16dp"
|
|
android:layout_marginBottom="-20dp"
|
|
android:contentDescription="@null"
|
|
android:src="@drawable/shape_squircle_white_background"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintTop_toBottomOf="@id/details"
|
|
app:layout_constraintBottom_toBottomOf="@id/prefix"/>
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/header_style"
|
|
android:id="@+id/sip_address_label"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="16dp"
|
|
android:layout_marginTop="20dp"
|
|
android:paddingTop="8dp"
|
|
android:paddingBottom="8dp"
|
|
android:text="@string/sip_address"
|
|
app:layout_constraintStart_toStartOf="@id/details_background"
|
|
app:layout_constraintTop_toTopOf="@id/details_background"/>
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/default_text_style"
|
|
android:id="@+id/sip_address"
|
|
android:onClick="@{copySipUriClickListener}"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="5dp"
|
|
android:layout_marginEnd="5dp"
|
|
android:paddingTop="8dp"
|
|
android:paddingBottom="8dp"
|
|
android:text="@={viewModel.sipAddress, default=`sip:johndoe@sip.example.org`}"
|
|
android:textSize="13sp"
|
|
android:maxLines="2"
|
|
android:ellipsize="end"
|
|
android:drawableEnd="@drawable/copy"
|
|
android:drawablePadding="5dp"
|
|
app:layout_constraintStart_toEndOf="@id/sip_address_label"
|
|
app:layout_constraintEnd_toEndOf="@id/details_background"
|
|
app:layout_constraintTop_toTopOf="@id/sip_address_label"
|
|
app:layout_constraintBottom_toBottomOf="@id/sip_address_label"/>
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/header_style"
|
|
android:id="@+id/display_name_label"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="16dp"
|
|
android:layout_marginTop="16dp"
|
|
android:paddingTop="8dp"
|
|
android:paddingBottom="8dp"
|
|
android:text="@string/sip_address_display_name"
|
|
app:layout_constraintStart_toStartOf="@id/details_background"
|
|
app:layout_constraintTop_toBottomOf="@id/sip_address"/>
|
|
|
|
<androidx.appcompat.widget.AppCompatEditText
|
|
style="@style/default_text_style"
|
|
android:id="@+id/display_name"
|
|
android:layout_width="0dp"
|
|
android:layout_height="50dp"
|
|
android:layout_marginEnd="16dp"
|
|
android:layout_marginTop="5dp"
|
|
android:paddingStart="20dp"
|
|
android:paddingEnd="20dp"
|
|
android:text="@={viewModel.displayName, default=`John Doe`}"
|
|
android:textSize="14sp"
|
|
android:textColor="@color/gray_main2_600"
|
|
android:maxLines="1"
|
|
android:background="@drawable/edit_text_background"
|
|
android:inputType="text|textPersonName|textCapSentences"
|
|
app:layout_constraintHorizontal_bias="0"
|
|
app:layout_constraintWidth_max="@dimen/text_input_max_width"
|
|
app:layout_constraintTop_toBottomOf="@id/display_name_label"
|
|
app:layout_constraintStart_toStartOf="@id/display_name_label"
|
|
app:layout_constraintEnd_toEndOf="@id/details_background"/>
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/header_style"
|
|
android:id="@+id/prefix_label"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="16dp"
|
|
android:layout_marginTop="16dp"
|
|
android:paddingTop="8dp"
|
|
android:paddingBottom="8dp"
|
|
android:text="@string/manage_account_international_prefix"
|
|
app:layout_constraintStart_toStartOf="@id/details_background"
|
|
app:layout_constraintTop_toBottomOf="@id/display_name"/>
|
|
|
|
<ImageView
|
|
android:id="@+id/prefix_label_tooltip"
|
|
android:onClick="@{prefixTooltipClickListener}"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="8dp"
|
|
android:src="@drawable/info"
|
|
android:contentDescription="@string/content_description_click_for_more_info"
|
|
app:tint="@color/black"
|
|
app:layout_constraintTop_toTopOf="@id/prefix_label"
|
|
app:layout_constraintBottom_toBottomOf="@id/prefix_label"
|
|
app:layout_constraintStart_toEndOf="@id/prefix_label" />
|
|
|
|
<androidx.appcompat.widget.AppCompatSpinner
|
|
style="@style/default_text_style"
|
|
android:id="@+id/prefix"
|
|
android:layout_width="0dp"
|
|
android:layout_height="50dp"
|
|
android:layout_marginEnd="16dp"
|
|
android:layout_marginTop="5dp"
|
|
android:paddingStart="20dp"
|
|
android:paddingEnd="20dp"
|
|
android:textSize="14sp"
|
|
android:textColor="@color/gray_main2_600"
|
|
android:gravity="center_vertical"
|
|
android:overlapAnchor="false"
|
|
android:dropDownVerticalOffset="25dp"
|
|
android:spinnerMode="dropdown"
|
|
android:popupBackground="@drawable/shape_squircle_white_background"
|
|
android:background="@drawable/edit_text_background"
|
|
app:layout_constraintTop_toBottomOf="@id/prefix_label"
|
|
app:layout_constraintStart_toStartOf="@id/prefix_label"
|
|
app:layout_constraintEnd_toEndOf="@id/details_background" />
|
|
|
|
<ImageView
|
|
android:id="@+id/prefix_caret"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginEnd="16dp"
|
|
android:src="@drawable/caret_down"
|
|
android:contentDescription="@null"
|
|
app:layout_constraintTop_toTopOf="@id/prefix"
|
|
app:layout_constraintBottom_toBottomOf="@id/prefix"
|
|
app:layout_constraintEnd_toEndOf="@id/prefix"/>
|
|
|
|
<ImageView
|
|
android:id="@+id/connection_background"
|
|
android:layout_width="0dp"
|
|
android:layout_height="0dp"
|
|
android:layout_marginTop="16dp"
|
|
android:layout_marginStart="16dp"
|
|
android:layout_marginEnd="16dp"
|
|
android:contentDescription="@null"
|
|
android:src="@drawable/shape_squircle_white_background"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintTop_toBottomOf="@id/details_background"
|
|
app:layout_constraintBottom_toBottomOf="@id/connected_summary"/>
|
|
|
|
<com.google.android.material.materialswitch.MaterialSwitch
|
|
style="@style/material_switch_style"
|
|
android:onClick="@{() -> viewModel.toggleRegister()}"
|
|
android:id="@+id/connected_switch"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="16dp"
|
|
android:layout_marginTop="20dp"
|
|
android:checked="@{viewModel.registerEnabled, default=true}"
|
|
app:layout_constraintStart_toStartOf="@id/connection_background"
|
|
app:layout_constraintTop_toTopOf="@id/connection_background" />
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/header_style"
|
|
android:id="@+id/connected_label"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="16dp"
|
|
android:text="@{viewModel.accountModel.registrationStateLabel, default=@string/drawer_menu_account_connection_status_connected}"
|
|
app:layout_constraintStart_toEndOf="@id/connected_switch"
|
|
app:layout_constraintTop_toTopOf="@id/connected_switch"
|
|
app:layout_constraintBottom_toBottomOf="@id/connected_switch" />
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/default_text_style"
|
|
android:id="@+id/connected_summary"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="16dp"
|
|
android:layout_marginEnd="16dp"
|
|
android:layout_marginTop="16dp"
|
|
android:textSize="14sp"
|
|
android:paddingBottom="20dp"
|
|
android:text="@{viewModel.accountModel.registrationStateSummary, default=@string/manage_account_status_connected_summary}"
|
|
app:layout_constraintStart_toStartOf="@id/connection_background"
|
|
app:layout_constraintEnd_toEndOf="@id/connection_background"
|
|
app:layout_constraintTop_toBottomOf="@id/connected_label" />
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/section_header_style"
|
|
android:onClick="@{() -> viewModel.toggleDevicesExpand()}"
|
|
android:id="@+id/devices"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:padding="5dp"
|
|
android:layout_marginStart="26dp"
|
|
android:layout_marginEnd="26dp"
|
|
android:layout_marginTop="32dp"
|
|
android:text="@string/manage_account_devices_title"
|
|
android:drawableEnd="@{viewModel.expandDevices ? @drawable/caret_up : @drawable/caret_down, default=@drawable/caret_up}"
|
|
android:drawableTint="@color/gray_main2_600"
|
|
android:visibility="gone"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintTop_toBottomOf="@id/connection_background"/>
|
|
|
|
<LinearLayout
|
|
android:id="@+id/devices_list"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="vertical"
|
|
android:layout_marginTop="8dp"
|
|
android:layout_marginBottom="8dp"
|
|
android:layout_marginStart="16dp"
|
|
android:layout_marginEnd="16dp"
|
|
android:paddingTop="6dp"
|
|
android:paddingStart="16dp"
|
|
android:paddingEnd="16dp"
|
|
android:paddingBottom="20dp"
|
|
android:background="@drawable/shape_squircle_white_background"
|
|
android:visibility="@{viewModel.expandDevices ? View.VISIBLE : View.GONE, default=gone}"
|
|
app:entries="@{viewModel.devices}"
|
|
app:layout="@{@layout/account_profile_device_list_cell}"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintTop_toBottomOf="@id/devices" />
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
style="@style/section_header_style"
|
|
android:id="@+id/actions"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:padding="5dp"
|
|
android:layout_marginStart="26dp"
|
|
android:layout_marginEnd="26dp"
|
|
android:layout_marginTop="16dp"
|
|
android:text="@string/contact_details_actions_title"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintTop_toBottomOf="@id/devices_list"/>
|
|
|
|
<ImageView
|
|
android:id="@+id/actions_background"
|
|
android:layout_width="0dp"
|
|
android:layout_height="0dp"
|
|
android:layout_marginTop="8dp"
|
|
android:layout_marginStart="16dp"
|
|
android:layout_marginEnd="16dp"
|
|
android:contentDescription="@null"
|
|
android:src="@drawable/shape_squircle_white_background"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintTop_toBottomOf="@id/actions"
|
|
app:layout_constraintBottom_toBottomOf="@id/action_delete" />
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:onClick="@{settingsClickListener}"
|
|
style="@style/context_menu_action_label_style"
|
|
android:id="@+id/action_settings"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="16dp"
|
|
android:layout_marginEnd="16dp"
|
|
android:background="@drawable/action_background"
|
|
android:text="@string/manage_account_settings"
|
|
android:drawableStart="@drawable/gear"
|
|
android:visibility="@{viewModel.hideAccountSettings ? View.GONE : View.VISIBLE}"
|
|
app:layout_constraintTop_toTopOf="@id/actions_background"
|
|
app:layout_constraintStart_toStartOf="@id/actions_background"
|
|
app:layout_constraintEnd_toEndOf="@id/actions_background"/>
|
|
|
|
<View
|
|
android:layout_width="0dp"
|
|
android:layout_height="1dp"
|
|
android:background="?attr/color_main2_200"
|
|
app:layout_constraintStart_toStartOf="@id/action_settings"
|
|
app:layout_constraintEnd_toEndOf="@id/action_settings"
|
|
app:layout_constraintTop_toBottomOf="@+id/action_settings"/>
|
|
|
|
<androidx.appcompat.widget.AppCompatTextView
|
|
android:onClick="@{deleteAccountClickListener}"
|
|
style="@style/context_menu_danger_action_label_style"
|
|
android:id="@+id/action_delete"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="16dp"
|
|
android:layout_marginEnd="16dp"
|
|
android:layout_marginBottom="@dimen/screen_bottom_margin"
|
|
android:background="@drawable/action_background"
|
|
android:text="@string/manage_account_delete"
|
|
android:drawableStart="@drawable/trash_simple"
|
|
app:layout_constraintTop_toBottomOf="@id/action_settings"
|
|
app:layout_constraintStart_toStartOf="@id/actions_background"
|
|
app:layout_constraintEnd_toEndOf="@id/actions_background"/>
|
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
|
</ScrollView>
|
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
|
</layout> |