Я пытаюсь передать состояние загрузки, успеха и ошибки при использовании Retrofit
с RxJava
. Мой вывод обернут в Response
из пакета Retrofit
и хотел бы использовать метод startWith
из RxJava
для передачи статуса loading
из класса Resource
. Когда я добавляю startWith
код не работает и имеет синтаксическую ошибку.
Модифицированный интерфейс:
@POST
@FormUrlEncoded
Flowable<Response<ResponseMobileGetAccess>> getAccess(@Url String url, @FieldMap HashMap<String, Object> requestModel);
Место, где я выполняю этот метод с помощью RxJava:
public Flowable<Resource<ResponseMobileGetAccess>> registerMobile(
@NonNull String username) {
HashMap<String, Object> body = new HashMap<>();
body.put("param1", ACTION_MOBILE_GET_ACCESS);
return Flowable
.defer(() -> localAccountMobileApiService.getAccess(ACTION_MOBILE_GET_ACCESS, body)
.map(response -> {
if (responseMobileGetAccessResponse.isSuccessful()) {
return Resource.success(responseMobileGetAccessResponse.body());
} else {
return Resource.error();
}
})).startWith(Resource.loading());
}
Заранее спасибо