Пример #1
0
        public async Task PerformRoutineCheckIfNotBusy()
        {
            // Routine check to add new files if there are new ones
            if (!IsBusy)
            {
                await App.Dispatcher.RunAsync(CoreDispatcherPriority.Low, () =>
                {
                    IsBusy = true;
                });

                await MusicLibraryManagement.DoRoutineMusicLibraryCheck();

                await App.Dispatcher.RunAsync(CoreDispatcherPriority.Low, () =>
                {
                    IsBusy = false;
                });
            }
        }
Пример #2
0
        public async Task StartIndexing()
        {
            _artistDatabase.Drop();
            _trackDatabase.Drop();
            _albumDatabase.Drop();

            await DispatchHelper.InvokeAsync(() =>
            {
                Locator.MainVM.InformationText = "Searching for music";
                IsBusy   = true;
                IsLoaded = false;
                OnPropertyChanged("IsBusy");
                OnPropertyChanged("IsLoaded");
            });

            _artistDatabase = new ArtistDatabase();
            _artistDatabase.Initialize();
            _trackDatabase.Initialize();
            _albumDatabase.Initialize();

            await MusicLibraryManagement.DoRoutineMusicLibraryCheck();

            await LoadFromDatabase();

            await App.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            {
                IsBusy              = false;
                IsLoaded            = true;
                IsMusicLibraryEmpty = false;
                OnPropertyChanged("Artists");
                OnPropertyChanged("FavoriteAlbums");
                OnPropertyChanged("IsBusy");
                OnPropertyChanged("IsMusicLibraryEmpty");
                OnPropertyChanged("IsLoaded");
                LoadingState = LoadingState.Loaded;
                Locator.MainVM.InformationText = "";
            });

            await GetFavoriteAndRandomAlbums();
        }