diff --git a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java index abbd9256fa..69a417078f 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +++ b/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java @@ -41,6 +41,7 @@ public final class ReconnectingWebSocket extends WebSocketListener { private final String mUrl; private final Handler mHandler; + private final OkHttpClient mOkHttpClient; private boolean mClosed = false; private boolean mSuppressConnectionErrors; private @Nullable WebSocket mWebSocket; @@ -56,6 +57,12 @@ public final class ReconnectingWebSocket extends WebSocketListener { mMessageCallback = messageCallback; mConnectionCallback = connectionCallback; mHandler = new Handler(Looper.getMainLooper()); + mOkHttpClient = + new OkHttpClient.Builder() + .connectTimeout(10, TimeUnit.SECONDS) + .writeTimeout(10, TimeUnit.SECONDS) + .readTimeout(0, TimeUnit.MINUTES) // Disable timeouts for read + .build(); } public void connect() { @@ -63,15 +70,8 @@ public final class ReconnectingWebSocket extends WebSocketListener { throw new IllegalStateException("Can't connect closed client"); } - OkHttpClient httpClient = - new OkHttpClient.Builder() - .connectTimeout(10, TimeUnit.SECONDS) - .writeTimeout(10, TimeUnit.SECONDS) - .readTimeout(0, TimeUnit.MINUTES) // Disable timeouts for read - .build(); - Request request = new Request.Builder().url(mUrl).build(); - httpClient.newWebSocket(request, this); + mOkHttpClient.newWebSocket(request, this); } private synchronized void delayedReconnect() {