title: CLEARTEXT communication not supported on Retrofit
body: <p>I'm trying to connect to https server on android using Retrofit. Here's my <code>OkHttpClient</code></p>
  
  <pre><code>@Provides
  public OkHttpClient provideContactClient(){
    HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
    ConnectionSpec spec = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
        .tlsVersions(TlsVersion.TLS_1_2)
        .cipherSuites(CipherSuite.TLS_RSA_WITH_DES_CBC_SHA,
            CipherSuite.TLS_RSA_WITH_AES_128_GCM_SHA256,
            CipherSuite.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256)
        .build();
    interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
    SSLSocketFactory sslSocketFactory = null;
    try {
      SSLContext sslContext = SSLContext.getInstance("TLS");
      sslContext.init(null, null, null);
      sslSocketFactory = sslContext.getSocketFactory();
    }catch (GeneralSecurityException e){
      e.printStackTrace();
    }
    return new OkHttpClient.Builder()
        .addInterceptor(interceptor)
        .connectionSpecs(Collections.singletonList(spec))
        .sslSocketFactory(sslSocketFactory)
        .authenticator(new Authenticator() {
          @Override
          public Request authenticate(Route route, Response response) throws IOException {
            if(responseCount(response) &gt;= 5){
              return null;
            }
            String credential = Credentials.basic("user", "pass");
            return response.request().newBuilder().header("Authorization", credential).build();
          }
        })
        .build();
  }
  </code></pre>
  
  <p>However I keep getting <code>CLEARTEXT communication not supported:</code> exception</p>
  
  <p>While debugging the <code>RealConnection</code> class I notice <code>route.address()</code> member does not have the <code>sslSocketFactory</code> despite it being assigned in Bulider.</p>