@@ -29,6 +29,7 @@ import android.net.Uri
2929import android.os.Build
3030import android.os.Bundle
3131import android.os.Handler
32+ import android.os.SystemClock
3233import android.provider.ContactsContract
3334import android.provider.MediaStore
3435import android.provider.Settings
@@ -39,6 +40,7 @@ import android.view.Gravity
3940import android.view.Menu
4041import android.view.MenuItem
4142import android.view.View
43+ import android.view.ViewConfiguration
4244import android.view.ViewGroup
4345import android.view.WindowManager
4446import android.view.animation.AccelerateDecelerateInterpolator
@@ -263,6 +265,7 @@ class ChatActivity :
263265 MessagesListAdapter .OnLoadMoreListener ,
264266 MessagesListAdapter .Formatter <Date >,
265267 MessagesListAdapter .OnMessageViewLongClickListener <IMessage >,
268+ MessagesListAdapter .OnMessageClickListener <IMessage >,
266269 ContentChecker <ChatMessage >,
267270 VoiceMessageInterface ,
268271 CommonMessageInterface ,
@@ -386,6 +389,8 @@ class ChatActivity :
386389 var credentials: String? = null
387390 var currentConversation: ConversationModel ? = null
388391 var adapter: TalkMessagesListAdapter <ChatMessage >? = null
392+ private var lastMessageClickTime = 0L
393+ private var lastMessageId = " "
389394 var mentionAutocomplete: Autocomplete <* >? = null
390395 var layoutManager: LinearLayoutManager ? = null
391396 var pullChatMessagesPending = false
@@ -1644,6 +1649,7 @@ class ChatActivity :
16441649 adapter?.setLoadMoreListener(this )
16451650 adapter?.setDateHeadersFormatter { format(it) }
16461651 adapter?.setOnMessageViewLongClickListener { view, message -> onMessageViewLongClick(view, message) }
1652+ adapter?.setOnMessageClickListener{ message -> onMessageClick(message) }
16471653
16481654 adapter?.registerViewClickListener(
16491655 R .id.playPauseBtn
@@ -4087,6 +4093,20 @@ class ChatActivity :
40874093 openMessageActionsDialog(message)
40884094 }
40894095
4096+ override fun onMessageClick (message : IMessage ) {
4097+ val now = SystemClock .elapsedRealtime()
4098+ if (now - lastMessageClickTime < ViewConfiguration .getDoubleTapTimeout() &&
4099+ message.id?.equals(lastMessageId) == true
4100+ ) {
4101+ openMessageActionsDialog(message)
4102+ lastMessageClickTime = 0L
4103+ lastMessageId = " "
4104+ } else {
4105+ lastMessageClickTime = now
4106+ lastMessageId = message.id
4107+ }
4108+ }
4109+
40904110 override fun onPreviewMessageLongClick (chatMessage : ChatMessage ) {
40914111 onOpenMessageActionsDialog(chatMessage)
40924112 }
0 commit comments