|
|
|
@ -131,19 +131,17 @@ internal class AndroidStorageFolder : AndroidStorageItem, IStorageBookmarkFolder |
|
|
|
return Task.FromResult(new StorageItemProperties()); |
|
|
|
} |
|
|
|
|
|
|
|
public async Task<IReadOnlyList<IStorageItem>> GetItemsAsync() |
|
|
|
public async IAsyncEnumerable<IStorageItem> GetItemsAsync() |
|
|
|
{ |
|
|
|
if (!await EnsureExternalFilesPermission(false)) |
|
|
|
{ |
|
|
|
return Array.Empty<IStorageItem>(); |
|
|
|
yield break; |
|
|
|
} |
|
|
|
|
|
|
|
List<IStorageItem> files = new List<IStorageItem>(); |
|
|
|
|
|
|
|
|
|
|
|
var contentResolver = Activity.ContentResolver; |
|
|
|
if (contentResolver == null) |
|
|
|
{ |
|
|
|
return files; |
|
|
|
yield break; |
|
|
|
} |
|
|
|
|
|
|
|
var childrenUri = DocumentsContract.BuildChildDocumentsUriUsingTree(Uri!, DocumentsContract.GetTreeDocumentId(Uri)); |
|
|
|
@ -168,12 +166,10 @@ internal class AndroidStorageFolder : AndroidStorageItem, IStorageBookmarkFolder |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
files.Add(mime == DocumentsContract.Document.MimeTypeDir ? new AndroidStorageFolder(Activity, uri, false) : |
|
|
|
new AndroidStorageFile(Activity, uri)); |
|
|
|
yield return mime == DocumentsContract.Document.MimeTypeDir ? new AndroidStorageFolder(Activity, uri, false) : |
|
|
|
new AndroidStorageFile(Activity, uri); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return files; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|