コード例 #1
0
        private async Task RegisterTypes()
        {
            // Models
            var hohoemaApp = await HohoemaApp.Create(EventAggregator);

            Container.RegisterInstance(hohoemaApp);
            Container.RegisterInstance(new PageManager(hohoemaApp, NavigationService, hohoemaApp.UserSettings.AppearanceSettings, hohoemaApp.Playlist));
            Container.RegisterInstance(hohoemaApp.ContentFinder);
            Container.RegisterInstance(hohoemaApp.Playlist);
            Container.RegisterInstance(hohoemaApp.OtherOwneredMylistManager);

            // 非同期更新機能の同時実行タスク数を指定
            var deviceFamily = Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily;

            BackgroundUpdater.MaxTaskSlotCount = deviceFamily.EndsWith("Mobile") ? 1u : 2u;

#if DEBUG
//			BackgroundUpdater.MaxTaskSlotCount = 1;
#endif
            // TODO: プレイヤーウィンドウ上で管理する
            //			var backgroundTask = MediaBackgroundTask.Create();
            //			Container.RegisterInstance(backgroundTask);


            // ViewModels
            Container.RegisterType <ViewModels.MenuNavigatePageBaseViewModel>(new ContainerControlledLifetimeManager());

            Container.RegisterType <ViewModels.RankingCategoryPageViewModel>(new ContainerControlledLifetimeManager());
            Container.RegisterType <ViewModels.HistoryPageViewModel>(new ContainerControlledLifetimeManager());
            Container.RegisterType <ViewModels.UserVideoPageViewModel>(new ContainerControlledLifetimeManager());
            Container.RegisterType <ViewModels.SearchPageViewModel>(new ContainerControlledLifetimeManager());
            Container.RegisterType <ViewModels.MylistPageViewModel>(new ContainerControlledLifetimeManager());
            //			Container.RegisterType<ViewModels.UserVideoPageViewModel>(new ContainerControlledLifetimeManager());
            Container.RegisterType <ViewModels.FeedVideoListPageViewModel>(new ContainerControlledLifetimeManager());
            Container.RegisterType <ViewModels.UserMylistPageViewModel>(new ContainerControlledLifetimeManager());
            Container.RegisterType <ViewModels.CacheManagementPageViewModel>(new ContainerControlledLifetimeManager());
//			Container.RegisterType<ViewModels.PortalPageViewModel>(new ContainerControlledLifetimeManager());


            // Service
            Container.RegisterType <Views.Service.RankingChoiceDialogService>();
            Container.RegisterInstance(new Views.Service.ToastNotificationService());
            Container.RegisterInstance(new Views.Service.MylistRegistrationDialogService(hohoemaApp));
            Container.RegisterInstance(new Views.Service.EditMylistGroupDialogService());
            Container.RegisterInstance(new Views.Service.AcceptCacheUsaseDialogService());
            Container.RegisterInstance(new Views.Service.TextInputDialogService());
            Container.RegisterInstance(new Views.Service.ContentSelectDialogDefaultSet());

//			return Task.CompletedTask;
        }
コード例 #2
0
ファイル: App.xaml.cs プロジェクト: TaoziDB/Hohoema
        /*
         * private void Context_DoneDownload(NicoVideoDownloadContext sender, NiconicoDownloadEventArgs args)
         *      {
         *              var hohoemaApp = Container.Resolve<HohoemaApp>();
         *              var toastService = Container.Resolve<Views.Service.ToastNotificationService>();
         *              var pageManager = Container.Resolve<PageManager>();
         *
         *              try
         *              {
         *                      var videoData = Models.Db.VideoInfoDb.Get(args.RawVideoId);
         *
         *                      if (videoData != null)
         *                      {
         *                              toastService.ShowText(
         *                                      videoData.Title,
         *                                      $"キャッシュが完了、このメッセージをタップして再生開始",
         *                                      toastActivatedAction: () =>
         *                                      {
         *                  hohoemaApp.Playlist.DefaultPlaylist.AddVideo(args.RawVideoId, "", args.Quality);
         *                                      }
         *                                      );
         *                      }
         *              }
         *              catch { }
         *      }
         */


        private async Task RegisterTypes()
        {
            // Service
            var dialogService = new Services.HohoemaDialogService();

            Container.RegisterInstance(dialogService);

            Container.RegisterInstance(new Views.Service.ToastNotificationService());



            // Models
            var secondaryViewMan = new HohoemaViewManager();
            var hohoemaApp       = await HohoemaApp.Create(EventAggregator, secondaryViewMan, dialogService);

            Container.RegisterInstance(secondaryViewMan);
            Container.RegisterInstance(hohoemaApp);
            Container.RegisterInstance(new PageManager(hohoemaApp, NavigationService, hohoemaApp.UserSettings.AppearanceSettings, hohoemaApp.Playlist, secondaryViewMan, dialogService));
            Container.RegisterInstance(hohoemaApp.ContentProvider);
            Container.RegisterInstance(hohoemaApp.Playlist);
            Container.RegisterInstance(hohoemaApp.OtherOwneredMylistManager);
            Container.RegisterInstance(hohoemaApp.FeedManager);
            Container.RegisterInstance(hohoemaApp.CacheManager);
            Container.RegisterInstance(hohoemaApp.UserSettings);
            Container.RegisterInstance(new Models.Niconico.Live.NicoLiveSubscriber(hohoemaApp));

            Container.RegisterInstance(new Microsoft.Toolkit.Uwp.Helpers.LocalObjectStorageHelper());
#if DEBUG
            //			BackgroundUpdater.MaxTaskSlotCount = 1;
#endif
            // TODO: プレイヤーウィンドウ上で管理する
            //			var backgroundTask = MediaBackgroundTask.Create();
            //			Container.RegisterInstance(backgroundTask);


            // ViewModels
            Container.RegisterType <ViewModels.RankingCategoryListPageViewModel>(new ContainerControlledLifetimeManager());

            /*
             * Container.RegisterType<ViewModels.SearchPageViewModel>(new ContainerControlledLifetimeManager());
             * Container.RegisterType<ViewModels.MenuNavigatePageBaseViewModel>(new ContainerControlledLifetimeManager());
             * Container.RegisterType<ViewModels.WatchHistoryPageViewModel>(new ContainerControlledLifetimeManager());
             *          Container.RegisterType<ViewModels.UserVideoPageViewModel>(new ContainerControlledLifetimeManager());
             * Container.RegisterType<ViewModels.MylistPageViewModel>(new ContainerControlledLifetimeManager());
             */
            /*
             *          Container.RegisterType<ViewModels.SearchPageViewModel>(new ContainerControlledLifetimeManager());
             *          //			Container.RegisterType<ViewModels.UserVideoPageViewModel>(new ContainerControlledLifetimeManager());
             *          Container.RegisterType<ViewModels.FeedVideoListPageViewModel>(new ContainerControlledLifetimeManager());
             *          Container.RegisterType<ViewModels.UserMylistPageViewModel>(new ContainerControlledLifetimeManager());
             *          Container.RegisterType<ViewModels.CacheManagementPageViewModel>(new ContainerControlledLifetimeManager());
             * //			Container.RegisterType<ViewModels.PortalPageViewModel>(new ContainerControlledLifetimeManager());
             */

            Resources.Add("IsXbox", Helpers.DeviceTypeHelper.IsXbox);
            Resources.Add("IsMobile", Helpers.DeviceTypeHelper.IsMobile);

            Resources.Add("IsCacheEnabled", hohoemaApp.UserSettings.CacheSettings.IsEnableCache);
            Resources.Add("IsTVModeEnabled", Helpers.DeviceTypeHelper.IsXbox || hohoemaApp.UserSettings.AppearanceSettings.IsForceTVModeEnable);

            //			return Task.CompletedTask;
        }