public static async Task <NavigationStack> DeserializeAsync() { NavigationStack result = new NavigationStack(); if (!await FileHelper.IsLocalFileExistsAsync("callstack.data", false)) { return(result); } var localFile = await FileHelper.GetLocalFileAsync("callstack.data", false); using (var fileStream = await localFile.OpenReadAsync()) { using (var reader = new DataReader(fileStream)) { reader.InputStreamOptions = InputStreamOptions.ReadAhead; await reader.LoadAsync((uint)fileStream.Size); var stacksCount = reader.ReadInt32(); for (var index = 0; index < stacksCount; index++) { result.StatesStack.Add(StackData.Deserialize(reader)); } } } return(result); }
public async Task <bool> DeserializeAsync() { try { navigationStack = await NavigationStack.DeserializeAsync(); return(navigationStack.StatesStack.Count != 0); } catch { return(false); } }