public override void NavigatedTo(NavigationMode mode, object e) { base.NavigatedTo(mode, e); UiBlockerUtility.BlockNavigation(); ScreenTimeoutHelper.PreventTimeout(); App.Locator.PBar.IsFirstRun = true; isDone = false; GetMetadata(); }
async void GetMetadata() { Bar.IsIndeterminate = true; LocalMusicHelper localMusicHelper = new LocalMusicHelper(); var localMusic = await localMusicHelper.GetFilesInMusicAsync(); var failedCount = 0; Bar.IsIndeterminate = false; App.Locator.CollectionService.Songs.SuppressEvents = true; App.Locator.CollectionService.Artists.SuppressEvents = true; App.Locator.CollectionService.Albums.SuppressEvents = true; Bar.Maximum = localMusic.Count; App.Locator.SqlService.BeginTransaction(); for (var i = 0; i < localMusic.Count; i++) { Bar.Value = i + 1; try { await localMusicHelper.SaveTrackAsync(localMusic[i]); } catch { failedCount++; } } App.Locator.SqlService.Commit(); App.Locator.CollectionService.Songs.Reset(); App.Locator.CollectionService.Artists.Reset(); App.Locator.CollectionService.Albums.Reset(); UiBlockerUtility.Unblock(); ScreenTimeoutHelper.AllowTimeout(); if (App.Locator.Setting.SpotifyArtworkSync) { await DownloadArtworks.DownloadArtistsArtworkAsyncFromSpotify(); } else { await DownloadArtworks.DownloadArtistsArtworkAsync(); } await DownloadArtworks.DownloadAlbumsArtworkAsync(); localSettings.Values[Core.PlayerConstants.UpdateAppString] = true; isDone = true; ButtonClick(null, null); }
async void ButtonClick(object sender, RoutedEventArgs e) { if (!isDone) { localSettings.Values[Core.PlayerConstants.UpdateAppString] = true; ScreenTimeoutHelper.AllowTimeout(); UiBlockerUtility.Unblock(); //DeleteTimer(); await Task.Delay(1000); } App.Locator.PBar.IsFirstRun = false; //if(App.Locator.Setting.SafeStart) //Register(); await DispatcherHelper.RunAsync(() => { App.Navigator.GoTo <HomePage, ZoomInTransition>(null, false); App.Locator.HomePage.SongColletionChanged(); }); }
async void ImportVideos() { ScreenTimeoutHelper.PreventTimeout(); Message.Text = "Collecting information about videos."; Bar.IsIndeterminate = true; var failedCount = 0; LocalMusicHelper localMusicHelper = new LocalMusicHelper(); var localVideos = await localMusicHelper.GetFilesInVideoAsync(); App.Locator.CollectionService.Videos.SuppressEvents = true; Bar.IsIndeterminate = false; await Task.Delay(10); Message.Text = "Working on video files."; Bar.Maximum = localVideos.Count; App.Locator.SqlService.BeginTransaction(); for (var i = 0; i < localVideos.Count; i++) { Bar.Value = i + 1; try { await localMusicHelper.SaveVideoAsync(localVideos[i]); } catch { failedCount++; } } App.Locator.SqlService.Commit(); App.Locator.CollectionService.Videos.Reset(); ScreenTimeoutHelper.AllowTimeout(); SheetUtility.CloseImportRefreshPage(); }
async void Refresh() { await Task.Factory.StartNew(async() => { await DispatcherHelper.RunAsync(async() => { Message.Text = "Preparing..."; ScreenTimeoutHelper.PreventTimeout(); var importedSongs = App.Locator.CollectionService.Songs.Where(p => p.SongState == SongState.Local || p.SongState == SongState.DownloadListed || p.SongState == SongState.Downloaded).ToList(); var importedVideos = App.Locator.CollectionService.Videos.ToList(); App.Locator.SqlService.BeginTransaction(); if (importedSongs.Count > 0) { Message.Text = "Deleting tracks."; foreach (var song in importedSongs) { try { await App.Locator.CollectionService.DeleteSongAsync(song); } catch { //ignored; } } } if (importedVideos.Count() > 0) { Message.Text = "Deleting videos."; foreach (var video in importedVideos) { try { await App.Locator.CollectionService.DeleteVideoAsync(video); } catch { //ignored; } } } App.Locator.SqlService.Commit(); }); }); Bar.Visibility = Windows.UI.Xaml.Visibility.Visible; await Task.Delay(50); await Task.Factory.StartNew(async() => { await DispatcherHelper.RunAsync(() => { ImportMusic(true); }); }); }
async void ImportMusic(bool importVideo = false) { ScreenTimeoutHelper.PreventTimeout(); Bar.IsIndeterminate = true; Message.Text = "Collecting information about music."; LocalMusicHelper localMusicHelper = new LocalMusicHelper(); var localMusic = await localMusicHelper.GetFilesInMusicAsync(); var failedCount = 0; Bar.IsIndeterminate = false; App.Locator.CollectionService.Songs.SuppressEvents = true; App.Locator.CollectionService.Artists.SuppressEvents = true; App.Locator.CollectionService.Albums.SuppressEvents = true; await Task.Delay(10); Message.Text = "Working on music files."; Bar.Maximum = localMusic.Count; App.Locator.SqlService.BeginTransaction(); for (var i = 0; i < localMusic.Count; i++) { Bar.Value = i + 1; try { await localMusicHelper.SaveTrackAsync(localMusic[i]); } catch { failedCount++; } } App.Locator.SqlService.Commit(); App.Locator.CollectionService.Songs.Reset(); App.Locator.CollectionService.Artists.Reset(); App.Locator.CollectionService.Albums.Reset(); if (importVideo) { if (App.Locator.Setting.SpotifyArtworkSync) { await DownloadArtworks.DownloadArtistsArtworkAsyncFromSpotify(); } else { await DownloadArtworks.DownloadArtistsArtworkAsync(); } await DownloadArtworks.DownloadAlbumsArtworkAsync(); ImportVideos(); } else { if (App.Locator.Setting.SpotifyArtworkSync) { await DownloadArtworks.DownloadArtistsArtworkAsyncFromSpotify(); } else { await DownloadArtworks.DownloadArtistsArtworkAsync(); } await DownloadArtworks.DownloadAlbumsArtworkAsync(); ScreenTimeoutHelper.AllowTimeout(); SheetUtility.CloseImportRefreshPage(); } App.Locator.HomePage.SongColletionChanged(); }