Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ublic class RentalRequestPresenter extends Presenter implements RentalRequestInterface.Presenter {
- private ApiInterface apiInterface;
- private RentalRequestInterface.View view;
- private RentalRequest rentalRequest;
- @Inject public RentalRequestPresenter(ApiInterface apiInterface) {
- this.apiInterface = apiInterface;
- }
- @Override
- public void setView(RentalRequestInterface.View view) {
- this.view = view;
- }
- @Override
- public void setRentalRequest(@NonNull RentalRequest rentalRequest) {
- this.rentalRequest = rentalRequest;
- view.displayRentalRequest(rentalRequest);
- }
- @Override
- public boolean isRentalRequestChanged() {
- return (rentalRequest.note != null && !rentalRequest.note.isEmpty()) ||
- (rentalRequest.firstName != null && !rentalRequest.user.firstName.endsWith(rentalRequest.firstName)) ||
- (rentalRequest.lastName != null && !rentalRequest.user.lastName.endsWith(rentalRequest.lastName)) ||
- (rentalRequest.telephoneNumber != null && !rentalRequest.user.telephoneNumber.endsWith(rentalRequest.telephoneNumber));
- }
- public boolean isUserLoaded() {
- return !StringUtils.str(rentalRequest.user.city).isEmpty()
- && !StringUtils.str(rentalRequest.user.street).isEmpty();
- }
- @Override
- public void onContactDataClick(){
- if (rentalRequest.user == null) {
- view.showUserLoadingBlocker();
- return;
- }
- view.editUserData(rentalRequest);
- }
- @Override
- public void onCommentAddClicked() {
- view.editUserComment(rentalRequest);
- }
- @Override
- public void onSubmitClicked() {
- if (rentalRequest.user == null) return;
- if (!isUserLoaded()) return;
- if (StringUtils.str(rentalRequest.firstName).isEmpty() ||
- StringUtils.str(rentalRequest.lastName).isEmpty() ||
- StringUtils.str(rentalRequest.telephoneNumber).isEmpty()) return;
- view.setSendProgress(true);
- apiInterface
- .sendRentalRequest(rentalRequest.getFieldMap())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(rrSubmitObserver);
- }
- /**
- * This observer reacts on rental request submit
- */
- protected Observer<BaseResponse> rrSubmitObserver = new Observer<BaseResponse>() {
- @Override
- public void onCompleted() {
- }
- @Override
- public void onError(Throwable e) {
- view.setSendProgress(false);
- view.showSubmittingError(null);
- }
- @Override
- public void onNext(BaseResponse baseResponse) {
- view.setSendProgress(false);
- if (baseResponse.status) {
- view.onRentalRequestSent(rentalRequest);
- } else {
- view.showSubmittingError(baseResponse.getMesages());
- }
- }
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement