Docs
This commit is contained in:
		
							parent
							
								
									b5b3205971
								
							
						
					
					
						commit
						d036afc319
					
				
					 1 changed files with 10 additions and 2 deletions
				
			
		|  | @ -18,6 +18,9 @@ class FirebaseFeedDAO @Inject constructor( | |||
|     private val subjectDAO: FireBaseSubjectDAO | ||||
| ) : FeedDAO { | ||||
| 
 | ||||
|     /** | ||||
|      *  Return a map as with key the day and value a list of feedentries for that day. | ||||
|      */ | ||||
|     override fun getFeedEntries(): Flow<Map<String, List<FeedEntry>>> { | ||||
|         return sessionDAO.getSessions().map {sessionReports -> | ||||
|             sessionReports | ||||
|  | @ -28,7 +31,6 @@ class FirebaseFeedDAO @Inject constructor( | |||
|                     entries | ||||
|                     .groupBy { it.taskId } | ||||
|                     .map { fuseFeedEntries(it.component2()) } | ||||
|                     .sortedByDescending { it.endTime } | ||||
|                 } | ||||
|         } | ||||
|     } | ||||
|  | @ -37,6 +39,10 @@ class FirebaseFeedDAO @Inject constructor( | |||
|         return DateFormat.getDateInstance().format(entry.endTime.toDate()) | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Givin a list of entries referencing the same task, in the same day, fuse them into one | ||||
|      * feed-entry by adding the studytime and keeping the most recent end-timestamp | ||||
|      */ | ||||
|     private fun fuseFeedEntries(entries: List<FeedEntry>): FeedEntry = | ||||
|         entries.fold(entries[0]) { accEntry, newEntry -> | ||||
|             accEntry.copy( | ||||
|  | @ -49,7 +55,9 @@ class FirebaseFeedDAO @Inject constructor( | |||
|         return if (t1 < t2) t2 else t1 | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * Convert a sessionReport to a feedEntry. Fetch Task and Subject to get names | ||||
|      */ | ||||
|     private suspend fun sessionToFeedEntry(sessionReport: SessionReport): FeedEntry { | ||||
|         val subjectId: String = sessionReport.subjectId | ||||
|         val taskId: String = sessionReport.taskId | ||||
|  |  | |||
		Reference in a new issue
	
	 lbarraga
						lbarraga