Updated history cell layout

This commit is contained in:
Sylvain Berfini 2022-03-30 17:32:13 +02:00
parent 2e327ac30d
commit e165e73b0e

View file

@ -4,107 +4,116 @@
xmlns:tools="http://schemas.android.com/tools">
<data>
<import type="android.view.View"/>
<import type="android.view.View" />
<variable
name="clickListener"
type="android.view.View.OnClickListener"/>
type="android.view.View.OnClickListener" />
<variable
name="longClickListener"
type="android.view.View.OnLongClickListener"/>
type="android.view.View.OnLongClickListener" />
<variable
name="detailsClickListener"
type="android.view.View.OnClickListener"/>
type="android.view.View.OnClickListener" />
<variable
name="position"
type="Integer"/>
type="Integer" />
<variable
name="viewModel"
type="org.linphone.activities.main.history.viewmodels.CallLogViewModel" />
<variable
name="selectionListViewModel"
type="org.linphone.activities.main.viewmodels.ListTopBarViewModel" />
<variable
name="groupCount"
type="Integer"/>
type="Integer" />
</data>
<RelativeLayout
android:onClick="@{clickListener}"
android:onLongClick="@{longClickListener}"
android:layout_width="match_parent"
android:layout_height="50dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:background="?attr/backgroundColor"
android:gravity="center_vertical">
android:gravity="center_vertical"
android:onClick="@{clickListener}"
android:onLongClick="@{longClickListener}"
android:paddingTop="5dp"
android:paddingBottom="5dp">
<LinearLayout
android:id="@+id/right"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_alignParentRight="true"
android:layout_marginLeft="5dp"
android:layout_marginRight="10dp"
android:layout_alignParentRight="true">
android:orientation="horizontal">
<ImageView
android:onClick="@{detailsClickListener}"
android:enabled="@{!selectionListViewModel.isEditionEnabled}"
android:contentDescription="@string/content_description_show_call_details"
android:layout_width="40dp"
android:layout_height="40dp"
android:adjustViewBounds="true"
android:background="@drawable/history_detail_background"
android:contentDescription="@string/content_description_show_call_details"
android:enabled="@{!selectionListViewModel.isEditionEnabled}"
android:onClick="@{detailsClickListener}"
android:src="@drawable/list_detail" />
<CheckBox
android:onClick="@{() -> selectionListViewModel.onToggleSelect(position)}"
android:visibility="@{selectionListViewModel.isEditionEnabled ? View.VISIBLE : View.GONE, default=gone}"
android:checked="@{selectionListViewModel.selectedItems.contains(position)}"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:checked="@{selectionListViewModel.selectedItems.contains(position)}"
android:onClick="@{() -> selectionListViewModel.onToggleSelect(position)}"
android:paddingLeft="5dp"
android:paddingRight="5dp" />
android:paddingRight="5dp"
android:visibility="@{selectionListViewModel.isEditionEnabled ? View.VISIBLE : View.GONE, default=gone}" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_toLeftOf="@id/right"
android:layout_marginLeft="10dp"
android:layout_toLeftOf="@id/right"
android:gravity="center_vertical">
<ImageView
android:id="@+id/icon"
android:src="@{viewModel.statusIconResource}"
android:contentDescription="@{viewModel.iconContentDescription}"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:adjustViewBounds="true"
android:layout_marginRight="10dp"
android:paddingTop="7dp"
android:paddingBottom="7dp"/>
<org.linphone.contact.ContactAvatarView
android:id="@+id/avatar"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toRightOf="@id/icon"
android:layout_alignParentLeft="true"
android:gravity="center"
app:data="@{viewModel}"
tools:layout="@layout/contact_avatar" />
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginRight="10dp"
android:layout_toRightOf="@id/avatar"
android:adjustViewBounds="true"
android:contentDescription="@{viewModel.iconContentDescription}"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:src="@{viewModel.statusIconResource, default=@drawable/call_status_outgoing}"
android:visibility="@{viewModel.isConferenceCallLog ? View.GONE : View.VISIBLE}" />
<org.linphone.views.MarqueeTextView
android:id="@+id/sip_uri"
android:text="@{(viewModel.isConferenceCallLog ? viewModel.conferenceSubject : viewModel.contact.fullName ?? viewModel.displayName) + (groupCount > 1 ? ` (` + groupCount + `)` : ``)}"
style="@style/contact_name_list_cell_font"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toRightOf="@id/avatar"
android:layout_toRightOf="@id/icon"
android:gravity="center_vertical"
android:singleLine="true" />
android:singleLine="true"
android:text="@{(viewModel.isConferenceCallLog ? viewModel.conferenceSubject : viewModel.contact.fullName ?? viewModel.displayName) + (groupCount > 1 ? ` (` + groupCount + `)` : ``), default=`Frodo Baggins (6)`}" />
</RelativeLayout>