diff --git a/AutoCat.xcodeproj/xcuserdata/selim.xcuserdatad/xcschemes/xcschememanagement.plist b/AutoCat.xcodeproj/xcuserdata/selim.xcuserdatad/xcschemes/xcschememanagement.plist
index 88fbda5..cc65585 100644
--- a/AutoCat.xcodeproj/xcuserdata/selim.xcuserdatad/xcschemes/xcschememanagement.plist
+++ b/AutoCat.xcodeproj/xcuserdata/selim.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -7,28 +7,28 @@
AutoCat.xcscheme_^#shared#^_
orderHint
- 1
+ 0
Eureka (Playground) 1.xcscheme
isShown
orderHint
- 5
+ 9
Eureka (Playground) 2.xcscheme
isShown
orderHint
- 6
+ 10
Eureka (Playground).xcscheme
isShown
orderHint
- 4
+ 3
GettingStarted (Playground) 1.xcscheme
@@ -70,42 +70,42 @@
isShown
orderHint
- 10
+ 5
Rx (Playground) 1.xcscheme
isShown
orderHint
- 0
+ 2
Rx (Playground) 2.xcscheme
isShown
orderHint
- 3
+ 4
Rx (Playground).xcscheme
isShown
orderHint
- 2
+ 1
SwiftDate (Playground) 1.xcscheme
isShown
orderHint
- 8
+ 7
SwiftDate (Playground) 2.xcscheme
isShown
orderHint
- 9
+ 8
SwiftDate (Playground) 3.xcscheme
@@ -133,7 +133,7 @@
isShown
orderHint
- 7
+ 6
diff --git a/AutoCat/Extensions/Dated.swift b/AutoCat/Extensions/Dated.swift
index 36c333d..9d552cc 100644
--- a/AutoCat/Extensions/Dated.swift
+++ b/AutoCat/Extensions/Dated.swift
@@ -8,7 +8,12 @@ protocol Dated {
extension Vehicle: Dated {
var date: Date {
- Date(timeIntervalSince1970: self.addedDate/1000)
+ if let lastEventDate = self.events.max(by: { $0.date < $1.date })?.date {
+ let ts = max(self.addedDate/1000, lastEventDate)
+ return Date(timeIntervalSince1970: ts)
+ } else {
+ return Date(timeIntervalSince1970: self.addedDate/1000)
+ }
}
}
@@ -24,9 +29,10 @@ extension RandomAccessCollection where Element: Dated & IdentifiableType & Equat
let monthStart = now.dateAtStartOf(.month)
var sections: [TimeInterval: [Element]] = [:]
for vehicle in self {
- var key = vehicle.date.dateAtStartOf(.day).timeIntervalSince1970
- if vehicle.date.isBeforeDate(monthStart, orEqual: false, granularity: .day) {
- key = vehicle.date.dateAtStartOf(.month).timeIntervalSince1970
+ let date = vehicle.date
+ var key = date.dateAtStartOf(.day).timeIntervalSince1970
+ if date.isBeforeDate(monthStart, orEqual: false, granularity: .day) {
+ key = date.dateAtStartOf(.month).timeIntervalSince1970
}
if sections[key] == nil {