예제 #1
0
        public SplashViewModel(IAppRes appRes, IRxSchedulersFacade rxSchedulersFacade, IDeviceLog deviceLog,
                               IAuthRepository authRepository)
            : base(appRes, rxSchedulersFacade, deviceLog)
        {
            _authRepository = authRepository;

            RxDisposables.Add(_authRepository.AuthStatus
                              .ObserveOn(RxSchedulersFacade.IO())
                              .SubscribeOn(RxSchedulersFacade.IO())
                              .Subscribe(status =>
            {
                if (status == AuthStatusEnum.LoggedOut)
                {
                    StartupLiveData.PostValue(AppStartStatus.LoginRequired);
                }
                else if (status == AuthStatusEnum.NoInternet)
                {
                    StartupLiveData.PostValue(AppStartStatus.NoInternet);
                }
            }, e =>
            {
                StartupLiveData.PostValue(AppStartStatus.LoginRequired);
                Log.Error("SplashViewModel", "error subscribing to AuthStatus", e);
            }));
        }
예제 #2
0
        public MainViewModel(IAppRes appRes, IRxSchedulersFacade rxSchedulersFacade, IDeviceLog deviceLog,
                             IAuthRepository authRepository) : base(appRes, rxSchedulersFacade, deviceLog)
        {
            _authRepository = authRepository;

            RxDisposables.Add(authRepository.AuthStatus
                              .ObserveOn(RxSchedulersFacade.IO())
                              .SubscribeOn(RxSchedulersFacade.IO())
                              .Subscribe(status => AuthStatus.PostValue(status),
                                         exception => Log.Error("MainViewModel",
                                                                "Error observing AuthRepository AuthStatus", exception)));
        }
예제 #3
0
        public ForgotPasswordViewModel(IAppRes appRes, IRxSchedulersFacade rxSchedulersFacade, IDeviceLog deviceLog,
                                       IForgotPasswordRepository forgotPasswordRepository) : base(appRes, rxSchedulersFacade, deviceLog)
        {
            _forgotPasswordRepository = forgotPasswordRepository;

            RxDisposables.Add(_forgotPasswordRepository.ForgotPasswordRequestStatusSubject
                              .SubscribeOn(RxSchedulersFacade.IO())
                              .ObserveOn(RxSchedulersFacade.UI())
                              .Subscribe(HandleNewForgotPasswordRequestStatus, e =>
            {
                LongToast(AppRes["ForgotPasswordError"]);
                Log.Error("ForgotPasswordPageViewModel",
                          "error subscribing to ForgotPasswordRequestStatusSubject", e);
            }
                                         ));
        }