diff --git a/lib/application/use_cases.dart b/lib/application/use_cases.dart index 05beaef..bf9aeba 100644 --- a/lib/application/use_cases.dart +++ b/lib/application/use_cases.dart @@ -208,7 +208,12 @@ final class DataImportUseCase { mode: mode, importedAt: clock.now(), ); - return result.copyWith(missingMediaCount: _missingMediaCount(snapshot)); + return result.copyWith( + missingMediaCount: _missingRestoredMediaCount( + decoded, + restoredMediaFiles, + ), + ); } on LocalBackupException { rethrow; } on Object { @@ -4993,6 +4998,15 @@ int _missingMediaCount(LocalDataExportSnapshot snapshot) { .length; } +int _missingRestoredMediaCount( + LocalDataExportSnapshot snapshot, + Map restoredFiles, +) { + return snapshot.mediaAssets + .where((asset) => !restoredFiles.containsKey(asset.id)) + .length; +} + bool _hasNameDuplicates(LocalDataExportSnapshot snapshot) { return _hasDuplicatesByName(snapshot.exercises) || _hasDuplicatesByName(snapshot.programs) ||