From 01a9c9ae1728fce5f80158189551b3f42ccfa016 Mon Sep 17 00:00:00 2001 From: helloJetBase-tech <178346048+marktech0813@users.noreply.github.com> Date: Wed, 12 Nov 2025 02:29:58 +0200 Subject: [PATCH 1/5] Slow server response. #616 Updated app/src/main/java/com/networking/MyApplication.java to build an OkHttpClient with 120s connect/read/write timeouts and pass it to AndroidNetworking.initialize(...). Exposed getOkHttpClient() to reuse. Contribution by Gittensor, learn more at https://gittensor.io/ --- .../main/java/com/networking/MyApplication.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/networking/MyApplication.java b/app/src/main/java/com/networking/MyApplication.java index d4c34a7b..784e80c0 100644 --- a/app/src/main/java/com/networking/MyApplication.java +++ b/app/src/main/java/com/networking/MyApplication.java @@ -25,6 +25,10 @@ import com.androidnetworking.common.ConnectionQuality; import com.androidnetworking.interfaces.ConnectionQualityChangeListener; +import java.util.concurrent.TimeUnit; + +import okhttp3.OkHttpClient; + /** * Created by amitshekhar on 22/03/16. */ @@ -32,16 +36,27 @@ public class MyApplication extends Application { private static final String TAG = MyApplication.class.getSimpleName(); private static MyApplication appInstance = null; + private OkHttpClient okHttpClient; public static MyApplication getInstance() { return appInstance; } + public OkHttpClient getOkHttpClient() { + return okHttpClient; + } + @Override public void onCreate() { super.onCreate(); appInstance = this; - AndroidNetworking.initialize(getApplicationContext()); + okHttpClient = new OkHttpClient.Builder() + .connectTimeout(120, TimeUnit.SECONDS) + .readTimeout(120, TimeUnit.SECONDS) + .writeTimeout(120, TimeUnit.SECONDS) + .retryOnConnectionFailure(true) + .build(); + AndroidNetworking.initialize(getApplicationContext(), okHttpClient); BitmapFactory.Options options = new BitmapFactory.Options(); options.inPurgeable = true; AndroidNetworking.setBitmapDecodeOptions(options); From 8a6894b1f47357f75e28d1a1ce3e94f1d589b9e8 Mon Sep 17 00:00:00 2001 From: helloJetBase-tech <178346048+marktech0813@users.noreply.github.com> Date: Wed, 12 Nov 2025 02:31:00 +0200 Subject: [PATCH 2/5] Slow server response. #616 Updated per-request overrides in app: app/src/main/java/com/networking/ApiTestActivity.java (2 spots) to use MyApplication.getInstance().getOkHttpClient(). Contribution by Gittensor, learn more at https://gittensor.io/ --- app/src/main/java/com/networking/ApiTestActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/networking/ApiTestActivity.java b/app/src/main/java/com/networking/ApiTestActivity.java index 16c5e3b7..04787c19 100644 --- a/app/src/main/java/com/networking/ApiTestActivity.java +++ b/app/src/main/java/com/networking/ApiTestActivity.java @@ -747,7 +747,7 @@ public void disableGzipForCustomRequest(View view) { .addBodyParameter("firstname", "Amit") .addBodyParameter("lastname", "Shekhar") .setTag(this) - .setOkHttpClient(new OkHttpClient()) + .setOkHttpClient(MyApplication.getInstance().getOkHttpClient()) .setPriority(Priority.LOW) .build() .setAnalyticsListener(new AnalyticsListener() { @@ -789,7 +789,7 @@ public void checkCacheForCustomClient(View view) { AndroidNetworking.download(url, Utils.getRootDirPath(getApplicationContext()), "file1.zip") .setPriority(Priority.HIGH) .setTag(this) - .setOkHttpClient(new OkHttpClient()) + .setOkHttpClient(MyApplication.getInstance().getOkHttpClient()) .build() .setAnalyticsListener(new AnalyticsListener() { @Override From 7687bbda2ad15ec6a4e4ec8c3b36deae98d05604 Mon Sep 17 00:00:00 2001 From: helloJetBase-tech <178346048+marktech0813@users.noreply.github.com> Date: Wed, 12 Nov 2025 02:31:46 +0200 Subject: [PATCH 3/5] Use MyApplication's OkHttpClient in networking calls app/src/main/java/com/networking/OkHttpResponseTestActivity.java (2 spots) to use the same shared client. Contribution by Gittensor, learn more at https://gittensor.io/ --- .../main/java/com/networking/OkHttpResponseTestActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/networking/OkHttpResponseTestActivity.java b/app/src/main/java/com/networking/OkHttpResponseTestActivity.java index fc82c946..a895f9f0 100644 --- a/app/src/main/java/com/networking/OkHttpResponseTestActivity.java +++ b/app/src/main/java/com/networking/OkHttpResponseTestActivity.java @@ -695,7 +695,7 @@ public void disableGzipForCustomRequest(View view) { .addBodyParameter("firstname", "Amit") .addBodyParameter("lastname", "Shekhar") .setTag(this) - .setOkHttpClient(new OkHttpClient()) + .setOkHttpClient(MyApplication.getInstance().getOkHttpClient()) .setPriority(Priority.LOW) .build() .setAnalyticsListener(new AnalyticsListener() { @@ -731,7 +731,7 @@ public void checkCacheForCustomClient(View view) { AndroidNetworking.download(url, Utils.getRootDirPath(getApplicationContext()), "file1.zip") .setPriority(Priority.HIGH) .setTag(this) - .setOkHttpClient(new OkHttpClient()) + .setOkHttpClient(MyApplication.getInstance().getOkHttpClient()) .build() .setAnalyticsListener(new AnalyticsListener() { @Override From e70da777a97553838ef203f9314902c2c3a7138c Mon Sep 17 00:00:00 2001 From: helloJetBase-tech <178346048+marktech0813@users.noreply.github.com> Date: Wed, 12 Nov 2025 02:33:14 +0200 Subject: [PATCH 4/5] Configure OkHttpClient with timeouts for networking Updated Rx sample apps to use the same approach: rxsampleapp/src/main/java/com/rxsampleapp/RxMyApplication.java rx2sampleapp/src/main/java/com/rx2sampleapp/Rx2MyApplication.java Contribution by Gittensor, learn more at https://gittensor.io/ --- .../java/com/rxsampleapp/RxMyApplication.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/rxsampleapp/src/main/java/com/rxsampleapp/RxMyApplication.java b/rxsampleapp/src/main/java/com/rxsampleapp/RxMyApplication.java index 1a0d20ce..10c1c45f 100644 --- a/rxsampleapp/src/main/java/com/rxsampleapp/RxMyApplication.java +++ b/rxsampleapp/src/main/java/com/rxsampleapp/RxMyApplication.java @@ -23,10 +23,15 @@ import com.androidnetworking.common.ConnectionQuality; import com.androidnetworking.interfaces.ConnectionQualityChangeListener; +import java.util.concurrent.TimeUnit; + +import okhttp3.OkHttpClient; + public class RxMyApplication extends Application { private static final String TAG = RxMyApplication.class.getSimpleName(); private static RxMyApplication appInstance = null; + private OkHttpClient okHttpClient; public static RxMyApplication getInstance() { return appInstance; @@ -36,7 +41,13 @@ public static RxMyApplication getInstance() { public void onCreate() { super.onCreate(); appInstance = this; - AndroidNetworking.initialize(getApplicationContext()); + okHttpClient = new OkHttpClient.Builder() + .connectTimeout(120, TimeUnit.SECONDS) + .readTimeout(120, TimeUnit.SECONDS) + .writeTimeout(120, TimeUnit.SECONDS) + .retryOnConnectionFailure(true) + .build(); + AndroidNetworking.initialize(getApplicationContext(), okHttpClient); AndroidNetworking.enableLogging(); AndroidNetworking.setConnectionQualityChangeListener(new ConnectionQualityChangeListener() { @Override @@ -46,4 +57,4 @@ public void onChange(ConnectionQuality currentConnectionQuality, int currentBand }); } -} \ No newline at end of file +} From 350f5aefcd2e3bd60fd8fb76454c61e6f8c8230f Mon Sep 17 00:00:00 2001 From: helloJetBase-tech <178346048+marktech0813@users.noreply.github.com> Date: Wed, 12 Nov 2025 02:33:56 +0200 Subject: [PATCH 5/5] Configure OkHttpClient with custom timeouts Updated Rx sample apps to use the same approach: rxsampleapp/src/main/java/com/rxsampleapp/RxMyApplication.java rx2sampleapp/src/main/java/com/rx2sampleapp/Rx2MyApplication.java Contribution by Gittensor, learn more at https://gittensor.io/ --- .../java/com/rx2sampleapp/Rx2MyApplication.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/rx2sampleapp/src/main/java/com/rx2sampleapp/Rx2MyApplication.java b/rx2sampleapp/src/main/java/com/rx2sampleapp/Rx2MyApplication.java index e5569bcb..8f504e4e 100644 --- a/rx2sampleapp/src/main/java/com/rx2sampleapp/Rx2MyApplication.java +++ b/rx2sampleapp/src/main/java/com/rx2sampleapp/Rx2MyApplication.java @@ -23,10 +23,15 @@ import com.androidnetworking.common.ConnectionQuality; import com.androidnetworking.interfaces.ConnectionQualityChangeListener; +import java.util.concurrent.TimeUnit; + +import okhttp3.OkHttpClient; + public class Rx2MyApplication extends Application { private static final String TAG = Rx2MyApplication.class.getSimpleName(); private static Rx2MyApplication appInstance = null; + private OkHttpClient okHttpClient; public static Rx2MyApplication getInstance() { return appInstance; @@ -36,7 +41,13 @@ public static Rx2MyApplication getInstance() { public void onCreate() { super.onCreate(); appInstance = this; - AndroidNetworking.initialize(getApplicationContext()); + okHttpClient = new OkHttpClient.Builder() + .connectTimeout(120, TimeUnit.SECONDS) + .readTimeout(120, TimeUnit.SECONDS) + .writeTimeout(120, TimeUnit.SECONDS) + .retryOnConnectionFailure(true) + .build(); + AndroidNetworking.initialize(getApplicationContext(), okHttpClient); AndroidNetworking.enableLogging(); AndroidNetworking.setConnectionQualityChangeListener(new ConnectionQualityChangeListener() { @Override @@ -46,4 +57,4 @@ public void onChange(ConnectionQuality currentConnectionQuality, int currentBand }); } -} \ No newline at end of file +}