2

I have a singleton class for network connections. I want the timeout increased and have written the following code.

 BizAnalystApiv2 provideBizAnalystApiV2(final ObjectMapper mapper) {

    final HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
    if (BuildConfig.DEBUG) {
        logging.setLevel(HttpLoggingInterceptor.Level.BODY);
    } else {
        logging.setLevel(HttpLoggingInterceptor.Level.NONE);
    }

    final OkHttpClient client = new OkHttpClient.Builder()
            .addInterceptor(logging)
            .addInterceptor(new Interceptor() {
                @Override
                public Response intercept(Chain chain) throws IOException {
                    Request original = chain.request();
                    Request request = original.newBuilder()
                            .header("instanceId", FirebaseInstanceId.getInstance().getId())
                            .build();
                    return chain.proceed(request);
                }
            })
            .readTimeout(70, TimeUnit.SECONDS)
            .build();



    return new Retrofit.Builder()
            .addConverterFactory(JacksonConverterFactory.create(mapper))
            .client(client)
            .baseUrl(BizAnalystServicev2.getServerUrl())
            .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
            .build()
            .create(BizAnalystApiv2.class);
}

The timeout remains at 15 seconds which is the default timeout. Can you suggest what is the issue.

I am using okhttp(v 3.4.1) and retrofit (v 2.1.0)

suku
  • 10,507
  • 16
  • 75
  • 120

0 Answers0