mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-20 08:39:22 +01:00
Ensure link preview fetches are canceled on message send.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user