Я внедряю устаревшие при повторной проверке, используя Rx Java Observable. Идея состоит в том, чтобы создать интерфейсный метод по умолчанию для согласования с Observable. Это прекрасно работает без Proguard. Попробовав несколько правил Proguard, чтобы удалить методы интерфейса по умолчанию от обфусцирования, я пришел сюда, чтобы спросить вас, ребята, о решениях.
Вот пример кода интерфейса
public interface CacheService {
@GET("/get_feed_tiles/")
@Headers("Cache-Control: only-if-cached")
Observable<Response<BaseModel<List<StaticInfoSection>>>> getFeedTilesFromCache();
@GET("/get_feed_tiles/")
@Headers("Cache-Control: no-cache")
Observable<Response<BaseModel<List<StaticInfoSection>>>> getFeedTilesFromNetwork();
default Observable<Response<BaseModel<List<StaticInfoSection>>>> getFeedTiles(int notUsed) {
return Observable.concat(
getFeedTilesFromCache().onErrorResumeNext(throwable -> Observable.empty()),
getFeedTilesFromNetwork()
);
}
}