public FollowManagePageViewModel( ApplicationLayoutManager applicationLayoutManager, PageManager pageManager, NiconicoSession niconicoSession, IMessenger messenger, UserFollowProvider userFollowProvider, TagFollowProvider tagFollowProvider, MylistFollowProvider mylistFollowProvider, ChannelFollowProvider channelFollowProvider, CommunityFollowProvider communityFollowProvider ) { ApplicationLayoutManager = applicationLayoutManager; PageManager = pageManager; NiconicoSession = niconicoSession; _FollowGroups_AvoidListViewMemoryLeak = new object[] { new FollowUserGroupViewModel(userFollowProvider, pageManager, messenger), new FollowTagGroupViewModel(tagFollowProvider, pageManager, messenger), new FolloMylistGroupViewModel(mylistFollowProvider, pageManager, messenger), new FollowChannelGroupViewModel(channelFollowProvider, pageManager, messenger), new FollowCommunityGroupViewModel(communityFollowProvider, NiconicoSession.UserId, pageManager, messenger), }; }
public SearchResultTagPageViewModel( ILoggerFactory loggerFactory, ApplicationLayoutManager applicationLayoutManager, NiconicoSession niconicoSession, SearchProvider searchProvider, TagFollowProvider tagFollowProvider, SubscriptionManager subscriptionManager, PageManager pageManager, SearchHistoryRepository searchHistoryRepository, Services.DialogService dialogService, VideoPlayWithQueueCommand videoPlayWithQueueCommand, PlaylistPlayAllCommand playlistPlayAllCommand, AddTagSearchSubscriptionCommand addTagSearchSubscriptionCommand, SelectionModeToggleCommand selectionModeToggleCommand ) : base(loggerFactory.CreateLogger <SearchResultTagPageViewModel>()) { SearchProvider = searchProvider; _tagFollowProvider = tagFollowProvider; SubscriptionManager = subscriptionManager; PageManager = pageManager; _searchHistoryRepository = searchHistoryRepository; ApplicationLayoutManager = applicationLayoutManager; NiconicoSession = niconicoSession; HohoemaDialogService = dialogService; VideoPlayWithQueueCommand = videoPlayWithQueueCommand; PlaylistPlayAllCommand = playlistPlayAllCommand; AddTagSearchSubscriptionCommand = addTagSearchSubscriptionCommand; SelectionModeToggleCommand = selectionModeToggleCommand; FailLoading = new ReactiveProperty <bool>(false) .AddTo(_CompositeDisposable); LoadedPage = new ReactiveProperty <int>(1) .AddTo(_CompositeDisposable); SelectedSearchTarget = new ReactiveProperty <SearchTarget>(); CurrentPlaylistToken = Observable.CombineLatest( this.ObserveProperty(x => x.SearchVideoPlaylist), this.ObserveProperty(x => x.SelectedSortOption), (x, y) => new PlaylistToken(x, y) ) .ToReadOnlyReactivePropertySlim() .AddTo(_CompositeDisposable); }
public FollowTagIncrementalSource(TagFollowProvider tagFollowProvider) { _tagFollowProvider = tagFollowProvider; MaxCount = 30; }
public FollowTagGroupViewModel(TagFollowProvider followProvider, PageManager pageManager, IMessenger messenger) : base(FollowItemType.Tag, followProvider, new FollowTagIncrementalSource(followProvider), pageManager) { _messenger = messenger; _messenger.RegisterAll(this); }