Ensure link preview fetches are canceled on message send.
This commit is contained in:
parent
139317cf1b
commit
16147e0c08
2 changed files with 19 additions and 1 deletions
|
@ -2366,6 +2366,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
|
|||
attachmentManager.cleanup();
|
||||
|
||||
updateLinkPreviewState();
|
||||
linkPreviewViewModel.onSend();
|
||||
}
|
||||
|
||||
private void sendMessage() {
|
||||
|
|
|
@ -90,7 +90,11 @@ public class LinkPreviewViewModel extends ViewModel {
|
|||
Util.runOnMain(() -> {
|
||||
if (!userCanceled) {
|
||||
if (lp.isPresent()) {
|
||||
linkPreviewState.setValue(LinkPreviewState.forPreview(lp.get()));
|
||||
if (activeUrl != null && activeUrl.equals(lp.get().getUrl())) {
|
||||
linkPreviewState.setValue(LinkPreviewState.forPreview(lp.get()));
|
||||
} else {
|
||||
linkPreviewState.setValue(LinkPreviewState.forNoLinks());
|
||||
}
|
||||
} else {
|
||||
linkPreviewState.setValue(LinkPreviewState.forLinksWithNoPreview());
|
||||
}
|
||||
|
@ -114,6 +118,19 @@ public class LinkPreviewViewModel extends ViewModel {
|
|||
linkPreviewState.setValue(LinkPreviewState.forNoLinks());
|
||||
}
|
||||
|
||||
public void onSend() {
|
||||
if (activeRequest != null) {
|
||||
activeRequest.cancel();
|
||||
activeRequest = null;
|
||||
}
|
||||
|
||||
userCanceled = false;
|
||||
activeUrl = null;
|
||||
|
||||
debouncer.clear();
|
||||
linkPreviewState.setValue(LinkPreviewState.forNoLinks());
|
||||
}
|
||||
|
||||
public void onEnabled() {
|
||||
userCanceled = false;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue