Дооснащение 1.9 с помощью OkHttp 2.2 и перехватчиков

Я думал, что эти последние версии должны быть совместимы. Есть этот твит; Https://twitter.com/JakeWharton/status/553066921675857922, а также в журнале изменений Retrofit 1.9.

Однако, когда я пытаюсь это сделать:

OkHttpClient httpClient = new OkHttpClient(); httpClient.interceptors().add(new TokenExpiredInterceptor()); mRestAdapter = new RestAdapter.Builder() .setEndpoint(API_ENDPOINT) .setClient(httpClient) .setLogLevel(BuildConfig.DEBUG ? RestAdapter.LogLevel.FULL : RestAdapter.LogLevel.NONE) .setRequestInterceptor(new AuthorizationInterceptor()) .build(); 

Это все еще не работает. Метод setClient жалуется на несовместимый объект Client;

 Error:(29, 21) error: no suitable method found for setClient(OkHttpClient) method Builder.setClient(Client) is not applicable (argument mismatch; OkHttpClient cannot be converted to Client) method Builder.setClient(Provider) is not applicable (argument mismatch; OkHttpClient cannot be converted to Provider) 

Что мне не хватает? Я также вижу, что OkHttpClient не реализует клиентский интерфейс.

Я использую этот подход на данный момент; https://medium.com/@nullthemall/execute-retrofit-requests-directly-on-okhttp-2-2-7e919d87b64e

Я неправильно истолковал журнал изменений? Maye Retrofit 1.9 может использовать OkHttpClient 2.2, когда он находится в пути к классам, но интерфейс еще не адаптирован?

Вы передаете OkHttpClient в RestAdapter.Builder который принимает реализации Client . OkHttpClient , исключительно, не связан с Retrofit, если не используется в реализации Client .

Вы должны передать OkHttpClient в экземпляр OkClient который реализует Client

.setClient(new OkClient(httpClient))

 OkHttpClient httpClient = new OkHttpClient(); httpClient.interceptors().add(new TokenExpiredInterceptor()); mRestAdapter = new RestAdapter.Builder() .setEndpoint(API_ENDPOINT) .setClient(new OkClient(httpClient)) .setLogLevel(BuildConfig.DEBUG ? RestAdapter.LogLevel.FULL : RestAdapter.LogLevel.NONE) .setRequestInterceptor(new AuthorizationInterceptor()) .build();