fix: check files db if preview exist

This commit is contained in:
Prateek Sunal
2024-11-28 20:26:11 +05:30
parent f7fc50f2e6
commit 13da082cda
2 changed files with 14 additions and 2 deletions

View File

@@ -26,6 +26,7 @@ extension FileDataTable on MLDataDB {
);
}
// optimize this
Future<Set<int>> getFileIDsWithFDData() async {
final db = await MLDataDB.instance.asyncDB;
final res = await db.execute('SELECT $fileIDColumn FROM $fileDataTable');

View File

@@ -11,6 +11,8 @@ import "package:fluttertoast/fluttertoast.dart";
import 'package:logging/logging.dart';
import 'package:photos/core/constants.dart';
import "package:photos/core/event_bus.dart";
import "package:photos/db/ml/db.dart";
import "package:photos/db/ml/filedata.dart";
import "package:photos/generated/l10n.dart";
import 'package:photos/models/file/file.dart';
import "package:photos/service_locator.dart";
@@ -56,9 +58,18 @@ class _VideoViewWidgetState extends State<VideoViewWidget> {
_checkForPreview();
}
void _checkForPreview() {
Future<void> _checkForPreview() async {
if (!flagService.internalUser) return;
PreviewVideoStore.instance.getPlaylist(widget.file).then((file) {
final Set<int> filesWithFDStatus =
await MLDataDB.instance.getFileIDsWithFDData();
if (!filesWithFDStatus.contains(widget.file.uploadedFileID)) {
isCheckingForPreview = false;
setState(() {});
}
await PreviewVideoStore.instance.getPlaylist(widget.file).then((file) {
if (!mounted) return;
if (file != null) {
isCheckingForPreview = false;