fix: in lastUsedByActivityType, check for uses with specific activity type (#1413)

pull/1593/head
ggurdin 10 months ago committed by GitHub
parent 28757d603a
commit bfe8789485
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -466,17 +466,20 @@ class PangeaToken {
}
/// lastUsed by activity type
DateTime? _lastUsedByActivityType(ActivityTypeEnum a) =>
constructs.where((c) => a.constructFilter(c.id)).fold<DateTime?>(
null,
(previousValue, element) {
if (previousValue == null) return element.lastUsed;
if (element.lastUsed == null) return previousValue;
return element.lastUsed!.isAfter(previousValue)
? element.lastUsed
: previousValue;
},
);
DateTime? _lastUsedByActivityType(ActivityTypeEnum a) {
final List<ConstructUses> filteredConstructs =
constructs.where((c) => a.constructFilter(c.id)).toList();
final correctUseTimestamps = filteredConstructs
.expand((c) => c.uses)
.where((u) => u.useType == a.correctUse)
.map((u) => u.timeStamp)
.toList();
if (correctUseTimestamps.isEmpty) return null;
// return the most recent timestamp
return correctUseTimestamps.reduce((a, b) => a.isAfter(b) ? a : b);
}
/// daysSinceLastUse by activity type
int daysSinceLastUseByType(ActivityTypeEnum a) {

Loading…
Cancel
Save