diff --git a/app/src/main/java/be/ugent/sel/studeez/domain/FeedDAO.kt b/app/src/main/java/be/ugent/sel/studeez/domain/FeedDAO.kt index 05d4425..2d91781 100644 --- a/app/src/main/java/be/ugent/sel/studeez/domain/FeedDAO.kt +++ b/app/src/main/java/be/ugent/sel/studeez/domain/FeedDAO.kt @@ -5,6 +5,6 @@ import kotlinx.coroutines.flow.Flow interface FeedDAO { - fun getFeedEntries(): Flow> + fun getFeedEntries(): Flow>> } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseFeedDAO.kt b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseFeedDAO.kt index d742bf3..600153a 100644 --- a/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseFeedDAO.kt +++ b/app/src/main/java/be/ugent/sel/studeez/domain/implementation/FirebaseFeedDAO.kt @@ -1,5 +1,6 @@ package be.ugent.sel.studeez.domain.implementation +import android.icu.text.DateFormat import be.ugent.sel.studeez.data.local.models.FeedEntry import be.ugent.sel.studeez.data.local.models.SessionReport import be.ugent.sel.studeez.data.local.models.task.Subject @@ -17,16 +18,21 @@ class FirebaseFeedDAO @Inject constructor( private val subjectDAO: FireBaseSubjectDAO ) : FeedDAO { - override fun getFeedEntries(): Flow> { + override fun getFeedEntries(): Flow>> { return sessionDAO.getSessions().map {sessionReports -> sessionReports .map { sessionReport -> sessionToFeedEntry(sessionReport) } .groupBy { it.taskId } .map { fuseFeedEntries(it.component2()) } .sortedByDescending { it.endTime } + .groupBy { getFormattedTime(it) } } } + private fun getFormattedTime(entry: FeedEntry): String { + return DateFormat.getDateInstance().format(entry.endTime.toDate()) + } + private fun fuseFeedEntries(entries: List): FeedEntry = entries.fold(entries[0]) { accEntry, newEntry -> accEntry.copy(