don't trigger context menu in message adapter manually. fixes #2077

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java | 13 
src/main/res/layout/message_received.xml                            |  3 
src/main/res/layout/message_sent.xml                                |  3 
3 files changed, 6 insertions(+), 13 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java 🔗

@@ -77,14 +77,6 @@ public class MessageAdapter extends ArrayAdapter<Message> {
 	private OnContactPictureClicked mOnContactPictureClickedListener;
 	private OnContactPictureLongClicked mOnContactPictureLongClickedListener;
 
-	private OnLongClickListener openContextMenu = new OnLongClickListener() {
-
-		@Override
-		public boolean onLongClick(View v) {
-			v.showContextMenu();
-			return true;
-		}
-	};
 	private boolean mIndicateReceived = false;
 	private boolean mUseGreenBackground = false;
 
@@ -374,7 +366,6 @@ public class MessageAdapter extends ArrayAdapter<Message> {
 		viewHolder.messageBody.setLinkTextColor(this.getMessageTextColor(darkBackground, true));
 		viewHolder.messageBody.setHighlightColor(activity.getResources().getColor(darkBackground ? (type == SENT || !mUseGreenBackground ? R.color.black26 : R.color.grey800) : R.color.grey500));
 		viewHolder.messageBody.setTypeface(null, Typeface.NORMAL);
-		viewHolder.messageBody.setOnLongClickListener(openContextMenu);
 	}
 
 	private void displayDownloadableMessage(ViewHolder viewHolder,
@@ -390,7 +381,6 @@ public class MessageAdapter extends ArrayAdapter<Message> {
 				activity.startDownloadable(message);
 			}
 		});
-		viewHolder.download_button.setOnLongClickListener(openContextMenu);
 	}
 
 	private void displayOpenableMessage(ViewHolder viewHolder,final Message message) {
@@ -405,7 +395,6 @@ public class MessageAdapter extends ArrayAdapter<Message> {
 				openDownloadable(message);
 			}
 		});
-		viewHolder.download_button.setOnLongClickListener(openContextMenu);
 	}
 
 	private void displayLocationMessage(ViewHolder viewHolder, final Message message) {
@@ -420,7 +409,6 @@ public class MessageAdapter extends ArrayAdapter<Message> {
 				showLocation(message);
 			}
 		});
-		viewHolder.download_button.setOnLongClickListener(openContextMenu);
 	}
 
 	private void displayImageMessage(ViewHolder viewHolder,
@@ -458,7 +446,6 @@ public class MessageAdapter extends ArrayAdapter<Message> {
 				openDownloadable(message);
 			}
 		});
-		viewHolder.image.setOnLongClickListener(openContextMenu);
 	}
 
 	private void loadMoreMessages(Conversation conversation) {

src/main/res/layout/message_received.xml 🔗

@@ -45,6 +45,7 @@
                 android:layout_marginTop="8dp"
                 android:layout_marginBottom="4dp"
                 android:adjustViewBounds="true"
+                android:longClickable="true"
                 android:background="@color/black87"
                 android:scaleType="centerCrop" />
 
@@ -53,6 +54,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:autoLink="web"
+                android:longClickable="true"
                 android:textColorLink="@color/white"
                 android:textColor="@color/white"
                 android:textColorHighlight="@color/grey800"
@@ -61,6 +63,7 @@
             <Button
                 android:id="@+id/download_button"
                 style="?android:attr/buttonStyleSmall"
+                android:longClickable="true"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone" />

src/main/res/layout/message_sent.xml 🔗

@@ -47,6 +47,7 @@
                 android:layout_marginBottom="4dp"
                 android:adjustViewBounds="true"
                 android:background="@color/black87"
+                android:longClickable="true"
                 android:scaleType="centerCrop" />
 
             <TextView
@@ -54,6 +55,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:autoLink="web"
+                android:longClickable="true"
                 android:textColorLink="@color/black87"
                 android:textColor="?attr/color_text_primary"
                 android:textColorHighlight="@color/grey500"
@@ -64,6 +66,7 @@
                 style="?android:attr/buttonStyleSmall"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
+                android:longClickable="true"
                 android:visibility="gone" />
 
             <LinearLayout