Fix NRT and add more safety

This commit is contained in:
Susko3 2023-01-22 23:11:50 +01:00
parent de21864bd1
commit e16105d059
1 changed files with 8 additions and 2 deletions

View File

@ -38,10 +38,11 @@ public override void DeleteFile()
if (cursor == null) if (cursor == null)
return null; return null;
cursor.MoveToFirst(); if (!cursor.MoveToFirst())
return null;
int filenameColumn = cursor.GetColumnIndex(IOpenableColumns.DisplayName); int filenameColumn = cursor.GetColumnIndex(IOpenableColumns.DisplayName);
string filename = cursor.GetString(filenameColumn); string filename = cursor.GetString(filenameColumn) ?? uri.Path ?? string.Empty;
// SharpCompress requires archive streams to be seekable, which the stream opened by // SharpCompress requires archive streams to be seekable, which the stream opened by
// OpenInputStream() seems to not necessarily be. // OpenInputStream() seems to not necessarily be.
@ -49,7 +50,12 @@ public override void DeleteFile()
var copy = new MemoryStream(); var copy = new MemoryStream();
using (var stream = contentResolver.OpenInputStream(uri)) using (var stream = contentResolver.OpenInputStream(uri))
{
if (stream == null)
return null;
await stream.CopyToAsync(copy).ConfigureAwait(false); await stream.CopyToAsync(copy).ConfigureAwait(false);
}
return new AndroidImportTask(copy, filename, contentResolver, uri); return new AndroidImportTask(copy, filename, contentResolver, uri);
} }