Evitar que OkHttp / Retrofit evite el proxy

Cuando OkHttp intenta un proxy, y esa ruta falla una vez, cada solicitud después de esa solicitud omitirá completamente el proxy del sistema de Android. Así que es difícil de depurar con Charles.

Actualmente tengo el código de abajo, pero se ha configurado para ser sólo para las compilaciones de depuración. Funciona muy bien, pero es un hack, y estamos tratando de liberar esto para todos los usuarios.

¿Hay alguna configuración oculta de OkHttpClient.dontBypassProxy que no puedo encontrar? ¿O, el código abajo parece una buena solución?

OkHttpClient.Builder baseClientBuilder = new OkHttpClient.Builder().retryOnConnectionFailure(false).connectionPool(new ConnectionPool(5, 20, TimeUnit.SECONDS)); //Ask OkHttp what proxies we have setup List<Proxy> proxies = ProxySelector.getDefault().select(URI.create("http://www.somesite.com")); if (proxies.size() > 0 && proxies.get(0) != Proxy.NO_PROXY) { //Force OkHttp to always use this proxy baseClientBuilder.proxy(proxies.get(0)); } 

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.