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"> - - - - - - - - - - - -