Advertisement
Guest User

Untitled

a guest
Mar 2nd, 2016
308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.78 KB | None | 0 0
  1.         service.getContactsTest(getAccessToken())
  2.                 .subscribeOn(Schedulers.newThread())
  3.                 //В ValidateResponseOrThrow я проверяю какой респонс мне сам сервак прислал, и сровлю свой кастомный эксепшн если не саксес
  4.                 .doOnNext(new ValidateResponseOrThrow())
  5.                 .subscribeOn(AndroidSchedulers.mainThread())
  6.                 //вот тут пиздец, никак не пойму как сделать красиво, нужно словить ошибку и вывести ее юзеру.
  7.                 .doOnError(throwable -> {
  8.                     int errorCode;
  9.                     if (throwable instanceof ApiFailureRequestException) {
  10.                         errorCode = ((ApiFailureRequestException) throwable).getErrorMessageId();
  11.                     } else {
  12.                         errorCode = ApiResponseCodes.getErrorMessageId(ApiResponseCodes.INTERNAL_SERVER_ERROR);
  13.                     }
  14.                     ToastsUtil.shortToast(getActivity(), errorCode);
  15.                 })
  16.                 .observeOn(Schedulers.computation())
  17.                 //Нужно бы через флетмап делать, но у меня уже были методы которые в форе мапят лист в нужные объекты, да и вставка в бд через булкинсерт, потому нужно будет с флетмапа еще мерджить ответ как-то, пока хз как.
  18.                 .map(baseResponse -> ModelConverter.convertContactList(baseResponse.getResponse().getContactList()))
  19.                 .observeOn(Schedulers.io())
  20.                 .subscribe(contacts -> DatabaseHelper.getInstance(getActivity()).saveContacts(contacts));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement