public RoomViewModel(JabbrConnection jabbr, Room room) : base() { Connection = jabbr; Room = room; TypedMessage = string.Empty; Messages = new ObservableCollection<MessageViewModel> (); subTokMessageReceived = Messenger.SubscribeOnMainThread<JabbrMessageReceivedMessage> (msg => { if (!msg.RoomName.Equals(Room.Name, StringComparison.OrdinalIgnoreCase)) return; lock (Messages) Messages.Add(new MessageViewModel(msg.Message)); }); subTokUserJoin = Messenger.Subscribe<JabbrUserJoinedMessage> (msg => { if (!msg.RoomName.Equals(Room.Name, StringComparison.OrdinalIgnoreCase)) return; var uvm = new UserViewModel(msg.User); lock(Users) { if (!Users.Contains(uvm)) _users.Add(uvm); } RaisePropertyChanged(() => Users); }); subTokUserLeft = Messenger.Subscribe<JabbrUserLeftMessage> (msg => { if (!msg.RoomName.Equals(Room.Name, StringComparison.OrdinalIgnoreCase)) return; var uvm = new UserViewModel(msg.User); lock(Users) { if (Users.Contains(uvm)) _users.Remove(uvm); } RaisePropertyChanged(() => Users); }); subTokCurrentRoomChgd = Messenger.Subscribe<CurrentRoomChangedMessage>(msg => { IsCurrent = msg.NewRoom.Room.Name.Equals(this.Room.Name, StringComparison.OrdinalIgnoreCase); RaisePropertyChanged(() => IsCurrent); }); LoadRoom (); }
public void LogIn( string url, Action<RequestSecurityTokenResponse> onLoggedIn, Action assumeCancelled, string identityProviderName = null) { var root = Application.Current.RootVisual as Frame; _messageHub = Mvx.Resolve<IMvxMessenger>(); _subscriptionToken = _messageHub.Subscribe<RequestTokenMessage>(message => { _response = message.TokenResponse; if (_response != null) { onLoggedIn(_response); } else { assumeCancelled(); } if (root == null) return; if (root.CanGoBack) root.GoBack(); }); if (root != null) { root.Navigate( new Uri( string.Format( "/Cheesebaron.MvxPlugins.AzureAccessControl.WindowsPhone;component/Views/AccessControlWebAuthView.xaml?url={0}&name={1}", WebUtility.UrlEncode(url), WebUtility.UrlEncode(identityProviderName)), UriKind.Relative)); } }
public void LogIn(string url, Action<RequestSecurityTokenResponse> onLoggedIn, Action assumeCancelled, string identityProviderName = null) { var webAuthController = new AccessControlWebAuthController { RawUrl = url, IdentityProviderName = identityProviderName }; _messageHub = Mvx.Resolve<IMvxMessenger>(); _subscriptionToken = _messageHub.Subscribe<RequestTokenMessage>(message => { webAuthController.OnCancel(); if (message.TokenResponse != null) onLoggedIn(message.TokenResponse); else assumeCancelled(); }); var navControl = new UINavigationController(webAuthController) { Title = identityProviderName, NavigationBarHidden = false, }; webAuthController.NavigationItem.LeftBarButtonItem = new UIBarButtonItem("Cancel", UIBarButtonItemStyle.Done, (sender, args) => { webAuthController.OnCancel(); assumeCancelled(); }); var modalHost = Mvx.Resolve<IMvxTouchModalHost>(); modalHost.PresentModalViewController(navControl, true); }
public MainViewModel(ISampleAppService sampleappservice, IMvxMessenger messenger) { _sampleAppService = sampleappservice; ReloadList(); _messenger = messenger; _listChangedToken = _messenger.Subscribe<SampleAppChangedMessage>(OnListChanged); }
public HomeViewModel(IDescriptionService descriptionService, IMvxMessenger messenger) { _token = messenger.SubscribeOnMainThread<TickMessage>(OnTick); Descriptions = descriptionService.Descriptions .Select(x => new DescriptionViewModel(x)) .ToList(); }
public GoalEditViewModel() { //this.DefaultViewModel["Lebensmittel"] = ds.CurrentLebensmittel; //this.DefaultViewModel["Items"] = ds.LebensmittelConsumed; //this.DefaultViewModel["SelectedConsumed"] = ds.SelectedConsumed; //this.DefaultViewModel["Search"] = ds.LebensmittelResult; //this.DefaultViewModel["CurrentLebensmittel"] = ds.CurrentLebensmittel; //this.DefaultViewModel["SummaryConsumedDay"] = ds.SummaryConsumedDay; //this.DefaultViewModel["SummaryConsumedDaytime"] = ds.SummaryConsumedDaytime; //SelectedConsumed = null; _messenger = Mvx.Resolve<IMvxMessenger>(); //_logintoken = _messenger.Subscribe<LoggedInEvent>(a => LoginChanged(a.LoggedIn)); _synctoken = _messenger.Subscribe<SyncEvent>(a => RaisePropertyChanged("Sync")); SaveDailyCommand = new MvxCommand(SaveDaily, canSaveDaily); NewRecord = false; WorkoutMinutes = new ObservableCollection<int>() { 20, 40, 60 }; WorkoutDays = new ObservableCollection<int>() { 1, 3, 5 }; _goal_Endurance = CurrentGoal.Goal_Endurance; _goal_FatLoss = CurrentGoal.Goal_FatLoss; _goal_Muscle = CurrentGoal.Goal_Muscle; OnPropertyChanged("Goal_Muscle"); OnPropertyChanged("Goal_Endurance"); OnPropertyChanged("Goal_FatLoss"); ; }
public ScanViewModel(IMvxMessenger mvxMessenger) { _mvxMessenger = mvxMessenger; _scanSubscriptionTokenToken = _mvxMessenger.Subscribe<ScanMessage>(OnScan); }
public AddViewModel(ICollectionService collectionService, ILocationService locationService, IMvxMessenger messenger) { _collectionService = collectionService; _locationService = locationService; _token = messenger.SubscribeOnMainThread<LocationMessage>(OnLocation); GetInitialLocation(); }
public void Init(NavObject navObject) { _path = navObject.Path; HtmlUrl = navObject.HtmlUrl; _name = navObject.Name; _gitUrl = navObject.GitUrl; _forceBinary = navObject.ForceBinary; Username = navObject.Username; Repository = navObject.Repository; Branch = navObject.Branch; TrueBranch = navObject.TrueBranch; //Create the filename var fileName = System.IO.Path.GetFileName(_path); if (fileName == null) fileName = _path.Substring(_path.LastIndexOf('/') + 1); //Create the temp file path Title = fileName; _editToken = Messenger.SubscribeOnMainThread<SourceEditMessage>(x => { if (x.OldSha == null || x.Update == null) return; _gitUrl = x.Update.Content.GitUrl; LoadCommand.Execute(true); }); }
public FlashCardSetListViewModel(IFlashCardManager flashCardManager, IMvxMessenger messenger, IStudySettingsService settingsService) { _flashCardManager = flashCardManager; _messenger = messenger; _settingsService = settingsService; GetFlashCardSetList(); _flashCardSetSubscriptionToken = _messenger.Subscribe<FlashCardSetListChangedMessage>(OnListChanged); }
public HomeViewModel() : base() { _mvxMsgTokenJabbrConnected = Messenger.Subscribe<JabbrConnectedMessage> (msg => RaisePropertyChanged (() => Rooms)); _mvxMsgTokenJoinedRoom = Messenger.Subscribe<JabbrJoinedRoomMessage> (msg => RaisePropertyChanged(() => Rooms)); Settings.Load (); }
public GenerateViewModel(IMvxMessenger messenger, IDisplayDimensionsService displayDimensionsService, IMandelbrotTaskGenerator mandelbrotTaskGenerator) { _displayDimensionsService = displayDimensionsService; _mandelbrotTaskGenerator = mandelbrotTaskGenerator; _mvxSubscriptionToken = messenger.SubscribeOnMainThread<TickMessage>(OnTick); _autoPlay = true; }
public NutritionPlanOverviewViewModel() { _ds = BettrFitDataSource.Instance; _messenger = Mvx.Resolve<IMvxMessenger>(); _synctoken = _messenger.Subscribe<SyncEvent>(a => RaisePropertyChanged("Sync")); CurrentDate = DateTime.Now; NutritionPlanCreateCommand = new MvxCommand(OnCreateNutritionPlan); }
public RootViewModel(IAuthenticationService authService, IMvxMessenger messenger) { _authService = authService; _sessionChangedToken = messenger.SubscribeOnMainThread<SessionStateChangedMessage>((m) => { reloadFavorites(); }); this.UserStoreViewModel = MvxToolbox.LoadViewModel<BaseUserStoreViewModel>(); }
public HomeViewModel() : base() { _mvxMsgTokenJabbrConnected = Messenger.Subscribe<JabbrConnectedMessage> (msg => RaisePropertyChanged (() => Rooms)); _mvxMsgTokenJoinedRoom = Messenger.Subscribe<JabbrJoinedRoomMessage> (msg => RaisePropertyChanged(() => Rooms)); Settings.Load (); if (Settings.Accounts == null || !Settings.Accounts.Any ()) ShowAccountsCommand.Execute (null); }
public EnterResultsViewModel(ITeamsService service, IMvxMessenger messenger, IGAService gaService) { _teamsService = service; _messenger = messenger; _gaService = gaService; _teamsChangedToken = messenger.Subscribe<TeamsChangedMessage> (OnTeamsChanged); _resultsChangedToken = messenger.Subscribe<ResultsChangedMessage> (OnResultsChanged); DataLoader = new DataLoader (); }
public SideMenuViewModel(IAuthenticationService authService, IMvxMessenger messenger, ILocalizationService localizationService ) :base(authService, messenger) { this.ShouldSubscribeToSessionChange = true; this._localizationService = localizationService; _languageChangeToken = messenger.Subscribe<LanguageChangedMessage>((message) => { RaisePropertyChanged(() => NewLanguage); }); PropertyChanged += propertyChanged; }
public BootstrapViewModel(IMvxMessenger messenger) : base() { _messenger = messenger; _sendMessageClickedToken = _messenger.Subscribe<SendMessageClicked> (msg => { Click (); }); Items = new ObservableCollection<ItemViewModel> (); Items.Add (new ItemViewModel ()); Items.Add (new ItemViewModel ()); }
public AddViewModel( ICollectionService collectionService, ILocationService locationService, IMvxMessenger messenger, IMvxPictureChooserTask pictureChooserTask, IMvxFileStore fileStore) { _collectionService = collectionService; _locationService = locationService; _pictureChooserTask = pictureChooserTask; _fileStore = fileStore; _token = messenger.SubscribeOnMainThread<LocationMessage>(OnLocation); GetInitialLocation(); }
public InboxViewModel(IInboxService inboxService, IMvxMessenger mvxMessenger) { _inboxService = inboxService; _mvxMessenger = mvxMessenger; // fill our Inbox up with Items of Stuff from IInboxService ReloadInbox(); // subscribe to Inbox Changed messages to react to changes in inbox service _inboxChangedSubToken = _mvxMessenger.Subscribe<InboxChangedMessage>(OnInboxChanged); }
void reloadUserChangeSubscribtion() { if (this.ShouldSubscribeToSessionChange == false && _userChangeToken != null) { _messenger.Unsubscribe<CurrentUserChangedMessage>(_userChangeToken); _userChangeToken = null; } else if (ShouldSubscribeToSessionChange == true && _userChangeToken == null) { _userChangeToken = _messenger.SubscribeOnMainThread<CurrentUserChangedMessage>((message) => { CurrentUser = message.CurrentUser; }); } }
public MenuViewModel(MenuMode mode) { if(mode != MenuMode.AtHome) { var messenger = Mvx.Resolve<IMvxMessenger>(); _token = messenger.Subscribe<ContentReceivedMessage>(message => { HasReceivedNotifications = true; RaisePropertyChanged(() => HasReceivedNotifications); }); } HomeCommand = new MvxCommand(HomeCommandAction, () => mode != MenuMode.AtHome); SettingsCommand = new MvxCommand(SettingsCommandAction, () => mode != MenuMode.AtSettings); AddContactCommand = new MvxCommand(AddContactCommandAction, () => mode != MenuMode.AtAddContact); }
#pragma warning restore 414 protected override void OnCreate (Bundle bundle) { base.OnCreate (bundle); SetContentView (Resource.Layout.HomeView); mDrawerLayout = FindViewById<DrawerLayout> (Resource.Id.drawer); mDrawerView = FindViewById (Resource.Id.items); mDrawerToggle = new ActionBarDrawerToggle (this, mDrawerLayout, Resource.Drawable.ic_navigation_drawer, 0, 0); mDrawerLayout.SetDrawerListener (mDrawerToggle); ActionBar.SetHomeButtonEnabled (true); ActionBar.SetDisplayHomeAsUpEnabled (true); _closeDrawerToken = Mvx.Resolve<IMvxMessenger> ().SubscribeOnMainThread<CloseDrawerMessage> ( message => mDrawerLayout.CloseDrawer (mDrawerView)); }
public ConversationViewModel(IStorageService storageService, IMessageService messageService, IMvxMessenger messenger, IPopupHelper helper) : base(messenger, helper) { _storageService = storageService; _messageService = messageService; _token = _messenger.Subscribe<ContentReceivedMessage>(OnNotificationReceived, MvxReference.Strong); SendMessageCommand = new MvxCommand(SendMessageCommandAction, () => !string.IsNullOrWhiteSpace(MessageBody)); CleaningUp += () => { if (_token == null) return; _token.Dispose(); _token = null; }; }
public BaseUserStoreViewModel(IAuthenticationService authService, IMvxMessenger messenger ) :base(authService, messenger) { this.ShouldSubscribeToSessionChange = true; _storeChangeToken = messenger.SubscribeOnMainThread<StoreChangedMessage>((message) => { //If the changed store is related to current user then refetch the user store to reflect the change if(message.Store != null && this.CurrentUser != null && message.Store.OwnerID == this.CurrentUser.ID) { reloadUserStore(); } }); PropertyChanged += propertyChanged; }
public void LogIn(string url, Action<RequestSecurityTokenResponse> onLoggedIn, Action assumeCancelled, string identityProviderName = null) { _onLoggedIn = onLoggedIn; _assumeCancelled = assumeCancelled; _messageHub = Mvx.Resolve<IMvxMessenger>(); _subscriptionToken = _messageHub.Subscribe<RequestTokenMessage>(message => { _response = message.TokenResponse; }); var intent = new Intent(Mvx.Resolve<IMvxAndroidGlobals>() .ApplicationContext, typeof(AccessControlWebAuthActivity)); intent.PutExtra("cheesebaron.mvxplugins.azureaccesscontrol.droid.Url", url); StartActivityForResult(LoginIdentityRequestCode, intent); }
public TouchNotifications() { var messenger = Mvx.Resolve<IMvxMessenger>(); _notificationRegisterMessageToken = messenger.Subscribe<NotificationRegisterMessage>(message => { if(message.Registered) { RegistrationId = message.RegistrationId; IsRegistered = true; if(Registered != null) Registered( this, new DidRegisterForNotificationsEventArgs { RegistrationId = RegistrationId }); } else { IsRegistered = false; if(Unregistered != null) Unregistered(this, EventArgs.Empty); } }); _errorMessageToken = messenger.Subscribe<NotificationErrorMessage>(message => { if(Error != null) Error( this, new NotificationErrorEventArgs {Message = message.Message}); }); _notificationsToken = messenger.Subscribe<NotificationReceivedMessage>(async message => { if(message.Local) { if(Configuration.LocalNotification != null) await Configuration.LocalNotification(message.AlertAction, message.Body); else await Configuration.DefaultLocalNotification(message.AlertAction, message.Body); } else { if(Configuration.RemoteNotification != null) await Configuration.RemoteNotification(message.Body); else await Configuration.DefaultRemoteNotification(message.Body); } }); }
public DailyDataEditViewModel() { //this.DefaultViewModel["Lebensmittel"] = ds.CurrentLebensmittel; //this.DefaultViewModel["Items"] = ds.LebensmittelConsumed; //this.DefaultViewModel["SelectedConsumed"] = ds.SelectedConsumed; //this.DefaultViewModel["Search"] = ds.LebensmittelResult; //this.DefaultViewModel["CurrentLebensmittel"] = ds.CurrentLebensmittel; //this.DefaultViewModel["SummaryConsumedDay"] = ds.SummaryConsumedDay; //this.DefaultViewModel["SummaryConsumedDaytime"] = ds.SummaryConsumedDaytime; //SelectedConsumed = null; _messenger = Mvx.Resolve<IMvxMessenger>(); //_logintoken = _messenger.Subscribe<LoggedInEvent>(a => LoginChanged(a.LoggedIn)); _synctoken = _messenger.Subscribe<SyncEvent>(a => RaisePropertyChanged("Sync")); SaveDailyCommand = new MvxCommand(SaveDaily, canSaveDaily); NewRecord = false; }
public MakeStuffActionableViewModel(IMvxMessenger mvxMessenger, IInboxService inboxService, IProjectService projectService, IActionService actionService) { _mvxMessenger = mvxMessenger; _inboxService = inboxService; _projectService = projectService; _actionService = actionService; ReloadProjects(); // subscribe to Projects Changed messages to react to changes in project service _projectsChangedSubToken = _mvxMessenger.Subscribe<ProjectsChangedMessage>(OnProjectsChanged); _isSingleActionProject = true; }
public void Init(NavObject nav) { Username = nav.Username; Repository = nav.Repository; _issues = new FilterableCollectionViewModel<IssueModel, IssuesFilterModel>("IssuesViewModel:" + Username + "/" + Repository); _issues.GroupingFunction = Group; _issues.Bind(x => x.Filter, () => LoadCommand.Execute(true)); _addToken = Messenger.SubscribeOnMainThread<IssueAddMessage>(x => { if (x.Issue == null || !DoesIssueBelong(x.Issue)) return; Issues.Items.Insert(0, x.Issue); }); _editToken = Messenger.SubscribeOnMainThread<IssueEditMessage>(x => { if (x.Issue == null || !DoesIssueBelong(x.Issue)) return; var item = Issues.Items.FirstOrDefault(y => y.LocalId == x.Issue.LocalId); if (item == null) return; var index = Issues.Items.IndexOf(item); using (Issues.DeferRefresh()) { Issues.Items.RemoveAt(index); Issues.Items.Insert(index, x.Issue); } }); _deleteToken = Messenger.SubscribeOnMainThread<IssueDeleteMessage>(x => { var find = Issues.Items.FirstOrDefault(i => i.LocalId == x.Issue.LocalId); if (find != null) Issues.Items.Remove(find); }); _filterToken = Messenger.SubscribeOnMainThread<IssuesFilterMessage>(x => { _issues.Filter = x.Filter; }); }
public void Unsubscribe <TMessage>(MvxSubscriptionToken mvxSubscriptionId) where TMessage : MvxMessage { InternalUnsubscribe <TMessage>(mvxSubscriptionId.Id); }