fix: in lastUsedByActivityType, check for uses with specific activity type (#1413)
This commit is contained in:
parent
28757d603a
commit
bfe8789485
1 changed files with 14 additions and 11 deletions
|
|
@ -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…
Add table
Reference in a new issue