コード例 #1
0
ファイル: LibraryService.cs プロジェクト: Losses/DarkPlayer
        public static async Task IndexAsync(IThumbnailOperations thumbnail = null)
        {
            m_logger.LogInformation("External indexing started.");
            TelemetryHelper.LogEvent();

            // Start indexing
            await IndexInternalAsync(thumbnail);

            // Start tracking
            await StartChangeTrackingAsync();

            m_logger.LogInformation("External indexing completed.");
        }
コード例 #2
0
ファイル: LibraryService.cs プロジェクト: Losses/DarkPlayer
        private static async Task <int> IndexInternalAsync(IThumbnailOperations thumbnail = null)
        {
            if (m_isIndexing)
            {
                return(-1);
            }
            IsIndexing = true;
            TelemetryHelper.LogEvent();

            if (!await EnsureLibraryReferenceAsync())
            {
                await DisableAutoTrackChangesAndNotifyUserAsync();
            }
            Messenger.Default.Send(new MessageBase(), "IndexGettingFiles");
            var(count, exceptions) = await m_fileIndexer.ScanAsync(m_musicLibrary.Folders, thumbnail);

            IsIndexing = false;

            SendExceptions(exceptions);

            // Send toast and return
            SendToast(count);
            return(count);
        }