Always update ViewOnceState before rendering hud.
This commit is contained in:
parent
3a151b30ac
commit
b3041ab6e0
1 changed files with 13 additions and 6 deletions
|
@ -236,12 +236,8 @@ class MediaSendViewModel extends ViewModel {
|
||||||
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;
|
||||||
|
|
||||||
if (viewOnceState == ViewOnceState.GONE && viewOnceSupported()) {
|
updateViewOnceState();
|
||||||
viewOnceState = ViewOnceState.DISABLED;
|
showViewOnceTooltipIfNecessary(viewOnceState);
|
||||||
showViewOnceTooltipIfNecessary(viewOnceState);
|
|
||||||
} else if (!viewOnceSupported()) {
|
|
||||||
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;
|
composeVisible = viewOnceState != ViewOnceState.ENABLED;
|
||||||
|
@ -590,6 +586,15 @@ class MediaSendViewModel extends ViewModel {
|
||||||
return mediaConstraints;
|
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() {
|
private @NonNull List<Media> getSelectedMediaOrDefault() {
|
||||||
return selectedMedia.getValue() == null ? Collections.emptyList()
|
return selectedMedia.getValue() == null ? Collections.emptyList()
|
||||||
: selectedMedia.getValue();
|
: selectedMedia.getValue();
|
||||||
|
@ -613,6 +618,8 @@ class MediaSendViewModel extends ViewModel {
|
||||||
ButtonState updatedButtonState = buttonState == ButtonState.COUNT && selectionCount == 0 ? ButtonState.GONE : buttonState;
|
ButtonState updatedButtonState = buttonState == ButtonState.COUNT && selectionCount == 0 ? ButtonState.GONE : buttonState;
|
||||||
boolean updatedCaptionVisible = captionVisible && (selectedMedia.size() > 1 || (selectedMedia.size() > 0 && selectedMedia.get(0).getCaption().isPresent()));
|
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);
|
return new HudState(hudVisible, composeVisible, updatedCaptionVisible, selectionCount, updatedButtonState, railState, viewOnceState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue