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(
createdAt: mediaFile.createdAt, await storedPath.readAsBytes(),
name: mediaFile.mediaId, createdAt: mediaFile.createdAt,
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,10 +191,21 @@ 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;
_retries++; if (fileToDelete != null) {
_resolveImage(); WidgetsBinding.instance.addPostFrameCallback((_) {
if (!mounted) return;
try {
if (fileToDelete.existsSync()) {
fileToDelete.deleteSync();
}
} catch (_) {}
if (_retries < 3) {
_retries++;
_resolveImage();
}
});
} }
} }
Log.warn(error); Log.warn(error);