Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.95 KB | None | 0 0
  1. ublic class RentalRequestPresenter extends Presenter implements RentalRequestInterface.Presenter {
  2.  
  3. private ApiInterface apiInterface;
  4.  
  5. private RentalRequestInterface.View view;
  6. private RentalRequest rentalRequest;
  7.  
  8. @Inject public RentalRequestPresenter(ApiInterface apiInterface) {
  9. this.apiInterface = apiInterface;
  10. }
  11.  
  12. @Override
  13. public void setView(RentalRequestInterface.View view) {
  14. this.view = view;
  15. }
  16.  
  17. @Override
  18. public void setRentalRequest(@NonNull RentalRequest rentalRequest) {
  19. this.rentalRequest = rentalRequest;
  20. view.displayRentalRequest(rentalRequest);
  21. }
  22.  
  23. @Override
  24. public boolean isRentalRequestChanged() {
  25. return (rentalRequest.note != null && !rentalRequest.note.isEmpty()) ||
  26. (rentalRequest.firstName != null && !rentalRequest.user.firstName.endsWith(rentalRequest.firstName)) ||
  27. (rentalRequest.lastName != null && !rentalRequest.user.lastName.endsWith(rentalRequest.lastName)) ||
  28. (rentalRequest.telephoneNumber != null && !rentalRequest.user.telephoneNumber.endsWith(rentalRequest.telephoneNumber));
  29. }
  30.  
  31. public boolean isUserLoaded() {
  32. return !StringUtils.str(rentalRequest.user.city).isEmpty()
  33. && !StringUtils.str(rentalRequest.user.street).isEmpty();
  34. }
  35.  
  36. @Override
  37. public void onContactDataClick(){
  38. if (rentalRequest.user == null) {
  39. view.showUserLoadingBlocker();
  40. return;
  41. }
  42. view.editUserData(rentalRequest);
  43. }
  44.  
  45. @Override
  46. public void onCommentAddClicked() {
  47. view.editUserComment(rentalRequest);
  48. }
  49.  
  50.  
  51. @Override
  52. public void onSubmitClicked() {
  53. if (rentalRequest.user == null) return;
  54. if (!isUserLoaded()) return;
  55. if (StringUtils.str(rentalRequest.firstName).isEmpty() ||
  56. StringUtils.str(rentalRequest.lastName).isEmpty() ||
  57. StringUtils.str(rentalRequest.telephoneNumber).isEmpty()) return;
  58. view.setSendProgress(true);
  59. apiInterface
  60. .sendRentalRequest(rentalRequest.getFieldMap())
  61. .subscribeOn(Schedulers.io())
  62. .observeOn(AndroidSchedulers.mainThread())
  63. .subscribe(rrSubmitObserver);
  64. }
  65.  
  66. /**
  67. * This observer reacts on rental request submit
  68. */
  69. protected Observer<BaseResponse> rrSubmitObserver = new Observer<BaseResponse>() {
  70.  
  71. @Override
  72. public void onCompleted() {
  73.  
  74. }
  75.  
  76. @Override
  77. public void onError(Throwable e) {
  78. view.setSendProgress(false);
  79. view.showSubmittingError(null);
  80. }
  81.  
  82. @Override
  83. public void onNext(BaseResponse baseResponse) {
  84. view.setSendProgress(false);
  85. if (baseResponse.status) {
  86. view.onRentalRequestSent(rentalRequest);
  87. } else {
  88. view.showSubmittingError(baseResponse.getMesages());
  89. }
  90. }
  91. };
  92.  
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement