async void ContentFolderPicker_StorageFolderChanged(System.Object sender, P42.SandboxedStorage.StorageFolderChangedEventArgs e) { if (e.StorageFolder != null) { //Xamarin.Essentials.Preferences.Set(contentFolderPathKey, e.StorageFolder.Path); Preferences.Set(contentFolderPathKey, e.StorageFolder.Path); await DisplayFolderContents(e.StorageFolder); } else { //Xamarin.Essentials.Preferences.Clear(contentFolderPathKey); Preferences.Clear(contentFolderPathKey); } }
async void FolderPicker_StorageFolderChanged(System.Object sender, P42.SandboxedStorage.StorageFolderChangedEventArgs e) { ShowSpinner(); if (e.StorageFolder != null) { await DisplayFolderContents(e.StorageFolder); if (await e.StorageFolder.GetFilesAsync("*.txt") is IReadOnlyList <IStorageFile> files && files.Count > 0) { await DisplaySomeTextFileContents(files[0]); } else { await DisplayAlert(null, "No text file found in folder [" + e.StorageFolder.Path + "]", "ok"); } var results = ""; var test = "e.StorageFolder.GetOrCreateFolderAsync(\"testFiles\")"; if (await e.StorageFolder.GetOrCreateFolderAsync("testFiles") is IStorageFolder testFilesFolder) { results += test + ": OK\n"; test = "testFilesFolder.GetOrCreateFileAsync(textFileName1)"; if (await testFilesFolder.GetOrCreateFileAsync(textFileName1) is IStorageFile textFile) { results += test + ": OK\n"; await textFile.WriteAllTextAsync(testText); results += "textFile.WriteAllTextAsync(testText): OK"; test = "textFile.ReadAllTextAsync()"; if (await textFile.ReadAllTextAsync() is string contentText) { results += test + ": OK\n"; test = "contentText == testText"; if (contentText == testText) { results += test + ": OK\n"; await textFile.AppendAllTextAsync(appendedText); results += "textFile.AppendAllTextAsync(appendedText): OK"; test = "textFile.ReadAllTextAsync()"; if (await textFile.ReadAllTextAsync() is string contentText1) { results += test + ": OK\n"; test = "contentText1 == testText"; if (contentText1 == testText + appendedText) { results += test + ": OK\n"; test = "textFile.RenameAsync(textFileName2)"; await textFile.RenameAsync(textFileName2); results += test + ": OK\n"; if (textFile.Name == textFileName2) { results += test + ": OK\n"; test = "textFile.ReadAllTextAsync()"; if (await textFile.ReadAllTextAsync() is string contentText2) { results += test + ": OK\n"; test = "contentText2 == testText"; if (contentText2 == testText + appendedText) { results += test + ": OK\n"; test = "textFile.MoveAsync(e.StorageFolder)"; await textFile.MoveAsync(e.StorageFolder); results += test + ": OK\n"; test += "textFile.GetParentAsync()"; if (await textFile.GetParentAsync() is IStorageFolder parentFolder) { results += test + ": OK\n"; test = "parentFolder.Path == e.StorageFolder.Path"; if (parentFolder.Path == e.StorageFolder.Path) { results += test + ": OK\n"; test = "parentFolder.IsEqual(e.StorageFolder)"; if (parentFolder.IsEqual(e.StorageFolder)) { results += test + ": OK\n"; test = "StorageFolderExtensions.FileExists(e.StorageFolder,textFileName2)"; if (await e.StorageFolder.FileExists(textFileName2)) { results += test + ": OK\n"; test += "!await StorageFolderExtensions.FileExists(testFilesFolder, textFileName2)"; if (!await testFilesFolder.FileExists(textFileName2)) { results += test + ": OK\n"; //TODO: Add test to try to delete a folder that still contains files. Need to see what happens with UWP! test += "await testFilesFolder.DeleteAsync();"; await testFilesFolder.DeleteAsync(); results += test + ": OK\n"; test += "!await StorageFolderExtensions.FolderExists(e.StorageFolder, testFilesFolder.Name)"; if (!await e.StorageFolder.FolderExists(testFilesFolder.Name)) { results += test + ": OK\n"; test = "textFile.DeleteAsync()"; await textFile.DeleteAsync(); results += test + ": OK\n"; test = "!await StorageFolderExtensions.FileExists(e.StorageFolder, textFileName2)"; if (!await e.StorageFolder.FileExists(textFileName2)) { results += test + ": OK\n"; await DisplayAlert("Success", results, "OK"); HideSpinner(); return; } } } } } } } } } } } } } } } } await DisplayError(test + ": FAIL"); } HideSpinner(); }