Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class SignUpPresenter implements SignUpContract.Presenter {
- private final DataRepository repository;
- private final SignUpContract.View view;
- private final CompositeSubscription subscriptions = new CompositeSubscription();
- SignUpPresenter(@NonNull DataRepository repository, @NonNull SignUpContract.View view) {
- this.repository = checkNotNull(repository);
- this.view = checkNotNull(view);
- }
- @Override
- public void stop() {
- RxUtils.unsubscribe(subscriptions);
- }
- @Override
- public void checkEmail(String email) {
- view.showProgress();
- subscriptions.add(repository.checkEmail(email)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(this::validationSuccess, throwable -> responseError(throwable.getMessage())));
- }
- @Override
- public void checkOrgName(String email, String orgName) {
- view.showProgress();
- subscriptions.add(repository.checkOrgName(email, orgName)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(this::validationSuccess, throwable -> responseError(throwable.getMessage())));
- }
- @Override
- public void checkOrgLink(String link) {
- view.showProgress();
- subscriptions.add(repository.checkOrgLink(link)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(this::validationSuccess, throwable -> responseError(throwable.getMessage())));
- }
- @Override
- public void checkUserName(String userName) {
- view.showProgress();
- subscriptions.add(repository.checkUserName(userName)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(this::validationSuccess, throwable -> responseError(throwable.getMessage())));
- }
- @Override
- public void signUp(String email, String orgName, String orgLink, String userName, String password) {
- view.showProgress();
- subscriptions.add(repository.signUp(email, orgName, orgLink, userName, password)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(SignUpPresenter.this::signUpSuccess, throwable -> responseError(throwable.getMessage())));
- }
- private void validationSuccess(PhoxResponse<ValidationStatus> response) {
- view.hideProgress();
- if (response.isSuccess()) {
- view.validationSuccess();
- } else {
- view.showError(response.getError().getMessage());
- }
- }
- private void signUpSuccess(PhoxResponse<User> response) {
- if (response.isSuccess()) {
- view.onSignUpSuccess(response.getData());
- } else {
- view.hideProgress();
- view.showError(response.getError().getMessage());
- }
- }
- private void responseError(String message) {
- view.hideProgress();
- view.showError(message);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement