From 52fb0a7e15aaa9a18083606dbe728e47f4103538 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 29 Nov 2021 16:32:35 +0900 Subject: [PATCH] fixed copied item catalog date --- lib/model/entry.dart | 4 +++- lib/model/source/collection_source.dart | 6 +++++- lib/widgets/viewer/debug/debug_page.dart | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/model/entry.dart b/lib/model/entry.dart index 7861d2b5f..f42169aeb 100644 --- a/lib/model/entry.dart +++ b/lib/model/entry.dart @@ -438,13 +438,15 @@ class AvesEntry { return _bestTitle; } - CatalogMetadata? get catalogMetadata => _catalogMetadata; + int? get catalogDateMillis => _catalogDateMillis; set catalogDateMillis(int? dateMillis) { _catalogDateMillis = dateMillis; _bestDate = null; } + CatalogMetadata? get catalogMetadata => _catalogMetadata; + set catalogMetadata(CatalogMetadata? newMetadata) { final oldDateModifiedSecs = dateModifiedSecs; final oldRotationDegrees = rotationDegrees; diff --git a/lib/model/source/collection_source.dart b/lib/model/source/collection_source.dart index 25a8c9a6c..e6eb8cf23 100644 --- a/lib/model/source/collection_source.dart +++ b/lib/model/source/collection_source.dart @@ -105,7 +105,9 @@ abstract class CollectionSource with SourceBase, AlbumMixin, LocationMixin, TagM _rawEntries.removeWhere((entry) => newContentIds.contains(entry.contentId)); } - entries.forEach((entry) => entry.catalogDateMillis = _savedDates[entry.contentId]); + entries.where((entry) => entry.catalogDateMillis == null).forEach((entry) { + entry.catalogDateMillis = _savedDates[entry.contentId]; + }); _entryById.addAll(newIdMapEntries); _rawEntries.addAll(entries); @@ -246,6 +248,8 @@ abstract class CollectionSource with SourceBase, AlbumMixin, LocationMixin, TagM title: newFields['title'] as String?, dateModifiedSecs: newFields['dateModifiedSecs'] as int?, )); + } else { + debugPrint('failed to find source entry with uri=$sourceUri'); } }); await metadataDb.saveEntries(movedEntries); diff --git a/lib/widgets/viewer/debug/debug_page.dart b/lib/widgets/viewer/debug/debug_page.dart index 3bc71ec6e..68c814511 100644 --- a/lib/widgets/viewer/debug/debug_page.dart +++ b/lib/widgets/viewer/debug/debug_page.dart @@ -5,6 +5,7 @@ import 'package:aves/theme/icons.dart'; import 'package:aves/widgets/viewer/debug/db.dart'; import 'package:aves/widgets/viewer/debug/metadata.dart'; import 'package:aves/widgets/viewer/info/common.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:tuple/tuple.dart'; @@ -59,6 +60,7 @@ class ViewerDebugPage extends StatelessWidget { children: [ InfoRowGroup( info: { + 'hash': '#${shortHash(entry)}', 'uri': entry.uri, 'contentId': '${entry.contentId}', 'path': entry.path ?? '', @@ -74,6 +76,7 @@ class ViewerDebugPage extends StatelessWidget { const Divider(), InfoRowGroup( info: { + 'catalogDateMillis': toDateValue(entry.catalogDateMillis), 'dateModifiedSecs': toDateValue(entry.dateModifiedSecs, factor: 1000), 'sourceDateTakenMillis': toDateValue(entry.sourceDateTakenMillis), 'bestDate': '${entry.bestDate}',