ソースを参照

Remove duplicate clicks on conversation info

Signed-off-by: Mario Danic <mario@lovelyhq.com>
Mario Danic 5 年 前
コミット
175f64b8c3

+ 8 - 4
app/src/main/java/com/nextcloud/talk/controllers/ChatController.java

@@ -522,10 +522,6 @@ public class ChatController extends BaseController implements MessagesListAdapte
         messageInputView.getButton().setContentDescription(getResources()
                 .getString(R.string.nc_description_send_message_button));
 
-        if (!conversationUser.getUserId().equals("?") && conversationUser.hasSpreedFeatureCapability("mention-flag") && getActivity() != null) {
-            getActivity().findViewById(R.id.toolbar).setOnClickListener(v -> showConversationInfoScreen());
-        }
-
         if (currentConversation != null) {
             loadAvatarForStatusBar();
             checkLobbyState();
@@ -652,6 +648,10 @@ public class ChatController extends BaseController implements MessagesListAdapte
         super.onAttach(view);
         eventBus.register(this);
 
+        if (!conversationUser.getUserId().equals("?") && conversationUser.hasSpreedFeatureCapability("mention-flag") && getActivity() != null) {
+            getActivity().findViewById(R.id.toolbar).setOnClickListener(v -> showConversationInfoScreen());
+        }
+
         isLeavingForConversation = false;
         ApplicationWideCurrentRoomHolder.getInstance().setCurrentRoomId(roomId);
         ApplicationWideCurrentRoomHolder.getInstance().setCurrentRoomToken(roomId);
@@ -712,6 +712,10 @@ public class ChatController extends BaseController implements MessagesListAdapte
         ApplicationWideCurrentRoomHolder.getInstance().clear();
         eventBus.unregister(this);
 
+        if (getActivity() != null) {
+            getActivity().findViewById(R.id.toolbar).setOnClickListener(null);
+        }
+
         if (conversationUser.hasSpreedFeatureCapability("no-ping")
                 && getActivity() != null && !getActivity().isChangingConfigurations() && !isLeavingForConversation) {
             wasDetached = true;