Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        /// <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();
        }