Skip to content

Commit a42f718

Browse files
committed
Import ShouldOverrideCallbackState for shorter lines and more clear isJsDebugging
1 parent dbec1fc commit a42f718

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
import androidx.core.util.Pair;
4545

4646
import com.facebook.common.logging.FLog;
47-
import com.facebook.react.bridge.JavaScriptContextHolder;
4847
import com.facebook.react.views.scroll.ScrollEvent;
4948
import com.facebook.react.views.scroll.ScrollEventType;
5049
import com.facebook.react.views.scroll.OnScrollDispatchHelper;
@@ -68,6 +67,7 @@
6867
import com.facebook.react.uimanager.events.ContentSizeChangeEvent;
6968
import com.facebook.react.uimanager.events.Event;
7069
import com.facebook.react.uimanager.events.EventDispatcher;
70+
import com.reactnativecommunity.webview.RNCWebViewModule.ShouldOverrideUrlLoadingLock.ShouldOverrideCallbackState;
7171
import com.reactnativecommunity.webview.events.TopLoadingErrorEvent;
7272
import com.reactnativecommunity.webview.events.TopHttpErrorEvent;
7373
import com.reactnativecommunity.webview.events.TopLoadingFinishEvent;
@@ -792,12 +792,12 @@ public void onPageStarted(WebView webView, String url, Bitmap favicon) {
792792
@Override
793793
public boolean shouldOverrideUrlLoading(WebView view, String url) {
794794
final RNCWebView rncWebView = (RNCWebView) view;
795-
final JavaScriptContextHolder jsContext = ((ReactContext) view.getContext()).getJavaScriptContextHolder();
795+
final boolean isJsDebugging = ((ReactContext) view.getContext()).getJavaScriptContextHolder().get() == 0;
796796

797-
if (jsContext.get() != 0 && rncWebView.mCatalystInstance != null) {
798-
final Pair<Integer, AtomicReference<RNCWebViewModule.ShouldOverrideUrlLoadingLock.ShouldOverrideCallbackState>> lock = RNCWebViewModule.shouldOverrideUrlLoadingLock.getNewLock();
797+
if (! isJsDebugging && rncWebView.mCatalystInstance != null) {
798+
final Pair<Integer, AtomicReference<ShouldOverrideCallbackState>> lock = RNCWebViewModule.shouldOverrideUrlLoadingLock.getNewLock();
799799
final int lockIdentifier = lock.first;
800-
final AtomicReference<RNCWebViewModule.ShouldOverrideUrlLoadingLock.ShouldOverrideCallbackState> lockObject = lock.second;
800+
final AtomicReference<ShouldOverrideCallbackState> lockObject = lock.second;
801801

802802
final WritableMap event = createWebViewEvent(view, url);
803803
event.putInt("lockIdentifier", lockIdentifier);
@@ -807,7 +807,7 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) {
807807
assert lockObject != null;
808808
synchronized (lockObject) {
809809
final long startTime = System.nanoTime();
810-
while (lockObject.get() == RNCWebViewModule.ShouldOverrideUrlLoadingLock.ShouldOverrideCallbackState.UNDECIDED) {
810+
while (lockObject.get() == ShouldOverrideCallbackState.UNDECIDED) {
811811
if (TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTime) > 250) {
812812
FLog.w(TAG, "Did not receive response to shouldOverrideUrlLoading in time, defaulting to allow loading.");
813813
RNCWebViewModule.shouldOverrideUrlLoadingLock.removeLock(lockIdentifier);
@@ -822,7 +822,7 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) {
822822
return false;
823823
}
824824

825-
final boolean shouldOverride = lockObject.get() == RNCWebViewModule.ShouldOverrideUrlLoadingLock.ShouldOverrideCallbackState.SHOULD_OVERRIDE;
825+
final boolean shouldOverride = lockObject.get() == ShouldOverrideCallbackState.SHOULD_OVERRIDE;
826826
RNCWebViewModule.shouldOverrideUrlLoadingLock.removeLock(lockIdentifier);
827827

828828
return shouldOverride;

0 commit comments

Comments
 (0)