From 834283ba9b5eaf70ad89100220b63b5c885dc65b Mon Sep 17 00:00:00 2001 From: Clark Date: Fri, 27 Jan 2023 11:25:48 -0500 Subject: [PATCH] Hide scheduled messages bar with input panel. --- .../ConversationParentFragment.java | 29 +++++++++++++------ .../securesms/util/views/Stub.java | 8 +++++ .../main/res/layout/conversation_activity.xml | 14 ++++----- 3 files changed, 35 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java index df925a66da..45ae8daa43 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java @@ -469,6 +469,7 @@ public class ConversationParentFragment extends Fragment private int distributionType; private int reactWithAnyEmojiStartPage = -1; private boolean isSearchRequested = false; + private boolean reshowScheduleMessagesBar = false; private final LifecycleDisposable disposables = new LifecycleDisposable(); private final Debouncer optionsMenuDebouncer = new Debouncer(50); @@ -3316,18 +3317,20 @@ public class ConversationParentFragment extends Fragment } } - private void updateScheduledMessagesBar(@NonNull Integer count) { + private void updateScheduledMessagesBar(int count) { if (count <= 0) { scheduledMessagesBarStub.setVisibility(View.GONE); + reshowScheduleMessagesBar = false; } else { - if (!scheduledMessagesBarStub.resolved()) { - View scheduledMessagesBar = scheduledMessagesBarStub.get(); - scheduledMessagesBar.findViewById(R.id.scheduled_messages_show_all).setOnClickListener(v -> { - ScheduledMessagesBottomSheet.show(getChildFragmentManager(), threadId, recipient.getId()); - }); - } - scheduledMessagesBarStub.setVisibility(View.VISIBLE); - TextView scheduledText = scheduledMessagesBarStub.get().findViewById(R.id.scheduled_messages_text); + View scheduledMessagesBar = scheduledMessagesBarStub.get(); + + scheduledMessagesBar.findViewById(R.id.scheduled_messages_show_all).setOnClickListener(v -> { + ScheduledMessagesBottomSheet.show(getChildFragmentManager(), threadId, recipient.getId()); + }); + + scheduledMessagesBar.setVisibility(View.VISIBLE); + reshowScheduleMessagesBar = true; + TextView scheduledText = scheduledMessagesBar.findViewById(R.id.scheduled_messages_text); scheduledText.setText(getResources().getQuantityString(R.plurals.conversation_scheduled_messages_bar__number_of_messages, count, count)); } } @@ -4151,11 +4154,19 @@ public class ConversationParentFragment extends Fragment public void onMessageActionToolbarOpened() { searchViewItem.collapseActionView(); toolbar.setVisibility(View.GONE); + if (scheduledMessagesBarStub.getVisibility() == View.VISIBLE) { + reshowScheduleMessagesBar = true; + scheduledMessagesBarStub.setVisibility(View.GONE); + } } @Override public void onMessageActionToolbarClosed() { toolbar.setVisibility(View.VISIBLE); + if (reshowScheduleMessagesBar) { + scheduledMessagesBarStub.setVisibility(View.VISIBLE); + reshowScheduleMessagesBar = false; + } } @Override diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/views/Stub.java b/app/src/main/java/org/thoughtcrime/securesms/util/views/Stub.java index 9020423a18..4605d3ccf8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/views/Stub.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/views/Stub.java @@ -35,4 +35,12 @@ public class Stub { } } + public int getVisibility() { + if (resolved()) { + return get().getVisibility(); + } else { + return View.GONE; + } + } + } diff --git a/app/src/main/res/layout/conversation_activity.xml b/app/src/main/res/layout/conversation_activity.xml index 4f3c49ca19..6aad0a3ff3 100644 --- a/app/src/main/res/layout/conversation_activity.xml +++ b/app/src/main/res/layout/conversation_activity.xml @@ -62,13 +62,6 @@ - - + +