Always update ViewOnceState before rendering hud.

fork-5.53.8
Alex Hart 2021-06-21 14:27:28 -03:00 zatwierdzone przez GitHub
rodzic 3a151b30ac
commit b3041ab6e0
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
1 zmienionych plików z 13 dodań i 6 usunięć

Wyświetl plik

@ -236,12 +236,8 @@ class MediaSendViewModel extends ViewModel {
captionVisible = getSelectedMediaOrDefault().size() > 1 || (getSelectedMediaOrDefault().size() > 0 && getSelectedMediaOrDefault().get(0).getCaption().isPresent());
buttonState = (recipient != null) ? ButtonState.SEND : ButtonState.CONTINUE;
if (viewOnceState == ViewOnceState.GONE && viewOnceSupported()) {
viewOnceState = ViewOnceState.DISABLED;
showViewOnceTooltipIfNecessary(viewOnceState);
} else if (!viewOnceSupported()) {
viewOnceState = ViewOnceState.GONE;
}
updateViewOnceState();
showViewOnceTooltipIfNecessary(viewOnceState);
railState = !isSms && viewOnceState != ViewOnceState.ENABLED ? RailState.INTERACTIVE : RailState.GONE;
composeVisible = viewOnceState != ViewOnceState.ENABLED;
@ -590,6 +586,15 @@ class MediaSendViewModel extends ViewModel {
return mediaConstraints;
}
private void updateViewOnceState() {
if (viewOnceState == ViewOnceState.GONE && viewOnceSupported()) {
showViewOnceTooltipIfNecessary(viewOnceState);
viewOnceState = ViewOnceState.DISABLED;
} else if (!viewOnceSupported()) {
viewOnceState = ViewOnceState.GONE;
}
}
private @NonNull List<Media> getSelectedMediaOrDefault() {
return selectedMedia.getValue() == null ? Collections.emptyList()
: selectedMedia.getValue();
@ -613,6 +618,8 @@ class MediaSendViewModel extends ViewModel {
ButtonState updatedButtonState = buttonState == ButtonState.COUNT && selectionCount == 0 ? ButtonState.GONE : buttonState;
boolean updatedCaptionVisible = captionVisible && (selectedMedia.size() > 1 || (selectedMedia.size() > 0 && selectedMedia.get(0).getCaption().isPresent()));
updateViewOnceState();
return new HudState(hudVisible, composeVisible, updatedCaptionVisible, selectionCount, updatedButtonState, railState, viewOnceState);
}