protected void SubscribeToastDialog(IBaseViewModel viewModel) { viewModel.ToastRequestLiveData.Observe(LifecycleManager, OnToast, e => Log.Error("BaseActivity", "error observing ToastRequestLiveData", e)); viewModel.AlertRequestLiveData.Observe(LifecycleManager, OnDialog, e => Log.Error("BaseActivity", "error observing AlertRequestLiveData", e)); }
/// <summary> /// Makes PostLogin call to Services - get session token /// </summary> public void Login(string username, string password, bool saveToken) { LoginRequestStatusSubject.OnNext(LoginRequestStatus.Pending); _restServices.PostLogin(username, password) .SubscribeOn(_rxSchedulersFacade.IO()) .ObserveOn(_rxSchedulersFacade.IO()) .Subscribe( data => { if (data == null) { _log.Info("AuthRepository", "LoginPost returned null"); LoginRequestStatusSubject.OnNext(LoginRequestStatus.Error); return; } if (data.Status == LoginResultStatusEnum.Logged) { _log.Info("AuthRepository", "received session token"); if (saveToken) { _authService.SaveToken(username, data.Token, data.RefreshToken); } else { _authService.SetSingleSessionToken(username, data.Token, data.RefreshToken); } AuthStatus.OnNext(AuthStatusEnum.Logged); LoginRequestStatusSubject.OnNext(LoginRequestStatus.Authorized); } else if (data.Status == LoginResultStatusEnum.NotAuthorized) { _log.Info("AuthRepository", "user not authorized"); LoginRequestStatusSubject.OnNext(LoginRequestStatus.Unauthorized); } else { _log.Info("AuthRepository", "bad cardinals"); LoginRequestStatusSubject.OnNext(LoginRequestStatus.BadLogin); } }, e => { if (e.InnerException != null && e.InnerException.Message.Contains("ConnectFailure (Network is unreachable)")) { _log.Error("AuthRepository", "no network", e); LoginRequestStatusSubject.OnNext(LoginRequestStatus.NoNetwork); } else { _log.Error("AuthRepository", "Login failed", e); LoginRequestStatusSubject.OnNext(LoginRequestStatus.Error); } }); _log.Info("AuthRepository", "PostLogin"); }
public bool CheckNetworkStatus() { if (_connectivityManager == null) { _log.Error("ConnectionStatusRepository", "Internet status: failed to get status!"); return(false); } var networkInfo = _connectivityManager.ActiveNetworkInfo; if (networkInfo == null) { _log.Error("ConnectionStatusRepository", "Internet status: no service!"); return(false); } return(true); }
/// <summary> /// Makes PostForgotPassword call /// </summary> public void RequestPasswordReset(string login, string email) { ForgotPasswordRequestStatusSubject.OnNext(ForgotPasswordRequestStatus.Pending); _disposable.Add(_restServices.PostForgotPassword(login, email) .ObserveOn(_rxSchedulersFacade.IO()) .SubscribeOn(_rxSchedulersFacade.IO()) .Subscribe(result => { if (result.Status == ForgotPasswordStatusEnum.Ok) { _log.Info("ForgotPasswordRepository", "successful reset password request"); ForgotPasswordRequestStatusSubject.OnNext(ForgotPasswordRequestStatus.Success); } else { _log.Info("ForgotPasswordRepository", "bad reset password request"); ForgotPasswordRequestStatusSubject.OnNext(ForgotPasswordRequestStatus.BadData); } }, e => { if (e.InnerException != null && e.InnerException.Message.Contains("ConnectFailure (Network is unreachable)")) { _log.Error("ForgotPasswordRepository", "no network", e); ForgotPasswordRequestStatusSubject.OnNext(ForgotPasswordRequestStatus.NoNetwork); } else { _log.Error("ForgotPasswordRepository", "error occured during PostForgotPassword call", e); ForgotPasswordRequestStatusSubject.OnNext(ForgotPasswordRequestStatus.Error); } })); _log.Info("ForgotPasswordRepository", "call to PostForgotPassword"); }