Fix some UI bugs in view-once sending.

This commit is contained in:
Greyson Parrelli 2020-01-02 12:45:20 -05:00 committed by Alan Evans
parent 3b5e444e76
commit e0e2c3a3f5

View File

@ -110,6 +110,10 @@ class MediaSendViewModel extends ViewModel {
} }
void onSelectedMediaChanged(@NonNull Context context, @NonNull List<Media> newMedia) { void onSelectedMediaChanged(@NonNull Context context, @NonNull List<Media> newMedia) {
if (!newMedia.isEmpty()) {
selectedMedia.setValue(newMedia);
}
repository.getPopulatedMedia(context, newMedia, populatedMedia -> { repository.getPopulatedMedia(context, newMedia, populatedMedia -> {
Util.runOnMain(() -> { Util.runOnMain(() -> {
@ -153,6 +157,8 @@ class MediaSendViewModel extends ViewModel {
} }
void onSingleMediaSelected(@NonNull Context context, @NonNull Media media) { void onSingleMediaSelected(@NonNull Context context, @NonNull Media media) {
selectedMedia.setValue(Collections.singletonList(media));
repository.getPopulatedMedia(context, Collections.singletonList(media), populatedMedia -> { repository.getPopulatedMedia(context, Collections.singletonList(media), populatedMedia -> {
Util.runOnMain(() -> { Util.runOnMain(() -> {
List<Media> filteredMedia = getFilteredMedia(context, populatedMedia, mediaConstraints); List<Media> filteredMedia = getFilteredMedia(context, populatedMedia, mediaConstraints);
@ -183,7 +189,6 @@ class MediaSendViewModel extends ViewModel {
void onImageEditorStarted() { void onImageEditorStarted() {
page = Page.EDITOR; page = Page.EDITOR;
hudVisible = true; hudVisible = true;
composeVisible = viewOnceState != ViewOnceState.ENABLED;
captionVisible = getSelectedMediaOrDefault().size() > 1 || (getSelectedMediaOrDefault().size() > 0 && getSelectedMediaOrDefault().get(0).getCaption().isPresent()); captionVisible = getSelectedMediaOrDefault().size() > 1 || (getSelectedMediaOrDefault().size() > 0 && getSelectedMediaOrDefault().get(0).getCaption().isPresent());
buttonState = (recipient != null) ? ButtonState.SEND : ButtonState.CONTINUE; buttonState = (recipient != null) ? ButtonState.SEND : ButtonState.CONTINUE;
@ -193,7 +198,8 @@ class MediaSendViewModel extends ViewModel {
viewOnceState = ViewOnceState.GONE; 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()); hudState.setValue(buildHudState());
} }