diff --git a/app/src/main/res/layout/voip_buttons.xml b/app/src/main/res/layout/voip_buttons.xml
index 7a4cd50c2..549380390 100644
--- a/app/src/main/res/layout/voip_buttons.xml
+++ b/app/src/main/res/layout/voip_buttons.xml
@@ -18,136 +18,117 @@
+ app:layout_constraintStart_toStartOf="parent" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ app:layout_constraintDimensionRatio="W,1:1"
+ app:layout_constraintEnd_toStartOf="@id/speaker"
+ app:layout_constraintHorizontal_chainStyle="packed"
+ app:layout_constraintStart_toEndOf="@id/hangup" />
-
+
-
+
-
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/voip_buttons_extra.xml b/app/src/main/res/layout/voip_buttons_extra.xml
index 9b5db6f10..03e40fbac 100644
--- a/app/src/main/res/layout/voip_buttons_extra.xml
+++ b/app/src/main/res/layout/voip_buttons_extra.xml
@@ -1,6 +1,7 @@
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools">
@@ -15,165 +16,175 @@
type="org.linphone.activities.voip.viewmodels.ConferenceViewModel" />
-
+ android:gravity="center">
-
+ android:gravity="center"
+ android:onClick="@{() -> controlsViewModel.showNumpad()}"
+ android:text="@string/call_action_numpad"
+ app:drawableTopCompat="@drawable/icon_call_numpad"
+ app:layout_constraintBottom_toBottomOf="@id/chat"
+ app:layout_constraintEnd_toStartOf="@id/call_stats"
+ app:layout_constraintHorizontal_chainStyle="spread"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="@id/chat"/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:gravity="center"
+ android:onClick="@{() -> controlsViewModel.showCallStats(false)}"
+ android:text="@string/call_action_statistics"
+ app:drawableTopCompat="@drawable/icon_call_stats"
+ app:layout_constraintBottom_toBottomOf="@id/chat"
+ app:layout_constraintEnd_toStartOf="@id/chat"
+ app:layout_constraintStart_toEndOf="@id/numpad"
+ app:layout_constraintTop_toTopOf="@id/chat" />
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/voip_buttons_incoming.xml b/app/src/main/res/layout/voip_buttons_incoming.xml
index c9acbf3ab..efffbe663 100644
--- a/app/src/main/res/layout/voip_buttons_incoming.xml
+++ b/app/src/main/res/layout/voip_buttons_incoming.xml
@@ -11,50 +11,38 @@
+ android:layout_height="@dimen/voip_buttons_fragment_size">
-
+ app:layout_constraintDimensionRatio="W,1.26:1"
+ app:layout_constraintEnd_toStartOf="@id/answer"
+ app:layout_constraintHorizontal_chainStyle="packed"
+ app:layout_constraintStart_toStartOf="parent"/>
-
-
-
-
-
-
-
+
diff --git a/app/src/main/res/layout/voip_buttons_outgoing.xml b/app/src/main/res/layout/voip_buttons_outgoing.xml
index 99a7ab394..7cb9d7056 100644
--- a/app/src/main/res/layout/voip_buttons_outgoing.xml
+++ b/app/src/main/res/layout/voip_buttons_outgoing.xml
@@ -11,87 +11,68 @@
+ android:layout_height="@dimen/voip_buttons_fragment_size">
-
-
-
-
-
-
-
-
-
-
-
+ app:layout_constraintDimensionRatio="W,1:1"
+ app:layout_constraintEnd_toStartOf="@id/speaker"
+ app:layout_constraintHorizontal_chainStyle="packed"
+ app:layout_constraintStart_toStartOf="@id/hangup"/>
-
+
-
+
diff --git a/app/src/main/res/layout/voip_call_incoming_fragment.xml b/app/src/main/res/layout/voip_call_incoming_fragment.xml
index 99449cf91..794bd7ab0 100644
--- a/app/src/main/res/layout/voip_call_incoming_fragment.xml
+++ b/app/src/main/res/layout/voip_call_incoming_fragment.xml
@@ -12,7 +12,7 @@
type="org.linphone.activities.voip.viewmodels.ControlsViewModel" />
-
@@ -22,100 +22,93 @@
android:layout_width="match_parent"
android:layout_height="match_parent" />
-
-
-
-
-
-
-
-
-
-
-
+ android:indeterminate="true"
+ android:indeterminateDrawable="@drawable/icon_spinner_rotating"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
-
-
-
-
-
-
-
-
-
+ android:layout_marginTop="10dp"
+ android:text="@string/call_incoming_title"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/progress" />
-
+
-
+
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/voip_call_outgoing_fragment.xml b/app/src/main/res/layout/voip_call_outgoing_fragment.xml
index 3ab17e027..a119a0060 100644
--- a/app/src/main/res/layout/voip_call_outgoing_fragment.xml
+++ b/app/src/main/res/layout/voip_call_outgoing_fragment.xml
@@ -12,115 +12,108 @@
type="org.linphone.activities.voip.viewmodels.ControlsViewModel" />
-
-
-
-
-
-
-
-
-
-
-
-
+ android:indeterminate="true"
+ android:indeterminateDrawable="@drawable/icon_spinner_rotating"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
-
-
-
-
-
-
-
-
-
+ android:layout_marginTop="10dp"
+ android:text="@string/call_outgoing_title"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/progress" />
-
+
-
+
+
+
+
+
+
+
+ android:layout="@layout/voip_numpad"
+ android:visibility="@{controlsViewModel.numpadVisible ? View.VISIBLE : View.GONE, default=gone}"
+ app:controlsViewModel="@{controlsViewModel}"
+ app:inflatedVisibility="@{controlsViewModel.numpadVisible ? View.VISIBLE : View.GONE}" />
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/voip_call_paused.xml b/app/src/main/res/layout/voip_call_paused.xml
index 1bbc392c6..487cf84c3 100644
--- a/app/src/main/res/layout/voip_call_paused.xml
+++ b/app/src/main/res/layout/voip_call_paused.xml
@@ -1,5 +1,6 @@
-
+
@@ -11,47 +12,54 @@
type="Integer" />
-
+ android:focusable="true"
+ android:visibility="@{inflatedVisibility}">
-
+
+
+ android:text="@string/call_locally_paused_title"
+ app:layout_constraintBottom_toTopOf="@id/paused_subtitle"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/resume_call" />
-
+
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/voip_call_paused_by_remote.xml b/app/src/main/res/layout/voip_call_paused_by_remote.xml
index a003842cf..9e4d0df1e 100644
--- a/app/src/main/res/layout/voip_call_paused_by_remote.xml
+++ b/app/src/main/res/layout/voip_call_paused_by_remote.xml
@@ -1,5 +1,6 @@
-
+
@@ -8,34 +9,41 @@
type="Integer" />
-
+ android:focusable="true"
+ android:visibility="@{inflatedVisibility}">
+ android:src="@drawable/voip_conference_paused_big"
+ app:layout_constraintBottom_toTopOf="@id/paused_title"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintVertical_chainStyle="packed" />
+ android:text="@string/call_remotely_paused_title"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/paused_call" />
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/voip_call_stats.xml b/app/src/main/res/layout/voip_call_stats.xml
index d7f148140..4062e8d3b 100644
--- a/app/src/main/res/layout/voip_call_stats.xml
+++ b/app/src/main/res/layout/voip_call_stats.xml
@@ -18,49 +18,52 @@
+ android:visibility="@{inflatedVisibility}">
-
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintWidth_max="@dimen/voip_views_max_width" />
-
+
-
+
+
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ app:entries="@{statsViewModel.callStatsList}"
+ app:layout="@{@layout/voip_call_stats_cell}" />
-
-
-
-
-
+
diff --git a/app/src/main/res/layout/voip_conference_paused.xml b/app/src/main/res/layout/voip_conference_paused.xml
index 62528a2f3..2f308c37b 100644
--- a/app/src/main/res/layout/voip_conference_paused.xml
+++ b/app/src/main/res/layout/voip_conference_paused.xml
@@ -1,5 +1,6 @@
-
+
@@ -11,47 +12,54 @@
type="Integer" />
-
+ android:focusable="true"
+ android:visibility="@{inflatedVisibility}">
-
+
+
+ android:text="@string/conference_paused_title"
+ app:layout_constraintBottom_toTopOf="@id/out_of_conf_subtitle"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/resume_conference" />
-
+
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/voip_contact_avatar_alt.xml b/app/src/main/res/layout/voip_contact_avatar_alt.xml
index 3be1438c0..e8084754d 100644
--- a/app/src/main/res/layout/voip_contact_avatar_alt.xml
+++ b/app/src/main/res/layout/voip_contact_avatar_alt.xml
@@ -15,7 +15,7 @@
+ android:maxHeight="@dimen/voip_contact_avatar_max_height">
-
+ android:clickable="true"
+ android:focusable="true">
-
+
+
+
+
+
+
+
+
+
+
+
+
+ android:padding="10dp"
+ android:layout_marginStart="20dp"
+ android:layout_marginEnd="20dp"
+ android:gravity="center"
+ android:text="@{viewModel.message, default=Message}"
+ app:layout_constraintBottom_toTopOf="@id/top_barrier"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/voip_dialog_info.xml b/app/src/main/res/layout/voip_dialog_info.xml
index 0a1bc924b..16e57a6de 100644
--- a/app/src/main/res/layout/voip_dialog_info.xml
+++ b/app/src/main/res/layout/voip_dialog_info.xml
@@ -1,5 +1,6 @@
-
+
@@ -11,49 +12,59 @@
type="android.view.View.OnClickListener" />
-
+ android:focusable="true">
-
+
+
+ android:layout_marginStart="30dp"
+ android:layout_marginEnd="30dp"
+ android:layout_marginBottom="20dp"
+ android:gravity="center"
+ android:text="@{dialogMessage}"
+ app:layout_constraintBottom_toTopOf="@id/ok_button"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"/>
-
+
-
-
-
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/voip_numpad.xml b/app/src/main/res/layout/voip_numpad.xml
index 93cfe7873..c2438a6fa 100644
--- a/app/src/main/res/layout/voip_numpad.xml
+++ b/app/src/main/res/layout/voip_numpad.xml
@@ -15,144 +15,184 @@
+ android:visibility="@{inflatedVisibility}">
-
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintWidth_max="@dimen/voip_views_max_width" />
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/app/src/main/res/values/dimen.xml b/app/src/main/res/values/dimen.xml
index 564b5510d..c1cb719fe 100644
--- a/app/src/main/res/values/dimen.xml
+++ b/app/src/main/res/values/dimen.xml
@@ -57,4 +57,6 @@
60dp
50dp
30dp
+ 137dp
+ 200dp
\ No newline at end of file