Browse Source

add async suffix

pull/10607/head
Emmanuel Hansen 4 years ago
parent
commit
2d2fcf94ac
  1. 33
      src/Android/Avalonia.Android/Platform/Storage/AndroidStorageItem.cs
  2. 4
      src/Avalonia.Base/Platform/Storage/FileIO/BclStorageFolder.cs
  3. 4
      src/Avalonia.Base/Platform/Storage/IStorageFolder.cs

33
src/Android/Avalonia.Android/Platform/Storage/AndroidStorageItem.cs

@ -172,7 +172,7 @@ internal class AndroidStorageFolder : AndroidStorageItem, IStorageBookmarkFolder
{
}
public async Task<IStorageFile?> CreateFile(string name)
public async Task<IStorageFile?> CreateFileAsync(string name)
{
var mimeType = MimeTypeMap.Singleton?.GetMimeTypeFromExtension(MimeTypeMap.GetFileExtensionFromUrl(name)) ?? "application/octet-stream";
var newFile = Document.CreateFile(mimeType, name);
@ -185,7 +185,7 @@ internal class AndroidStorageFolder : AndroidStorageItem, IStorageBookmarkFolder
return new AndroidStorageFile(Activity, newFile.Uri, this);
}
public async Task<IStorageFolder?> CreateFolder(string name)
public async Task<IStorageFolder?> CreateFolderAsync(string name)
{
var newFolder = Document?.CreateDirectory(name);
@ -211,7 +211,7 @@ internal class AndroidStorageFolder : AndroidStorageItem, IStorageBookmarkFolder
async Task DeleteContents(AndroidStorageFolder storageFolder)
{
foreach (var file in storageFolder.GetItemsAsync())
await foreach (var file in storageFolder.GetItemsAsync())
{
if(file is AndroidStorageFolder folder)
{
@ -288,14 +288,14 @@ internal class AndroidStorageFolder : AndroidStorageItem, IStorageBookmarkFolder
async Task<AndroidStorageFolder?> MoveRecursively(AndroidStorageFolder storageFolder, AndroidStorageFolder destination)
{
destination = await destination.CreateFolder(storageFolder.Name) as AndroidStorageFolder;
destination = await destination.CreateFolderAsync(storageFolder.Name) as AndroidStorageFolder;
if (destination == null)
{
return null;
}
foreach (var file in storageFolder.GetItemsAsync())
await foreach (var file in storageFolder.GetItemsAsync())
{
if (file is AndroidStorageFolder folder)
{
@ -498,20 +498,27 @@ internal sealed class AndroidStorageFile : AndroidStorageItem, IStorageBookmarkF
}
}
async Task<AndroidStorageFile> MoveFileByCopy()
async Task<AndroidStorageFile?> MoveFileByCopy()
{
var newFile = await storageFolder.CreateFile(Name) as AndroidStorageFile;
var newFile = await storageFolder.CreateFileAsync(Name) as AndroidStorageFile;
if (newFile != null)
try
{
using var input = await OpenReadAsync();
using var output = await newFile.OpenWriteAsync();
if (newFile != null)
{
using var input = await OpenReadAsync();
using var output = await newFile.OpenWriteAsync();
await input.CopyToAsync(output);
await input.CopyToAsync(output);
await DeleteAsync();
await DeleteAsync();
return new AndroidStorageFile(Activity, newFile.Uri, storageFolder);
return new AndroidStorageFile(Activity, newFile.Uri, storageFolder);
}
}
catch
{
newFile?.DeleteAsync();
}
return null;

4
src/Avalonia.Base/Platform/Storage/FileIO/BclStorageFolder.cs

@ -113,7 +113,7 @@ internal class BclStorageFolder : IStorageBookmarkFolder
return null;
}
public async Task<IStorageFile?> CreateFile(string name)
public async Task<IStorageFile?> CreateFileAsync(string name)
{
var fileName = System.IO.Path.Combine(DirectoryInfo.FullName, name);
var newFile = new FileInfo(fileName);
@ -123,7 +123,7 @@ internal class BclStorageFolder : IStorageBookmarkFolder
return new BclStorageFile(newFile);
}
public async Task<IStorageFolder?> CreateFolder(string name)
public async Task<IStorageFolder?> CreateFolderAsync(string name)
{
var newFolder = DirectoryInfo.CreateSubdirectory(name);

4
src/Avalonia.Base/Platform/Storage/IStorageFolder.cs

@ -23,12 +23,12 @@ public interface IStorageFolder : IStorageItem
/// </summary>
/// <param name="name">The display name</param>
/// <returns>A new <see cref="IStorageFile"/> pointing to the moved file. If not null, the current storage item becomes invalid</returns>
Task<IStorageFile?> CreateFile(string name);
Task<IStorageFile?> CreateFileAsync(string name);
/// <summary>
/// Creates a folder with specified name as a child of the current storage folder
/// </summary>
/// <param name="name">The display name</param>
/// <returns>A new <see cref="IStorageFolder"/> pointing to the moved file. If not null, the current storage item becomes invalid</returns>
Task<IStorageFolder?> CreateFolder(string name);
Task<IStorageFolder?> CreateFolderAsync(string name);
}

Loading…
Cancel
Save