Example #1
0
        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),
            };
        }
Example #2
0
        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);
        }
Example #3
0
 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);
 }