fix: processing and display logic

This commit is contained in:
Prateek Sunal 2025-02-03 03:37:29 +05:30
parent 330a3b4dea
commit a72ae560c9
4 changed files with 204 additions and 204 deletions

View File

@ -1737,7 +1737,7 @@ class FilesDB {
final db = await instance.sqliteAsyncDB;
final results = await db.getAll(
'''
SELECT * FROM $filesTable WHERE $columnFileType = ? AND $columnCreationTime > ?
SELECT * FROM $filesTable WHERE $columnFileType = ? AND $columnCreationTime > ? AND $columnUploadedFileID != -1
''',
[getInt(fileType), beginDate.millisecondsSinceEpoch],
);

View File

@ -96,6 +96,7 @@ class PreviewVideoStore {
final file = await getFile(enteFile, isOrigin: true);
if (file == null) return;
try {
try {
// check if playlist already exist
await getPlaylist(enteFile);
@ -294,7 +295,7 @@ class PreviewVideoStore {
}
}
Bus.instance.fire(PreviewUpdatedEvent(_items));
} finally {
isUploading = false;
if (files.isNotEmpty) {
final file = files.first;
@ -302,6 +303,7 @@ class PreviewVideoStore {
await chunkAndUploadVideo(ctx, file);
}
}
}
Future<void> _reportVideoPreview(
EnteFile file,
@ -498,18 +500,8 @@ class PreviewVideoStore {
}
final allFiles = files
.where(
(file) =>
file.uploadedFileID != null &&
previewIds?[file.uploadedFileID] == null &&
file.fileType == FileType.video,
)
.where((file) => previewIds?[file.uploadedFileID] == null)
.toList();
final file = allFiles.first;
allFiles.remove(file);
this.files.addAll(allFiles);
await chunkAndUploadVideo(null, file);
// set all video status to be in queue
for (final file in allFiles) {
@ -519,5 +511,13 @@ class PreviewVideoStore {
collectionID: file.collectionID ?? 0,
);
}
Bus.instance.fire(PreviewUpdatedEvent(_items));
final file = allFiles.first;
allFiles.remove(file);
this.files.addAll(allFiles);
await chunkAndUploadVideo(null, file);
}
}

View File

@ -35,7 +35,7 @@ class StatusBarWidget extends StatefulWidget {
class _StatusBarWidgetState extends State<StatusBarWidget> {
static final _logger = Logger("StatusBarWidget");
int previewCount = 0;
late int previewCount = 0;
late StreamSubscription<SyncStatusUpdate> _subscription;
late StreamSubscription<NotificationEvent> _notificationSubscription;
@ -88,12 +88,11 @@ class _StatusBarWidgetState extends State<StatusBarWidget> {
}
});
// visit LinkedHashMap and calculat previewCount
previewCount = PreviewVideoStore.instance.previews.values
.where(
(element) =>
element.status == PreviewItemStatus.compressing ||
element.status == PreviewItemStatus.uploading,
element.status != PreviewItemStatus.uploaded &&
element.status != PreviewItemStatus.failed,
)
.length;
@ -102,10 +101,11 @@ class _StatusBarWidgetState extends State<StatusBarWidget> {
previewCount = event.items.values
.where(
(element) =>
element.status == PreviewItemStatus.compressing ||
element.status == PreviewItemStatus.uploading,
element.status != PreviewItemStatus.uploaded &&
element.status != PreviewItemStatus.failed,
)
.length;
setState(() {});
});
super.initState();
}

View File

@ -79,9 +79,9 @@ class _PreviewStatusWidgetState extends State<PreviewStatusWidget> {
preview?.status == PreviewItemStatus.retry;
final isFailed = preview?.status == PreviewItemStatus.failed;
final isBeforeCutoffDate = widget.file.updationTime != null &&
final isBeforeCutoffDate = widget.file.creationTime != null &&
PreviewVideoStore.instance.videoStreamingCutoff != null
? DateTime.fromMillisecondsSinceEpoch(widget.file.updationTime!)
? DateTime.fromMillisecondsSinceEpoch(widget.file.creationTime!)
.isBefore(
PreviewVideoStore.instance.videoStreamingCutoff!,
)