diff --git a/app/src/main/java/com/example/sprout/refactor/repository/RegistrationRepository.java b/app/src/main/java/com/example/sprout/refactor/repository/RegistrationRepository.java index 0f41a14..16ae86f 100644 --- a/app/src/main/java/com/example/sprout/refactor/repository/RegistrationRepository.java +++ b/app/src/main/java/com/example/sprout/refactor/repository/RegistrationRepository.java @@ -20,6 +20,7 @@ private RegistrationService registrationService = null; private Subject registrationSubject = PublishSubject.create().toSerialized(); + private Subject registrationErrorSubject = PublishSubject.create().toSerialized(); public RegistrationRepository() { this.registrationService = new Retrofit @@ -46,12 +47,16 @@ registrationSubject.onNext(account); }, error -> { - System.out.println("error"); - // TODO:error handling + System.out.println("hogehoge"); + registrationErrorSubject.onNext(error); }); } public Observable getRegistrationObservable() { return registrationSubject.hide(); } + + public Observable getRegistrationErrorObservable() { + return registrationErrorSubject.hide(); + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/sprout/refactor/viewmodel/RegistrationViewModel.java b/app/src/main/java/com/example/sprout/refactor/viewmodel/RegistrationViewModel.java index c4ddc8d..bcfbe0a 100644 --- a/app/src/main/java/com/example/sprout/refactor/viewmodel/RegistrationViewModel.java +++ b/app/src/main/java/com/example/sprout/refactor/viewmodel/RegistrationViewModel.java @@ -54,14 +54,20 @@ registrationRepository.getRegistrationObservable() .observeOn(AndroidSchedulers.mainThread()) .subscribe(account -> { - ModelLocator.getModel(ModelLocator.Tag.ACCOUNT, Account.class).setAccount(account); - preferenceUtil.saveInt(PreferenceUtil.Key.USER_ID, account.getUserID()); - preferenceUtil.saveBoolean(PreferenceUtil.Key.REGISTERED, true); - toastMessanger.showToast(new ToastMessage(Sprout.get().getResources().getString(R.string.success_registration), ToastMessage.Length.LONG)); - navigationMessenger.navigateTo(new NavigationMessage(NavigationMessage.Type.Start, RoomListActivity.class)); - navigationMessenger.navigateTo(new NavigationMessage(NavigationMessage.Type.Finsih)); - }, error -> { - toastMessanger.showToast(new ToastMessage(Sprout.get().getResources().getString(R.string.fail_registration), ToastMessage.Length.SHORT)); + ModelLocator.getModel(ModelLocator.Tag.ACCOUNT, Account.class).setAccount(account); + preferenceUtil.saveInt(PreferenceUtil.Key.USER_ID, account.getUserID()); + preferenceUtil.saveBoolean(PreferenceUtil.Key.REGISTERED, true); + toastMessanger.showToast(new ToastMessage(Sprout.get().getResources().getString(R.string.success_registration), ToastMessage.Length.LONG)); + navigationMessenger.navigateTo(new NavigationMessage(NavigationMessage.Type.Start, RoomListActivity.class)); + navigationMessenger.navigateTo(new NavigationMessage(NavigationMessage.Type.Finsih)); + } + )) + ; + subscriptions.add( + registrationRepository.getRegistrationErrorObservable() + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(error -> { + toastMessanger.showToast(new ToastMessage(Sprout.get().getResources().getString(R.string.fail_registration), ToastMessage.Length.LONG)); }) ); }