Fix banner input overlap in some situations.

This commit is contained in:
Alex Hart
2022-06-15 10:01:41 -03:00
committed by Greyson Parrelli
parent 6854632fec
commit c83a888ed0
4 changed files with 13 additions and 7 deletions

View File

@@ -95,6 +95,7 @@ public class InputPanel extends LinearLayout
private @Nullable Listener listener;
private boolean emojiVisible;
private boolean hideForMessageRequestState;
private boolean hideForGroupState;
private boolean hideForBlockedState;
private boolean hideForSearch;
@@ -353,6 +354,11 @@ public class InputPanel extends LinearLayout
quoteView.setWallpaperEnabled(enabled);
}
public void setHideForMessageRequestState(boolean hideForMessageRequestState) {
this.hideForMessageRequestState = hideForMessageRequestState;
updateVisibility();
}
public void setHideForGroupState(boolean hideForGroupState) {
this.hideForGroupState = hideForGroupState;
updateVisibility();
@@ -550,7 +556,7 @@ public class InputPanel extends LinearLayout
}
private void updateVisibility() {
if (hideForGroupState || hideForBlockedState || hideForSearch || hideForSelection) {
if (hideForGroupState || hideForBlockedState || hideForSearch || hideForSelection || hideForMessageRequestState) {
setVisibility(GONE);
} else {
setVisibility(VISIBLE);

View File

@@ -4287,23 +4287,23 @@ public class ConversationParentFragment extends Fragment
{
Log.d(TAG, "[presentMessageRequestState] Have extra, so ignoring provided state.");
messageRequestBottomView.setVisibility(View.GONE);
inputPanel.setVisibility(View.VISIBLE);
inputPanel.setHideForMessageRequestState(false);
} else if (isPushGroupV1Conversation() && !isActiveGroup()) {
Log.d(TAG, "[presentMessageRequestState] Inactive push group V1, so ignoring provided state.");
messageRequestBottomView.setVisibility(View.GONE);
inputPanel.setVisibility(View.VISIBLE);
inputPanel.setHideForMessageRequestState(false);
} else if (messageData == null) {
Log.d(TAG, "[presentMessageRequestState] Null messageData. Ignoring.");
} else if (messageData.getMessageState() == MessageRequestState.NONE) {
Log.d(TAG, "[presentMessageRequestState] No message request necessary.");
messageRequestBottomView.setVisibility(View.GONE);
inputPanel.setVisibility(View.VISIBLE);
inputPanel.setHideForMessageRequestState(false);
} else {
Log.d(TAG, "[presentMessageRequestState] " + messageData.getMessageState());
messageRequestBottomView.setMessageData(messageData);
messageRequestBottomView.setVisibility(View.VISIBLE);
noLongerMemberBanner.setVisibility(View.GONE);
inputPanel.setVisibility(View.GONE);
inputPanel.setHideForMessageRequestState(true);
}
invalidateOptionsMenu();

View File

@@ -91,7 +91,6 @@ open class Material3OnScrollHelper(
}
start()
}
} else {
setColorImmediate()
}