public MainViewModel(IProtoService protoService, ICacheService cacheService, ISettingsService settingsService, IEventAggregator aggregator, INotificationsService pushService, IVibrationService vibrationService, ILiveLocationService liveLocationService, IContactsService contactsService, IPasscodeService passcodeService, ILifetimeService lifecycle, ISessionService session, IVoIPService voipService) : base(protoService, cacheService, settingsService, aggregator) { _pushService = pushService; _vibrationService = vibrationService; _liveLocationService = liveLocationService; _passcodeService = passcodeService; _lifetimeService = lifecycle; _sessionService = session; _voipService = voipService; _typingManagers = new ConcurrentDictionary <int, InputTypingManager>(); _chatTypingManagers = new ConcurrentDictionary <int, InputTypingManager>(); //Dialogs = new DialogCollection(protoService, cacheService); Chats = new ChatsViewModel(protoService, cacheService, settingsService, aggregator); Contacts = new ContactsViewModel(protoService, cacheService, settingsService, aggregator, contactsService); Calls = new CallsViewModel(protoService, cacheService, settingsService, aggregator); Settings = new SettingsViewModel(protoService, cacheService, settingsService, aggregator, pushService, contactsService); ChildViewModels.Add(Chats); ChildViewModels.Add(Contacts); ChildViewModels.Add(Calls); ChildViewModels.Add(Settings); ChildViewModels.Add(_voipService as TLViewModelBase); aggregator.Subscribe(this); LiveLocationCommand = new RelayCommand(LiveLocationExecute); StopLiveLocationCommand = new RelayCommand(StopLiveLocationExecute); ReturnToCallCommand = new RelayCommand(ReturnToCallExecute); }
public ItemsCollection(IProtoService protoService, IEventAggregator aggregator, ChatsViewModel viewModel) : base(new ChatComparer()) { _protoService = protoService; _aggregator = aggregator; _viewModel = viewModel; }
public MainViewModel(IProtoService protoService, ICacheService cacheService, ISettingsService settingsService, IEventAggregator aggregator, INotificationsService pushService, IContactsService contactsService, IVibrationService vibrationService, IPasscodeService passcodeService, ILifetimeService lifecycle, ISessionService session, IVoIPService voipService, ISettingsSearchService settingsSearchService, IEmojiSetService emojiSetService, IPlaybackService playbackService, IShortcutsService shortcutService) : base(protoService, cacheService, settingsService, aggregator) #endif { _pushService = pushService; _contactsService = contactsService; _vibrationService = vibrationService; _passcodeService = passcodeService; _lifetimeService = lifecycle; _sessionService = session; _voipService = voipService; _emojiSetService = emojiSetService; #if CLOUDUPDATES _cloudUpdateService = cloudUpdateService; #endif _playbackService = playbackService; _shortcutService = shortcutService; Filters = new ChatFilterCollection(); Chats = new ChatsViewModel(protoService, cacheService, settingsService, aggregator, pushService, new ChatListMain()); ArchivedChats = new ChatsViewModel(protoService, cacheService, settingsService, aggregator, pushService, new ChatListArchive()); Contacts = new ContactsViewModel(protoService, cacheService, settingsService, aggregator, contactsService); Calls = new CallsViewModel(protoService, cacheService, settingsService, aggregator); Settings = new SettingsViewModel(protoService, cacheService, settingsService, aggregator, settingsSearchService); // This must represent pivot tabs Children.Add(Chats); Children.Add(Contacts); Children.Add(Calls); Children.Add(Settings); // Any additional child Children.Add(ArchivedChats); Children.Add(_voipService as TLViewModelBase); aggregator.Subscribe(this); ReturnToCallCommand = new RelayCommand(ReturnToCallExecute); ToggleArchiveCommand = new RelayCommand(ToggleArchiveExecute); CreateSecretChatCommand = new RelayCommand(CreateSecretChatExecute); SetupFiltersCommand = new RelayCommand(SetupFiltersExecute); #if CLOUDUPDATES UpdateAppCommand = new RelayCommand(UpdateAppExecute); #endif FilterEditCommand = new RelayCommand <ChatFilterViewModel>(FilterEditExecute); FilterAddCommand = new RelayCommand <ChatFilterViewModel>(FilterAddExecute); FilterMarkAsReadCommand = new RelayCommand <ChatFilterViewModel>(FilterMarkAsReadExecute); FilterDeleteCommand = new RelayCommand <ChatFilterViewModel>(FilterDeleteExecute); }
public ItemsCollection(IProtoService protoService, IEventAggregator aggregator, ChatsViewModel viewModel, ChatList chatList, IChatFilter filter = null) : base(new ChatComparer(), true) { _protoService = protoService; _aggregator = aggregator; _viewModel = viewModel; _chatList = chatList; _filter = filter; #if MOCKUP _hasMoreItems = false; #endif _ = LoadMoreItemsAsync(0); }
public MainViewModel(IProtoService protoService, ICacheService cacheService, IEventAggregator aggregator, INotificationsService pushService, IVibrationService vibrationService, ILiveLocationService liveLocationService, IContactsService contactsService, IPasscodeService passcodeService) : base(protoService, cacheService, aggregator) { _pushService = pushService; _vibrationService = vibrationService; _liveLocationService = liveLocationService; _passcodeService = passcodeService; _typingManagers = new ConcurrentDictionary <int, InputTypingManager>(); _chatTypingManagers = new ConcurrentDictionary <int, InputTypingManager>(); //Dialogs = new DialogCollection(protoService, cacheService); Chats = new ChatsViewModel(protoService, cacheService, aggregator); Contacts = new ContactsViewModel(protoService, cacheService, aggregator, contactsService); Calls = new CallsViewModel(protoService, cacheService, aggregator); aggregator.Subscribe(this); LiveLocationCommand = new RelayCommand(LiveLocationExecute); StopLiveLocationCommand = new RelayCommand(StopLiveLocationExecute); }
public MainViewModel(IProtoService protoService, ICacheService cacheService, ISettingsService settingsService, IEventAggregator aggregator, INotificationsService pushService, IContactsService contactsService, IVibrationService vibrationService, ILiveLocationService liveLocationService, IPasscodeService passcodeService, ILifetimeService lifecycle, ISessionService session, IVoIPService voipService, ISettingsSearchService settingsSearchService, IEmojiSetService emojiSetService, IPlaybackService playbackService) : base(protoService, cacheService, settingsService, aggregator) { _pushService = pushService; _contactsService = contactsService; _vibrationService = vibrationService; _liveLocationService = liveLocationService; _passcodeService = passcodeService; _lifetimeService = lifecycle; _sessionService = session; _voipService = voipService; _emojiSetService = emojiSetService; _playbackService = playbackService; Chats = new ChatsViewModel(protoService, cacheService, settingsService, aggregator, pushService, new ChatListMain()); ArchivedChats = new ChatsViewModel(protoService, cacheService, settingsService, aggregator, pushService, new ChatListArchive()); Contacts = new ContactsViewModel(protoService, cacheService, settingsService, aggregator, contactsService); Calls = new CallsViewModel(protoService, cacheService, settingsService, aggregator); Settings = new SettingsViewModel(protoService, cacheService, settingsService, aggregator, pushService, contactsService, settingsSearchService); // This must represent pivot tabs Children.Add(Chats); Children.Add(Contacts); Children.Add(Calls); Children.Add(Settings); // Any additional child Children.Add(ArchivedChats); Children.Add(_voipService as TLViewModelBase); aggregator.Subscribe(this); LiveLocationCommand = new RelayCommand(LiveLocationExecute); StopLiveLocationCommand = new RelayCommand(StopLiveLocationExecute); ReturnToCallCommand = new RelayCommand(ReturnToCallExecute); ToggleArchiveCommand = new RelayCommand(ToggleArchiveExecute); }
public ShareViewModel(IProtoService protoService, ICacheService cacheService, ISettingsService settingsService, IEventAggregator aggregator, ChatsViewModel dialogs) : base(protoService, cacheService, settingsService, aggregator) { Items = new MvxObservableCollection <Chat>(); SelectedItems = new MvxObservableCollection <Chat>(); SendCommand = new RelayCommand(SendExecute, () => SelectedItems?.Count > 0); }