From 08e09c3d3a9b1f09ec60240dc8f4be4ab7c15604 Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Sun, 6 Jan 2019 17:15:38 +0100
Subject: [PATCH] Open user info page when clicking on avatar

---
 .../ui/chat/messages/MessageListFragment.kt   | 23 +++++++++++++++----
 1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt
index 97a88f34f..bfe817fe7 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt
@@ -42,8 +42,10 @@ import com.bumptech.glide.util.FixedPreloadSizeProvider
 import com.google.android.material.floatingactionbutton.FloatingActionButton
 import de.kuschku.libquassel.connection.ConnectionState
 import de.kuschku.libquassel.protocol.BufferId
+import de.kuschku.libquassel.protocol.Buffer_Type
 import de.kuschku.libquassel.protocol.Message_Type
 import de.kuschku.libquassel.protocol.MsgId
+import de.kuschku.libquassel.quassel.BufferInfo
 import de.kuschku.libquassel.quassel.syncables.BufferSyncer
 import de.kuschku.libquassel.session.SessionManager
 import de.kuschku.libquassel.util.flag.hasFlag
@@ -61,6 +63,7 @@ import de.kuschku.quasseldroid.settings.AutoCompleteSettings
 import de.kuschku.quasseldroid.settings.BacklogSettings
 import de.kuschku.quasseldroid.settings.MessageSettings
 import de.kuschku.quasseldroid.ui.chat.ChatActivity
+import de.kuschku.quasseldroid.ui.chat.info.user.UserInfoActivity
 import de.kuschku.quasseldroid.util.Patterns
 import de.kuschku.quasseldroid.util.avatars.AvatarHelper
 import de.kuschku.quasseldroid.util.helper.*
@@ -244,11 +247,21 @@ class MessageListFragment : ServiceBoundFragment() {
         )
       }
     adapter.setOnSenderIconClickListener { msg ->
-      ChatActivity.launch(
-        requireContext(),
-        autoCompleteText = HostmaskHelper.nick(msg.sender),
-        autoCompleteSuffix = ": "
-      )
+      viewModel.session.value?.orNull()?.bufferSyncer?.let { bufferSyncer ->
+        viewModel.bufferData.value?.info?.let(BufferInfo::networkId)?.let { networkId ->
+          UserInfoActivity.launch(
+            requireContext(),
+            openBuffer = false,
+            bufferId = bufferSyncer.find(
+              bufferName = HostmaskHelper.nick(msg.sender),
+              networkId = networkId,
+              type = Buffer_Type.of(Buffer_Type.QueryBuffer)
+            )?.let(BufferInfo::bufferId),
+            nick = HostmaskHelper.nick(msg.sender),
+            networkId = networkId
+          )
+        }
+      }
     }
     adapter.setOnUrlLongClickListener(LinkLongClickMenuHelper())
 
-- 
GitLab