Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- service.getContactsTest(getAccessToken())
- .subscribeOn(Schedulers.newThread())
- //В ValidateResponseOrThrow я проверяю какой респонс мне сам сервак прислал, и сровлю свой кастомный эксепшн если не саксес
- .doOnNext(new ValidateResponseOrThrow())
- .subscribeOn(AndroidSchedulers.mainThread())
- //вот тут пиздец, никак не пойму как сделать красиво, нужно словить ошибку и вывести ее юзеру.
- .doOnError(throwable -> {
- int errorCode;
- if (throwable instanceof ApiFailureRequestException) {
- errorCode = ((ApiFailureRequestException) throwable).getErrorMessageId();
- } else {
- errorCode = ApiResponseCodes.getErrorMessageId(ApiResponseCodes.INTERNAL_SERVER_ERROR);
- }
- ToastsUtil.shortToast(getActivity(), errorCode);
- })
- .observeOn(Schedulers.computation())
- //Нужно бы через флетмап делать, но у меня уже были методы которые в форе мапят лист в нужные объекты, да и вставка в бд через булкинсерт, потому нужно будет с флетмапа еще мерджить ответ как-то, пока хз как.
- .map(baseResponse -> ModelConverter.convertContactList(baseResponse.getResponse().getContactList()))
- .observeOn(Schedulers.io())
- .subscribe(contacts -> DatabaseHelper.getInstance(getActivity()).saveContacts(contacts));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement