コード例 #1
0
        internal async Task Initialize()
        {
            IsInitialized = false;



            Debug.Write($"ダウンロードリクエストの復元を開始");
            // キャッシュリクエストファイルのアクセサーを初期化
            var videoSaveFolder = await HohoemaApp.GetApplicationLocalDataFolder();

            _CacheRequestedItemsFileAccessor = new FileAccessor <IList <NicoVideoCacheRequest> >(videoSaveFolder, CACHE_REQUESTED_FILENAME);

            // ダウンロード待機中のアイテムを復元
            await RestoreCacheRequestedItems();


            // ダウンロードバックグラウンドタスクの情報を復元
            await RestoreBackgroundDownloadTask();

            IsInitialized = true;

            // ダウンロードリクエストされたものが削除済み動画だった場合に対応
            // 削除されたDLリクエストを反映
            await SaveDownloadRequestItems();

            await TryNextCacheRequestedVideoDownload();
        }
コード例 #2
0
ファイル: VideoCacheManager.cs プロジェクト: TaoziDB/Hohoema
        protected override Task OnInitializeAsync(CancellationToken token)
        {
            Debug.Write($"キャッシュ情報のリストアを開始");

            return(HohoemaApp.UIDispatcher.RunIdleAsync(async(_) =>
            {
                using (var releaser = await _CacheRequestProcessingLock.LockAsync())
                {
                    // ダウンロード中のアイテムをリストア
                    await RestoreBackgroundDownloadTask();

                    // キャッシュ完了したアイテムをキャッシュフォルダから検索
                    await RetrieveCacheCompletedVideos();

                    // キャッシュリクエストファイルのアクセサーを初期化
                    var videoSaveFolder = await _HohoemaApp.GetApplicationLocalDataFolder();
                    _CacheRequestedItemsFileAccessor = new FolderBasedFileAccessor <IList <NicoVideoCacheRequest> >(videoSaveFolder, CACHE_REQUESTED_FILENAME);
                }

                // ダウンロード待機中のアイテムを復元
                await RestoreCacheRequestedItems();

                State = CacheManagerState.Running;
            })
                   .AsTask());
        }
コード例 #3
0
        public async Task <StorageFolder> GetFeedStreamDataFolder()
        {
            var folder = await HohoemaApp.GetApplicationLocalDataFolder();

            return(await folder.CreateFolderAsync(FeedStreamFolderName, CreationCollisionOption.OpenIfExists));
        }