protected override void OnPause() { _videoAd.Pause(this); MemoryWatcher.Watcher.Pause(); #pragma warning disable 4014 if (Settings.IsCachingEnabled) { if (AnimeUpdateQuery.UpdatedSomething) { DataCache.SaveDataForUser(Credentials.UserName, ResourceLocator.AnimeLibraryDataStorage.AllLoadedAnimeItemAbstractions.Select( abstraction => abstraction.EntryData), AnimeListWorkModes.Anime); AnimeUpdateQuery.UpdatedSomething = false; } if (MangaUpdateQuery.UpdatedSomething) { DataCache.SaveDataForUser(Credentials.UserName, ResourceLocator.AnimeLibraryDataStorage.AllLoadedMangaItemAbstractions.Select( abstraction => abstraction.EntryData), AnimeListWorkModes.Manga); MangaUpdateQuery.UpdatedSomething = false; } } DataCache.SaveVolatileData(); DataCache.SaveHumMalIdDictionary(); ViewModelLocator.ForumsMain.SavePinnedTopics(); FavouritesManager.SaveData(); AnimeImageQuery.SaveData(); ResourceLocator.HandyDataStorage.SaveData(); #pragma warning restore 4014 base.OnPause(); }
/// <summary> /// Invoked when application execution is being suspended. Application state is saved /// without knowing whether the application will be terminated or resumed with the contents /// of memory still intact. /// </summary> /// <param name="sender">The source of the suspend request.</param> /// <param name="e">Details about the suspend request.</param> private async void OnSuspending(object sender, SuspendingEventArgs e) { var deferral = e.SuspendingOperation.GetDeferral(); if (Settings.IsCachingEnabled) { if (AnimeUpdateQuery.UpdatedSomething) { await DataCache.SaveDataForUser(Credentials.UserName, ResourceLocator.AnimeLibraryDataStorage.AllLoadedAnimeItemAbstractions.Select( abstraction => abstraction.EntryData), AnimeListWorkModes.Anime); } if (MangaUpdateQuery.UpdatedSomething) { await DataCache.SaveDataForUser(Credentials.UserName, ResourceLocator.AnimeLibraryDataStorage.AllLoadedMangaItemAbstractions.Select( abstraction => abstraction.EntryData), AnimeListWorkModes.Manga); } } try { foreach ( var file in await ApplicationData.Current.TemporaryFolder.GetFilesAsync(CommonFileQuery.DefaultQuery)) { if (file.Name.Contains("_cropTemp")) { await file.DeleteAsync(StorageDeleteOption.PermanentDelete); } } } catch (Exception) { //well... } await DataCache.SaveVolatileData(); await DataCache.SaveHumMalIdDictionary(); await ViewModelLocator.ForumsMain.SavePinnedTopics(); await FavouritesManager.SaveData(); await AnimeImageQuery.SaveData(); await ResourceLocator.HandyDataStorage.SaveData(); deferral.Complete(); }