fix issues with the memories viewer
Some checks are pending
Flutter analyze & test / flutter_analyze_and_test (push) Waiting to run

This commit is contained in:
otsmr 2026-07-30 10:08:42 +02:00
parent dafa7603d8
commit 3c8244b977
2 changed files with 23 additions and 8 deletions

View file

@ -323,10 +323,12 @@ class MediaFileService {
name: mediaFile.mediaId, name: mediaFile.mediaId,
); );
} else { } else {
await saveImageToGallery( unawaited(
storedPath.readAsBytesSync(), saveImageToGallery(
await storedPath.readAsBytes(),
createdAt: mediaFile.createdAt, createdAt: mediaFile.createdAt,
name: mediaFile.mediaId, name: mediaFile.mediaId,
),
); );
} }
} }

View file

@ -113,6 +113,8 @@ class _MemoriesThumbnailCompState extends State<MemoriesThumbnailComp> {
} }
if (_imageProvider != null) { if (_imageProvider != null) {
_imageStream?.removeListener(_listener);
_imageStream = null;
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
if (!mounted) return; if (!mounted) return;
final config = createLocalImageConfiguration(context); final config = createLocalImageConfiguration(context);
@ -189,11 +191,22 @@ class _MemoriesThumbnailCompState extends State<MemoriesThumbnailComp> {
gaplessPlayback: true, gaplessPlayback: true,
errorBuilder: (context, error, stackTrace) { errorBuilder: (context, error, stackTrace) {
if (error.toString().contains('Invalid image data')) { if (error.toString().contains('Invalid image data')) {
if (_selectedImageFile != null) { final fileToDelete = _selectedImageFile;
_selectedImageFile?.deleteSync(); _selectedImageFile = null;
if (fileToDelete != null) {
WidgetsBinding.instance.addPostFrameCallback((_) {
if (!mounted) return;
try {
if (fileToDelete.existsSync()) {
fileToDelete.deleteSync();
}
} catch (_) {}
if (_retries < 3) {
_retries++; _retries++;
_resolveImage(); _resolveImage();
} }
});
}
} }
Log.warn(error); Log.warn(error);
return ColoredBox( return ColoredBox(