mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-05-08 09:18:39 +01:00
Fix banner input overlap in some situations.
This commit is contained in:
committed by
Greyson Parrelli
parent
6854632fec
commit
c83a888ed0
@@ -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);
|
||||
|
||||
+4
-4
@@ -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();
|
||||
|
||||
@@ -91,7 +91,6 @@ open class Material3OnScrollHelper(
|
||||
}
|
||||
start()
|
||||
}
|
||||
|
||||
} else {
|
||||
setColorImmediate()
|
||||
}
|
||||
|
||||
@@ -17,8 +17,9 @@
|
||||
android:text="@string/ConversationActivity_your_request_to_join_has_been_sent_to_the_group_admin"
|
||||
android:textColor="@color/signal_text_secondary" />
|
||||
|
||||
<Button
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/conversation_cancel_request"
|
||||
style="@style/Signal.Widget.Button.Large.Tonal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
|
||||
Reference in New Issue
Block a user