From 0dae71f4b7edc4da160cca2ee1fd4eaa52eb8d49 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Thu, 19 Dec 2024 15:48:57 +0100 Subject: [PATCH] try to avoid FILL500 getting stuck in some devices --- .../org/thoughtcrime/securesms/WebxdcActivity.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/thoughtcrime/securesms/WebxdcActivity.java b/src/main/java/org/thoughtcrime/securesms/WebxdcActivity.java index dc8589999..8d1676bf9 100644 --- a/src/main/java/org/thoughtcrime/securesms/WebxdcActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/WebxdcActivity.java @@ -67,6 +67,7 @@ public class WebxdcActivity extends WebViewActivity implements DcEventCenter.DcE private static final String EXTRA_HIDE_ACTION_BAR = "hideActionBar"; private static final String EXTRA_HREF = "href"; private static final int REQUEST_CODE_FILE_PICKER = 51426; + private static long lastOpenTime = 0; private ValueCallback filePathCallback; private DcContext dcContext; @@ -233,7 +234,16 @@ public class WebxdcActivity extends WebViewActivity implements DcEventCenter.DcE e.printStackTrace(); } - webView.loadUrl(this.baseURL + "/webxdc_bootstrap324567869.html?i=" + (internetAccess? "1" : "0") + "&href=" + encodedHref); + long now = System.currentTimeMillis(); + long timeDelta = now - lastOpenTime; + lastOpenTime = now; + final String url = this.baseURL + "/webxdc_bootstrap324567869.html?i=" + (internetAccess? "1" : "0") + "&href=" + encodedHref; + Util.runOnAnyBackgroundThread(() -> { + if (timeDelta < 2000) Util.sleep(1000); + Util.runOnMain(() -> { + webView.loadUrl(url); + }); + }); Util.runOnAnyBackgroundThread(() -> { final DcChat chat = dcContext.getChat(dcAppMsg.getChatId());