From e0e2c3a3f510b887d9e2b17808eaeed94136d52e Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Thu, 2 Jan 2020 12:45:20 -0500 Subject: [PATCH] Fix some UI bugs in view-once sending. --- .../securesms/mediasend/MediaSendViewModel.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/org/thoughtcrime/securesms/mediasend/MediaSendViewModel.java b/src/org/thoughtcrime/securesms/mediasend/MediaSendViewModel.java index ce45c74a26..e3206efc63 100644 --- a/src/org/thoughtcrime/securesms/mediasend/MediaSendViewModel.java +++ b/src/org/thoughtcrime/securesms/mediasend/MediaSendViewModel.java @@ -110,6 +110,10 @@ class MediaSendViewModel extends ViewModel { } void onSelectedMediaChanged(@NonNull Context context, @NonNull List newMedia) { + if (!newMedia.isEmpty()) { + selectedMedia.setValue(newMedia); + } + repository.getPopulatedMedia(context, newMedia, populatedMedia -> { Util.runOnMain(() -> { @@ -153,6 +157,8 @@ class MediaSendViewModel extends ViewModel { } void onSingleMediaSelected(@NonNull Context context, @NonNull Media media) { + selectedMedia.setValue(Collections.singletonList(media)); + repository.getPopulatedMedia(context, Collections.singletonList(media), populatedMedia -> { Util.runOnMain(() -> { List filteredMedia = getFilteredMedia(context, populatedMedia, mediaConstraints); @@ -183,7 +189,6 @@ class MediaSendViewModel extends ViewModel { void onImageEditorStarted() { page = Page.EDITOR; hudVisible = true; - composeVisible = viewOnceState != ViewOnceState.ENABLED; captionVisible = getSelectedMediaOrDefault().size() > 1 || (getSelectedMediaOrDefault().size() > 0 && getSelectedMediaOrDefault().get(0).getCaption().isPresent()); buttonState = (recipient != null) ? ButtonState.SEND : ButtonState.CONTINUE; @@ -193,7 +198,8 @@ class MediaSendViewModel extends ViewModel { viewOnceState = ViewOnceState.GONE; } - railState = !isSms && viewOnceState != ViewOnceState.ENABLED ? RailState.INTERACTIVE : RailState.GONE; + railState = !isSms && viewOnceState != ViewOnceState.ENABLED ? RailState.INTERACTIVE : RailState.GONE; + composeVisible = viewOnceState != ViewOnceState.ENABLED; hudState.setValue(buildHudState()); }