From caf601b49bf20936cadfa45115f69ab3930f27a7 Mon Sep 17 00:00:00 2001 From: laurenspriem Date: Mon, 10 Feb 2025 13:55:59 +0530 Subject: [PATCH] [mob][photos] Switch order --- mobile/lib/services/search_service.dart | 43 +++++++++++++------------ 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/mobile/lib/services/search_service.dart b/mobile/lib/services/search_service.dart index f99713a8f2..0b6c4980d6 100644 --- a/mobile/lib/services/search_service.dart +++ b/mobile/lib/services/search_service.dart @@ -1317,25 +1317,7 @@ class SearchService { for (final clusterID in wideRadiusClusters.keys) { final files = wideRadiusClusters[clusterID]!.$1; final location = wideRadiusClusters[clusterID]!.$2; - // Check that the photos are distributed over a short time range (2-30 days) - final creationTimes = []; - for (final file in files) { - if (file.creationTime != null) { - creationTimes.add(file.creationTime!); - } - } - creationTimes.sort(); - if (creationTimes.length < 2) continue; - final firstCreationTime = DateTime.fromMicrosecondsSinceEpoch( - creationTimes.first, - ); - final lastCreationTime = DateTime.fromMicrosecondsSinceEpoch( - creationTimes.last, - ); - final days = lastCreationTime.difference(firstCreationTime).inDays; - if (days < 2 || days > 30) { - continue; - } + // Check that it's at least 10km away from any base or tag location bool tooClose = false; for (final baseLocation in baseLocations.values) { @@ -1348,7 +1330,6 @@ class SearchService { break; } } - if (tooClose) continue; for (final tag in tagToItemsMap.keys) { if (isFileInsideLocationTag( tag.item.centerPoint, @@ -1360,6 +1341,28 @@ class SearchService { } } if (tooClose) continue; + + // Check that the photos are distributed over a short time range (2-30 days) + final creationTimes = []; + for (final file in files) { + if (file.creationTime != null) { + creationTimes.add(file.creationTime!); + } + } + if (creationTimes.length < 2) continue; + creationTimes.sort(); + + final firstCreationTime = DateTime.fromMicrosecondsSinceEpoch( + creationTimes.first, + ); + final lastCreationTime = DateTime.fromMicrosecondsSinceEpoch( + creationTimes.last, + ); + final days = lastCreationTime.difference(firstCreationTime).inDays; + if (days < 2 || days > 30) { + continue; + } + tripLocations[clusterID] = ( files, location,