Hide scheduled messages bar with input panel.
This commit is contained in:
parent
23190a2f6e
commit
834283ba9b
3 changed files with 35 additions and 16 deletions
|
@ -469,6 +469,7 @@ public class ConversationParentFragment extends Fragment
|
||||||
private int distributionType;
|
private int distributionType;
|
||||||
private int reactWithAnyEmojiStartPage = -1;
|
private int reactWithAnyEmojiStartPage = -1;
|
||||||
private boolean isSearchRequested = false;
|
private boolean isSearchRequested = false;
|
||||||
|
private boolean reshowScheduleMessagesBar = false;
|
||||||
|
|
||||||
private final LifecycleDisposable disposables = new LifecycleDisposable();
|
private final LifecycleDisposable disposables = new LifecycleDisposable();
|
||||||
private final Debouncer optionsMenuDebouncer = new Debouncer(50);
|
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) {
|
if (count <= 0) {
|
||||||
scheduledMessagesBarStub.setVisibility(View.GONE);
|
scheduledMessagesBarStub.setVisibility(View.GONE);
|
||||||
|
reshowScheduleMessagesBar = false;
|
||||||
} else {
|
} else {
|
||||||
if (!scheduledMessagesBarStub.resolved()) {
|
|
||||||
View scheduledMessagesBar = scheduledMessagesBarStub.get();
|
View scheduledMessagesBar = scheduledMessagesBarStub.get();
|
||||||
|
|
||||||
scheduledMessagesBar.findViewById(R.id.scheduled_messages_show_all).setOnClickListener(v -> {
|
scheduledMessagesBar.findViewById(R.id.scheduled_messages_show_all).setOnClickListener(v -> {
|
||||||
ScheduledMessagesBottomSheet.show(getChildFragmentManager(), threadId, recipient.getId());
|
ScheduledMessagesBottomSheet.show(getChildFragmentManager(), threadId, recipient.getId());
|
||||||
});
|
});
|
||||||
}
|
|
||||||
scheduledMessagesBarStub.setVisibility(View.VISIBLE);
|
scheduledMessagesBar.setVisibility(View.VISIBLE);
|
||||||
TextView scheduledText = scheduledMessagesBarStub.get().findViewById(R.id.scheduled_messages_text);
|
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));
|
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() {
|
public void onMessageActionToolbarOpened() {
|
||||||
searchViewItem.collapseActionView();
|
searchViewItem.collapseActionView();
|
||||||
toolbar.setVisibility(View.GONE);
|
toolbar.setVisibility(View.GONE);
|
||||||
|
if (scheduledMessagesBarStub.getVisibility() == View.VISIBLE) {
|
||||||
|
reshowScheduleMessagesBar = true;
|
||||||
|
scheduledMessagesBarStub.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessageActionToolbarClosed() {
|
public void onMessageActionToolbarClosed() {
|
||||||
toolbar.setVisibility(View.VISIBLE);
|
toolbar.setVisibility(View.VISIBLE);
|
||||||
|
if (reshowScheduleMessagesBar) {
|
||||||
|
scheduledMessagesBarStub.setVisibility(View.VISIBLE);
|
||||||
|
reshowScheduleMessagesBar = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -35,4 +35,12 @@ public class Stub<T extends View> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getVisibility() {
|
||||||
|
if (resolved()) {
|
||||||
|
return get().getVisibility();
|
||||||
|
} else {
|
||||||
|
return View.GONE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,13 +62,6 @@
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
<ViewStub
|
|
||||||
android:id="@+id/scheduled_messages_stub"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:inflatedId="@+id/scheduled_messages"
|
|
||||||
android:layout="@layout/conversation_activity_scheduled_messages_stub" />
|
|
||||||
|
|
||||||
<ViewStub
|
<ViewStub
|
||||||
android:id="@+id/attachment_editor_stub"
|
android:id="@+id/attachment_editor_stub"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -84,6 +77,13 @@
|
||||||
android:clipChildren="false"
|
android:clipChildren="false"
|
||||||
android:clipToPadding="false">
|
android:clipToPadding="false">
|
||||||
|
|
||||||
|
<ViewStub
|
||||||
|
android:id="@+id/scheduled_messages_stub"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:inflatedId="@+id/scheduled_messages"
|
||||||
|
android:layout="@layout/conversation_activity_scheduled_messages_stub" />
|
||||||
|
|
||||||
<include layout="@layout/conversation_search_nav" />
|
<include layout="@layout/conversation_search_nav" />
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
|
|
Loading…
Add table
Reference in a new issue