Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Override
- public Observable<ResponseHttp<User>> loginUser
- (final request.Login loginRequest) {
- String email = loginRequest.getEmail();
- String password = loginRequest.getPassword();
- final String pushBotsToken = loginRequest.getPushBotsToken();
- return service.loginUser(email, password)
- .subscribeOn(Schedulers.newThread())
- .observeOn(AndroidSchedulers.mainThread())
- .flatMap(new Function<LoginUser, ObservableSource<ResponseHttp<User>>>() {
- @Override
- public ObservableSource<ResponseHttp<User>> apply(@NonNull final LoginUser loginUser)
- throws Exception {
- Log.d(TAG, "apply: loginUser "+ loginUser.getId());
- return service.associatePushBotsO(pushBotsToken)
- .subscribeOn(Schedulers.newThread())
- .observeOn(AndroidSchedulers.mainThread())
- .map(new Function<ResponseBody, ResponseHttp<User>>() {
- @Override
- public ResponseHttp<User> apply(@NonNull ResponseBody responseBody) throws Exception {
- Log.d(TAG, "associatePushBots apply: map ");
- return new ResponseHttp<>(200, new Login(loginUser).getOriginalObject());
- }
- });
- }
- })
- .onErrorReturn(new Function<Throwable, ResponseHttp<User>>() {
- @Override
- public ResponseHttp<User> apply(@NonNull Throwable throwable) throws Exception {
- ResponseHttp<User> res;
- if (throwable instanceof HttpException) {
- HttpException exception = (HttpException) throwable;
- res = new ResponseHttp<>(exception.response().code());
- if (res.code / 100 == 5) {
- throw new ServerError("Algo salió mal", res.code);
- }
- } else {
- throw new Exception(throwable);
- }
- return res;
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement