diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java index 82c2a679b15..5b24caff523 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java @@ -14,7 +14,6 @@ import androidx.annotation.Nullable; import com.facebook.common.logging.FLog; import com.facebook.fbreact.specs.NativeNetworkingAndroidSpec; import com.facebook.react.bridge.Arguments; -import com.facebook.react.bridge.GuardedAsyncTask; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactMethod; import com.facebook.react.bridge.ReadableArray; @@ -673,14 +672,7 @@ public final class NetworkingModule extends NativeNetworkingAndroidSpec { } private void cancelRequest(final int requestId) { - // We have to use AsyncTask since this might trigger a NetworkOnMainThreadException, this is an - // open issue on OkHttp: https://github.com/square/okhttp/issues/869 - new GuardedAsyncTask(getReactApplicationContext()) { - @Override - protected void doInBackgroundGuarded(Void... params) { - OkHttpCallUtil.cancelTag(mClient, Integer.valueOf(requestId)); - } - }.execute(); + OkHttpCallUtil.cancelTag(mClient, Integer.valueOf(requestId)); } @ReactMethod diff --git a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/network/NetworkingModuleTest.kt b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/network/NetworkingModuleTest.kt index 6c3898125bd..11992278523 100644 --- a/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/network/NetworkingModuleTest.kt +++ b/packages/react-native/ReactAndroid/src/test/java/com/facebook/react/modules/network/NetworkingModuleTest.kt @@ -30,7 +30,6 @@ import okio.Buffer import org.assertj.core.api.Assertions.assertThat import org.junit.After import org.junit.Before -import org.junit.Ignore import org.junit.Test import org.junit.runner.RunWith import org.mockito.MockedStatic @@ -73,7 +72,7 @@ class NetworkingModuleTest { context = mock() whenever(context.hasActiveReactInstance()).thenReturn(true) - networkingModule = NetworkingModule(context, "", httpClient) + networkingModule = NetworkingModule(context, "", httpClient, null) arguments = mockStatic(Arguments::class.java) arguments.`when` { Arguments.createArray() }.thenAnswer { JavaOnlyArray() } @@ -477,12 +476,11 @@ class NetworkingModuleTest { } @Test - @Ignore("TODO: Fix me (T171890419)") fun testCancelAllCallsInvalidate() { val requests = 3 - val calls = arrayOfNulls(requests) + val calls = mutableListOf() for (idx in 0 until requests) { - calls[idx] = mock() + calls.add(mock()) } whenever(httpClient.newCall(any())).thenAnswer { invocation -> @@ -507,11 +505,9 @@ class NetworkingModuleTest { verify(httpClient, times(3)).newCall(any()) networkingModule.invalidate() - val clientArguments = argumentCaptor() val requestIdArguments = argumentCaptor() okHttpCallUtil.verify( - { OkHttpCallUtil.cancelTag(clientArguments.capture(), requestIdArguments.capture()) }, - times(3)) + { OkHttpCallUtil.cancelTag(any(), requestIdArguments.capture()) }, times(requests)) assertThat(requestIdArguments.allValues.size).isEqualTo(requests) for (idx in 0 until requests) { @@ -520,7 +516,6 @@ class NetworkingModuleTest { } @Test - @Ignore("TODO: Fix me (T171890419)") fun testCancelSomeCallsInvalidate() { val requests = 3 val calls = arrayOfNulls(requests)