private async Task <List <IFavorite> > DeserializeFavoritesFile() { await Initialization; var settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Objects }; try { using (Stream inStream = await _favoritesFile.OpenStreamForReadAsync()) using (var gzip = new GZipStream(inStream, CompressionMode.Decompress)) { return(gzip.DeseriaizeJsonFromStream <List <IFavorite> >(settings)); } } catch (IOException ex) { //todo: Log me System.Diagnostics.Debug.WriteLine($"Could not deserialize favorites: {ex}: {ex.Message}"); return(null); } }
public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary <string, object> suspensionState) { BootStrapper.BackRequested += BootStrapper_BackRequested; if (suspensionState.ContainsKey(SuspensionKeys.TripResults_HasSavedState) && (bool)suspensionState[SuspensionKeys.TripResults_HasSavedState]) { IStorageFile tripResultCacheFile = await _fileService.GetTempFileAsync( SuspensionKeys.TripResults_HasSavedState, CreationCollisionOption.OpenIfExists); using (Stream fileInStream = await tripResultCacheFile.OpenStreamForReadAsync()) using (var gzip = new GZipStream(fileInStream, CompressionMode.Decompress)) { TripItinerary[] tripsArray = gzip.DeseriaizeJsonFromStream <TripItinerary[]>(); TripResults = new ObservableCollection <TripItinerary>(tripsArray); } FromName = (string)suspensionState[SuspensionKeys.TripResults_FromName]; ToName = (string)suspensionState[SuspensionKeys.TripResults_ToName]; suspensionState.Remove(SuspensionKeys.TripResults_HasSavedState); } await Task.CompletedTask; }