From eeb0c838dbd8d2bb4eae907393d7bd19f84cd440 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Fri, 31 Jul 2020 11:34:46 -0300 Subject: [PATCH] Fix masking when attachment keyboard is visible. --- .../conversation/ConversationActivity.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java index 3b9a74c608..66fd465f72 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java @@ -2934,7 +2934,7 @@ public class ConversationActivity extends PassphraseRequiredActivity { reactionOverlay.setOnToolbarItemClickedListener(toolbarListener); reactionOverlay.setOnHideListener(onHideListener); - reactionOverlay.show(this, maskTarget, messageRecord, panelParent.getMeasuredHeight()); + reactionOverlay.show(this, maskTarget, messageRecord, inputAreaHeight()); } @Override @@ -2959,7 +2959,7 @@ public class ConversationActivity extends PassphraseRequiredActivity @Override public void handleReactionDetails(@NonNull View maskTarget) { - reactionOverlay.showMask(maskTarget, titleView.getMeasuredHeight(), panelParent.getMeasuredHeight()); + reactionOverlay.showMask(maskTarget, titleView.getMeasuredHeight(), inputAreaHeight()); } @Override @@ -3059,6 +3059,19 @@ public class ConversationActivity extends PassphraseRequiredActivity updateLinkPreviewState(); } + private int inputAreaHeight() { + int height = panelParent.getMeasuredHeight(); + + if (attachmentKeyboardStub.resolved()) { + View keyboard = attachmentKeyboardStub.get(); + if (keyboard.getVisibility() == View.VISIBLE) { + return height + keyboard.getMeasuredHeight(); + } + } + + return height; + } + private void onMessageRequestDeleteClicked(@NonNull MessageRequestViewModel requestModel) { Recipient recipient = requestModel.getRecipient().getValue(); if (recipient == null) {