Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import static rx.Observable.error;
- import static rx.Observable.fromCallable;
- import static rx.Observable.just;
- import static rx.schedulers.Schedulers.io;
- import com.groupon.grox.Action;
- import com.groupon.grox.commands.rxjava1.Command;
- import rx.Observable;
- public class LoginCommand implements Command {
- private LoginApiClient loginApiClient;
- private String username;
- private String password;
- public LoginCommand(CharSequence username, CharSequence password, LoginApiClient loginApiClient){
- this.username = username;
- this.password = password;
- this.loginApiClient = loginApiClient;
- }
- @Override
- public Observable<? extends Action> actions() {
- return loginApiClient.performLogin(username, password)
- .subscribeOn(io())
- .map(LoginSuccesfullAction::new)
- .cast(Action.class)
- .onErrorReturn(LoginFailedAction::new)
- .startWith(fromCallable(LoginInProgressAction::new));
- }
- }
Add Comment
Please, Sign In to add comment