public SettingsAdvancedViewModel(IProtoService protoService, ICacheService cacheService, ISettingsService settingsService, IEventAggregator aggregator, ICloudUpdateService cloudUpdateService) : base(protoService, cacheService, settingsService, aggregator) { _cloudUpdateService = cloudUpdateService; UpdateCommand = new RelayCommand(UpdateExecute); }
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 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, ICloudUpdateService cloudUpdateService, IPlaybackService playbackService, IShortcutsService shortcutService) : base(protoService, cacheService, settingsService, aggregator)
public MainViewModel(IProtoService protoService, ICacheService cacheService, ISettingsService settingsService, IStorageService storageService, IEventAggregator aggregator, INotificationsService pushService, IContactsService contactsService, IPasscodeService passcodeService, ILifetimeService lifecycle, ISessionService session, IVoipService voipService, IGroupCallService groupCallService, ISettingsSearchService settingsSearchService, IEmojiSetService emojiSetService, ICloudUpdateService cloudUpdateService, IPlaybackService playbackService, IShortcutsService shortcutService) : base(protoService, cacheService, settingsService, aggregator) { _pushService = pushService; _contactsService = contactsService; _passcodeService = passcodeService; _lifetimeService = lifecycle; _sessionService = session; _voipService = voipService; _groupCallService = groupCallService; _emojiSetService = emojiSetService; _cloudUpdateService = cloudUpdateService; _playbackService = playbackService; _shortcutService = shortcutService; Filters = new ChatFilterCollection(); NavigationItems = new List <IEnumerable <ChatFilterViewModel> > { Filters, new ChatFilterViewModel[] { new ChatFilterViewModel(int.MaxValue - 1, Strings.Resources.Contacts, "\uE95E", "\uE95D"), new ChatFilterViewModel(int.MaxValue - 2, Strings.Resources.Calls, "\uE991", "\uE990"), new ChatFilterViewModel(int.MaxValue - 3, Strings.Resources.Settings, "\uE98F", "\uE98E"), } }; ChatList chatList = CacheService.MainChatListPosition > 0 && CacheService.ChatFilters.Count > 0 ? new ChatListFilter(CacheService.ChatFilters[0].Id) : new ChatListMain(); Chats = new ChatListViewModel(protoService, cacheService, settingsService, aggregator, pushService, chatList); Contacts = new ContactsViewModel(protoService, cacheService, settingsService, aggregator, contactsService); Calls = new CallsViewModel(protoService, cacheService, settingsService, aggregator); Settings = new SettingsViewModel(protoService, cacheService, settingsService, storageService, aggregator, settingsSearchService); // This must represent pivot tabs Children.Add(Chats); Children.Add(Contacts); Children.Add(Calls); Children.Add(Settings); // Any additional child Children.Add(_voipService as TLViewModelBase); Subscribe(); ReturnToCallCommand = new RelayCommand(ReturnToCallExecute); ToggleArchiveCommand = new RelayCommand(ToggleArchiveExecute); CreateSecretChatCommand = new RelayCommand(CreateSecretChatExecute); SetupFiltersCommand = new RelayCommand(SetupFiltersExecute); UpdateAppCommand = new RelayCommand(UpdateAppExecute); FilterEditCommand = new RelayCommand <ChatFilterViewModel>(FilterEditExecute); FilterAddCommand = new RelayCommand <ChatFilterViewModel>(FilterAddExecute); FilterMarkAsReadCommand = new RelayCommand <ChatFilterViewModel>(FilterMarkAsReadExecute); FilterDeleteCommand = new RelayCommand <ChatFilterViewModel>(FilterDeleteExecute); }