diff --git a/app/src/main/java/org/linphone/views/MarqueeTextView.java b/app/src/main/java/org/linphone/views/MarqueeTextView.java
new file mode 100644
index 000000000..a18fe85fb
--- /dev/null
+++ b/app/src/main/java/org/linphone/views/MarqueeTextView.java
@@ -0,0 +1,60 @@
+package org.linphone.views;
+
+/*
+MarqueeTextView.java
+Copyright (C) 2019 Belledonne Communications, Grenoble, France
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*/
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.text.TextUtils;
+import android.util.AttributeSet;
+import android.widget.TextView;
+import androidx.annotation.Nullable;
+
+/**
+ * The purpose of this class is to have a Textview automatically configured for marquee ellipsize
+ */
+@SuppressLint("AppCompatCustomView")
+public class MarqueeTextView extends TextView {
+ public MarqueeTextView(Context context) {
+ super(context);
+ init();
+ }
+
+ public MarqueeTextView(Context context, @Nullable AttributeSet attrs) {
+ super(context, attrs);
+ init();
+ }
+
+ public MarqueeTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ init();
+ }
+
+ public MarqueeTextView(
+ Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+ super(context, attrs, defStyleAttr, defStyleRes);
+ init();
+ }
+
+ public void init() {
+ setEllipsize(TextUtils.TruncateAt.MARQUEE);
+ setMarqueeRepeatLimit(0xffffffff);
+ setSelected(true);
+ }
+}
diff --git a/app/src/main/res/layout-land/history_detail.xml b/app/src/main/res/layout-land/history_detail.xml
index f204c8e2b..ac5d70cce 100644
--- a/app/src/main/res/layout-land/history_detail.xml
+++ b/app/src/main/res/layout-land/history_detail.xml
@@ -78,11 +78,13 @@
style="@style/big_contact_name_font"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:gravity="center_horizontal" />
+ android:gravity="center_horizontal"
+ android:maxLines="2"/>
-
diff --git a/app/src/main/res/layout-land/main.xml b/app/src/main/res/layout-land/main.xml
index 2eeaadd85..e8865a8bb 100644
--- a/app/src/main/res/layout-land/main.xml
+++ b/app/src/main/res/layout-land/main.xml
@@ -46,7 +46,8 @@
android:layout_height="match_parent"
android:layout_weight="0.6"
android:gravity="center"
- android:maxLines="1"
+ android:singleLine="true"
+ android:ellipsize="end"
android:padding="15dp" />
-
diff --git a/app/src/main/res/layout-sw533dp/main.xml b/app/src/main/res/layout-sw533dp/main.xml
index f8f442673..95bf4f6ba 100644
--- a/app/src/main/res/layout-sw533dp/main.xml
+++ b/app/src/main/res/layout-sw533dp/main.xml
@@ -46,7 +46,8 @@
android:layout_height="match_parent"
android:layout_weight="0.6"
android:gravity="center"
- android:maxLines="1"
+ android:ellipsize="end"
+ android:singleLine="true"
android:padding="15dp" />
diff --git a/app/src/main/res/layout/assistant_topbar.xml b/app/src/main/res/layout/assistant_topbar.xml
index 5f43c5608..bccce7681 100644
--- a/app/src/main/res/layout/assistant_topbar.xml
+++ b/app/src/main/res/layout/assistant_topbar.xml
@@ -23,7 +23,8 @@
android:layout_height="match_parent"
android:layout_weight="0.6"
android:gravity="center"
- android:maxLines="1"
+ android:singleLine="true"
+ android:ellipsize="end"
android:padding="15dp"
android:text="@string/assistant"/>
diff --git a/app/src/main/res/layout/call_conference_cell.xml b/app/src/main/res/layout/call_conference_cell.xml
index eac7d8a1b..1646cfc73 100644
--- a/app/src/main/res/layout/call_conference_cell.xml
+++ b/app/src/main/res/layout/call_conference_cell.xml
@@ -31,13 +31,13 @@
android:paddingRight="10dp"
android:orientation="vertical">
-
+ android:singleLine="true"/>
diff --git a/app/src/main/res/layout/call_inactive_row.xml b/app/src/main/res/layout/call_inactive_row.xml
index 2955ba396..0d3bf6cab 100644
--- a/app/src/main/res/layout/call_inactive_row.xml
+++ b/app/src/main/res/layout/call_inactive_row.xml
@@ -17,14 +17,14 @@
-
diff --git a/app/src/main/res/layout/call_incoming.xml b/app/src/main/res/layout/call_incoming.xml
index 1d907cdd1..4d8f59187 100644
--- a/app/src/main/res/layout/call_incoming.xml
+++ b/app/src/main/res/layout/call_incoming.xml
@@ -46,7 +46,7 @@
android:gravity="center_vertical|center_horizontal"
android:paddingTop="5dp" />
-
-
-
+ android:singleLine="true" />
-
+ android:singleLine="true" />
-
+ android:singleLine="true" />
diff --git a/app/src/main/res/layout/chat_device_cell.xml b/app/src/main/res/layout/chat_device_cell.xml
index 6eded9512..1ea6e87af 100644
--- a/app/src/main/res/layout/chat_device_cell.xml
+++ b/app/src/main/res/layout/chat_device_cell.xml
@@ -6,7 +6,7 @@
android:background="?attr/backgroundColor2"
android:gravity="center_vertical">
-
+ android:singleLine="true" />
-
+ android:singleLine="true" />
-
+ android:singleLine="true" />
-
+ android:singleLine="true"/>
diff --git a/app/src/main/res/layout/chat_devices.xml b/app/src/main/res/layout/chat_devices.xml
index 3df5ad201..a084428ed 100644
--- a/app/src/main/res/layout/chat_devices.xml
+++ b/app/src/main/res/layout/chat_devices.xml
@@ -26,9 +26,9 @@
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.8"
- android:ellipsize="marquee"
android:gravity="center"
android:padding="15dp"
+ android:ellipsize="end"
android:singleLine="true"
android:text="@string/group_chat_room_devices" />
diff --git a/app/src/main/res/layout/chat_imdn_cell.xml b/app/src/main/res/layout/chat_imdn_cell.xml
index 2a3e9adb9..c2d2ef22d 100644
--- a/app/src/main/res/layout/chat_imdn_cell.xml
+++ b/app/src/main/res/layout/chat_imdn_cell.xml
@@ -53,23 +53,19 @@
android:layout_toRightOf="@id/avatar"
android:orientation="vertical">
-
+ android:singleLine="true" />
-
+ android:singleLine="true" />
diff --git a/app/src/main/res/layout/chat_infos.xml b/app/src/main/res/layout/chat_infos.xml
index e851ee9d4..f1856ab03 100644
--- a/app/src/main/res/layout/chat_infos.xml
+++ b/app/src/main/res/layout/chat_infos.xml
@@ -33,7 +33,7 @@
android:layout_weight="0.4"
android:ellipsize="end"
android:gravity="center"
- android:maxLines="1"
+ android:singleLine="true"
android:text="@string/chat_room_infos_title" />
-
+ android:singleLine="true" />
-
+ android:singleLine="true" />
diff --git a/app/src/main/res/layout/chatlist_cell.xml b/app/src/main/res/layout/chatlist_cell.xml
index 6883b6d68..e0ba3d1b5 100644
--- a/app/src/main/res/layout/chatlist_cell.xml
+++ b/app/src/main/res/layout/chatlist_cell.xml
@@ -42,7 +42,7 @@
android:layout_height="wrap_content"
android:layout_below="@id/avatar_layout"
android:layout_marginTop="5dp"
- android:maxLines="1" />
+ android:singleLine="true" />
@@ -51,15 +51,13 @@
android:layout_height="match_parent"
android:paddingLeft="10dp">
-
+ android:singleLine="true"
+ android:ellipsize="end"/>
+ android:gravity="center_horizontal"
+ android:layout_gravity="center" />
-
+ android:singleLine="true" />
+ android:singleLine="true"
+ android:maxEms="2"/>
+ android:singleLine="true"
+ android:maxEms="2" />
+ android:singleLine="true"
+ android:maxEms="2" />
+ android:singleLine="true"
+ android:maxEms="2" />
-
+ android:singleLine="true" />
-
+ android:singleLine="true" />
diff --git a/app/src/main/res/layout/history_cell.xml b/app/src/main/res/layout/history_cell.xml
index 91302a2ad..6b67bb56b 100644
--- a/app/src/main/res/layout/history_cell.xml
+++ b/app/src/main/res/layout/history_cell.xml
@@ -84,17 +84,15 @@
android:padding="7dp"
android:src="@drawable/call_status_incoming" />
-
+ android:singleLine="true" />
diff --git a/app/src/main/res/layout/history_detail.xml b/app/src/main/res/layout/history_detail.xml
index d1b521a34..7dd5b2b61 100644
--- a/app/src/main/res/layout/history_detail.xml
+++ b/app/src/main/res/layout/history_detail.xml
@@ -77,9 +77,10 @@
android:layout_height="wrap_content"
android:gravity="center_horizontal" />
-
diff --git a/app/src/main/res/layout/main.xml b/app/src/main/res/layout/main.xml
index 61640b536..45f43943c 100644
--- a/app/src/main/res/layout/main.xml
+++ b/app/src/main/res/layout/main.xml
@@ -46,7 +46,8 @@
android:layout_height="match_parent"
android:layout_weight="0.6"
android:gravity="center"
- android:maxLines="1"
+ android:ellipsize="end"
+ android:singleLine="true"
android:padding="15dp" />
+ android:layout_alignParentTop="true">
diff --git a/app/src/main/res/layout/settings_widget_basic.xml b/app/src/main/res/layout/settings_widget_basic.xml
index fced78cb7..94fa9dc01 100644
--- a/app/src/main/res/layout/settings_widget_basic.xml
+++ b/app/src/main/res/layout/settings_widget_basic.xml
@@ -15,18 +15,16 @@
android:paddingTop="15dp"
android:paddingBottom="15dp">
-
-
-
-
-
-
-
-
-
-
-
-