From 8395fa05a95ab4b699a6a0f6e032d22cabe15cd7 Mon Sep 17 00:00:00 2001 From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com> Date: Mon, 27 Jan 2020 14:20:29 -0500 Subject: [PATCH] conversations: fix broken clickable features in text messages broken since commit a2f05e8 Changes the OnClickListener from the text message TextView to the item's outer layout, restoring double click selection and clickable links. Change-Id: Iec7ee9d1ecb2278dcaf88fb7a184b345cb710eca --- .../main/java/cx/ring/adapters/ConversationAdapter.java | 7 ++++--- .../main/java/cx/ring/views/ConversationViewHolder.java | 2 ++ ring-android/app/src/main/res/layout/item_conv_msg_me.xml | 2 +- .../app/src/main/res/layout/item_conv_msg_peer.xml | 4 ++-- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/ring-android/app/src/main/java/cx/ring/adapters/ConversationAdapter.java b/ring-android/app/src/main/java/cx/ring/adapters/ConversationAdapter.java index 97e73bc07..a571dc940 100644 --- a/ring-android/app/src/main/java/cx/ring/adapters/ConversationAdapter.java +++ b/ring-android/app/src/main/java/cx/ring/adapters/ConversationAdapter.java @@ -81,7 +81,6 @@ import cx.ring.model.TextMessage; import cx.ring.service.DRingService; import cx.ring.utils.AndroidFileUtils; import cx.ring.utils.ContentUriHandler; -import cx.ring.utils.FileUtils; import cx.ring.utils.GlideApp; import cx.ring.utils.GlideOptions; import cx.ring.utils.ResourceMapper; @@ -296,9 +295,11 @@ public class ConversationAdapter extends RecyclerView.Adapter<ConversationViewHo holder.player = null; } if (holder.mMsgTxt != null) { - holder.mMsgTxt.setOnClickListener(null); holder.mMsgTxt.setOnLongClickListener(null); } + if (holder.mItem != null) { + holder.mItem.setOnClickListener(null); + } if (expandedItemPosition == holder.getLayoutPosition()) { holder.mMsgDetailTxt.setVisibility(View.GONE); expandedItemPosition = -1; @@ -764,7 +765,7 @@ public class ConversationAdapter extends RecyclerView.Adapter<ConversationViewHo })); } setItemViewExpansionState(convViewHolder, isExpanded); - convViewHolder.mMsgTxt.setOnClickListener((View v) -> { + convViewHolder.mItem.setOnClickListener((View v) -> { if (convViewHolder.animator != null && convViewHolder.animator.isRunning()) { return; } diff --git a/ring-android/app/src/main/java/cx/ring/views/ConversationViewHolder.java b/ring-android/app/src/main/java/cx/ring/views/ConversationViewHolder.java index 79ab35c37..1672d9860 100644 --- a/ring-android/app/src/main/java/cx/ring/views/ConversationViewHolder.java +++ b/ring-android/app/src/main/java/cx/ring/views/ConversationViewHolder.java @@ -40,6 +40,7 @@ import io.reactivex.disposables.CompositeDisposable; import io.reactivex.disposables.Disposable; public class ConversationViewHolder extends RecyclerView.ViewHolder { + public View mItem; public TextView mMsgTxt; public TextView mMsgDetailTxt; public TextView mMsgDetailTxtPerm; @@ -79,6 +80,7 @@ public class ConversationViewHolder extends RecyclerView.ViewHolder { // common layout elements case INCOMING_TEXT_MESSAGE: case OUTGOING_TEXT_MESSAGE: + mItem = v.findViewById(R.id.txt_entry); mMsgTxt = v.findViewById(R.id.msg_txt); mMsgDetailTxt = v.findViewById(R.id.msg_details_txt); mMsgDetailTxtPerm = v.findViewById(R.id.msg_details_txt_perm); diff --git a/ring-android/app/src/main/res/layout/item_conv_msg_me.xml b/ring-android/app/src/main/res/layout/item_conv_msg_me.xml index f7aa80612..35830d8d6 100644 --- a/ring-android/app/src/main/res/layout/item_conv_msg_me.xml +++ b/ring-android/app/src/main/res/layout/item_conv_msg_me.xml @@ -72,7 +72,7 @@ along with this program; if not, write to the Free Software android:autoLink="all" android:background="@drawable/textmsg_bg_out" android:ellipsize="marquee" - android:focusable="false" + android:focusable="true" android:marqueeRepeatLimit="marquee_forever" android:padding="@dimen/padding_medium" android:scrollHorizontally="true" diff --git a/ring-android/app/src/main/res/layout/item_conv_msg_peer.xml b/ring-android/app/src/main/res/layout/item_conv_msg_peer.xml index 81584e8ae..43c011176 100644 --- a/ring-android/app/src/main/res/layout/item_conv_msg_peer.xml +++ b/ring-android/app/src/main/res/layout/item_conv_msg_peer.xml @@ -55,7 +55,7 @@ along with this program; if not, write to the Free Software android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingStart="@dimen/padding_medium" - android:paddingEnd="@dimen/padding_large"> + android:paddingEnd="36dp"> <ImageView android:id="@+id/photo" @@ -77,7 +77,7 @@ along with this program; if not, write to the Free Software android:autoLink="all" android:background="@drawable/textmsg_bg_in" android:ellipsize="marquee" - android:focusable="false" + android:focusable="true" android:marqueeRepeatLimit="marquee_forever" android:scrollHorizontally="true" android:singleLine="false" -- GitLab