@@ -76,11 +76,6 @@ extension StatsPostingStreakInsight: StatsInsightData {
7676 let streaks = jsonDictionary [ " streak " ] as? [ String : AnyObject ] ,
7777 let longestData = streaks [ " long " ] as? [ String : AnyObject ] ,
7878 let currentData = streaks [ " current " ] as? [ String : AnyObject ] ,
79- let longestStart = longestData [ " start " ] as? String ,
80- let longestStartDate = StatsPostingStreakInsight . dateFormatter. date ( from: longestStart) ,
81- let longestEnd = longestData [ " end " ] as? String ,
82- let longestEndDate = StatsPostingStreakInsight . dateFormatter. date ( from: longestEnd) ,
83- let longestLength = longestData [ " length " ] as? Int ,
8479 let currentStart = currentData [ " start " ] as? String ,
8580 let currentStartDate = StatsPostingStreakInsight . dateFormatter. date ( from: currentStart) ,
8681 let currentEnd = currentData [ " end " ] as? String ,
@@ -101,13 +96,25 @@ extension StatsPostingStreakInsight: StatsInsightData {
10196 PostingStreakEvent ( date: $0 as! Date , postCount: countedPosts. count ( for: $0) )
10297 }
10398
99+ self . postingEvents = postingEvents
104100 self . currentStreakStart = currentStartDate
105101 self . currentStreakEnd = currentEndDate
106102 self . currentStreakLength = currentLength
107- self . longestStreakStart = longestStartDate
108- self . longestStreakEnd = longestEndDate
109- self . longestStreakLength = longestLength
110- self . postingEvents = postingEvents
103+
104+ // If there is no longest streak, use the current.
105+ if let longestStart = longestData [ " start " ] as? String ,
106+ let longestStartDate = StatsPostingStreakInsight . dateFormatter. date ( from: longestStart) ,
107+ let longestEnd = longestData [ " end " ] as? String ,
108+ let longestEndDate = StatsPostingStreakInsight . dateFormatter. date ( from: longestEnd) ,
109+ let longestLength = longestData [ " length " ] as? Int {
110+ self . longestStreakStart = longestStartDate
111+ self . longestStreakEnd = longestEndDate
112+ self . longestStreakLength = longestLength
113+ } else {
114+ self . longestStreakStart = currentStartDate
115+ self . longestStreakEnd = currentEndDate
116+ self . longestStreakLength = currentLength
117+ }
111118 }
112119
113120 private static var dateFormatter : DateFormatter {
@@ -116,6 +123,4 @@ extension StatsPostingStreakInsight: StatsInsightData {
116123 return formatter
117124 }
118125
119-
120-
121126}
0 commit comments