Skip to content

Commit dbc27ba

Browse files
committed
Extract 250ms timeout to a constant
1 parent a42f718 commit dbc27ba

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

android/src/main/java/com/reactnativecommunity/webview/RNCWebViewManager.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import android.net.Uri;
1414
import android.os.Build;
1515
import android.os.Environment;
16+
import android.os.SystemClock;
1617
import android.text.TextUtils;
1718
import android.util.Log;
1819
import android.view.Gravity;
@@ -88,7 +89,6 @@
8889
import java.util.HashMap;
8990
import java.util.Locale;
9091
import java.util.Map;
91-
import java.util.concurrent.TimeUnit;
9292
import java.util.concurrent.atomic.AtomicReference;
9393

9494
/**
@@ -141,6 +141,7 @@ public class RNCWebViewManager extends SimpleViewManager<WebView> {
141141
// Use `webView.loadUrl("about:blank")` to reliably reset the view
142142
// state and release page resources (including any running JavaScript).
143143
protected static final String BLANK_URL = "about:blank";
144+
protected static final int SHOULD_OVERRIDE_URL_LOADING_TIMEOUT = 250;
144145
protected WebViewConfig mWebViewConfig;
145146

146147
protected RNCWebChromeClient mWebChromeClient = null;
@@ -806,14 +807,14 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) {
806807
try {
807808
assert lockObject != null;
808809
synchronized (lockObject) {
809-
final long startTime = System.nanoTime();
810+
final long startTime = SystemClock.elapsedRealtime();
810811
while (lockObject.get() == ShouldOverrideCallbackState.UNDECIDED) {
811-
if (TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTime) > 250) {
812+
if (SystemClock.elapsedRealtime() - startTime > SHOULD_OVERRIDE_URL_LOADING_TIMEOUT) {
812813
FLog.w(TAG, "Did not receive response to shouldOverrideUrlLoading in time, defaulting to allow loading.");
813814
RNCWebViewModule.shouldOverrideUrlLoadingLock.removeLock(lockIdentifier);
814815
return false;
815816
}
816-
lockObject.wait(250);
817+
lockObject.wait(SHOULD_OVERRIDE_URL_LOADING_TIMEOUT);
817818
}
818819
}
819820
} catch (InterruptedException e) {

0 commit comments

Comments
 (0)