move storing of the images into the mediafile service

This commit is contained in:
otsmr 2025-12-29 23:24:14 +01:00
parent d067a3c931
commit 24f45ce9bd
3 changed files with 10 additions and 43 deletions

View file

@ -218,6 +218,15 @@ class MediaFileService {
} }
if (tempPath.existsSync()) { if (tempPath.existsSync()) {
await tempPath.copy(storedPath.path); await tempPath.copy(storedPath.path);
if (gUser.storeMediaFilesInGallery) {
if (mediaFile.type == MediaType.video) {
await saveVideoToGallery(storedPath.path);
} else {
await saveImageToGallery(
storedPath.readAsBytesSync(),
);
}
}
} else { } else {
Log.error( Log.error(
'Could not store image neither as ${tempPath.path} does not exists.', 'Could not store image neither as ${tempPath.path} does not exists.',

View file

@ -2,10 +2,7 @@ import 'dart:async';
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:twonly/globals.dart';
import 'package:twonly/src/database/tables/mediafiles.table.dart';
import 'package:twonly/src/services/mediafiles/mediafile.service.dart'; import 'package:twonly/src/services/mediafiles/mediafile.service.dart';
import 'package:twonly/src/utils/log.dart';
import 'package:twonly/src/utils/misc.dart'; import 'package:twonly/src/utils/misc.dart';
class SaveToGalleryButton extends StatefulWidget { class SaveToGalleryButton extends StatefulWidget {
@ -48,37 +45,10 @@ class SaveToGalleryButtonState extends State<SaveToGalleryButton> {
}); });
await widget.storeImageAsOriginal(); await widget.storeImageAsOriginal();
String? res;
final storedMediaPath = widget.mediaService.storedPath;
await widget.mediaService.storeMediaFile(); await widget.mediaService.storeMediaFile();
if (gUser.storeMediaFilesInGallery) {
if (widget.mediaService.mediaFile.type == MediaType.video) {
res = await saveVideoToGallery(storedMediaPath.path);
} else {
res = await saveImageToGallery(
storedMediaPath.readAsBytesSync(),
);
}
}
if (res == null) {
setState(() { setState(() {
_imageSaved = true; _imageSaved = true;
});
} else if (mounted && context.mounted) {
Log.error('Could not store media file in the gallery.');
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(res),
duration: const Duration(seconds: 3),
),
);
}
setState(() {
_imageSaving = false; _imageSaving = false;
}); });
}, },

View file

@ -357,18 +357,6 @@ class _MediaViewerViewState extends State<MediaViewerView> {
); );
setState(() { setState(() {
imageSaved = true; imageSaved = true;
});
if (gUser.storeMediaFilesInGallery) {
if (currentMedia!.mediaFile.type == MediaType.video) {
await saveVideoToGallery(currentMedia!.storedPath.path);
} else if (currentMedia!.mediaFile.type == MediaType.image ||
currentMedia!.mediaFile.type == MediaType.gif) {
final imageBytes = await currentMedia!.storedPath.readAsBytes();
await saveImageToGallery(imageBytes);
}
}
setState(() {
imageSaving = false; imageSaving = false;
}); });
} }