From b0c4f44833d1c908f57994bed342ca6ba37968c7 Mon Sep 17 00:00:00 2001 From: lbarraga Date: Tue, 25 Apr 2023 18:05:33 +0200 Subject: [PATCH] #76 total studytime toevoegen aan een functionaltimer --- .../be/ugent/sel/studeez/data/SessionReportState.kt | 4 ++++ .../models/timer_functional/FunctionalCustomTimer.kt | 2 ++ .../models/timer_functional/FunctionalEndlessTimer.kt | 1 + .../timer_functional/FunctionalPomodoroTimer.kt | 4 ++++ .../local/models/timer_functional/FunctionalTimer.kt | 11 +++++++++++ .../screens/session_recap/SessionRecapScreen.kt | 2 ++ .../screens/session_recap/SessionRecapViewModel.kt | 4 ++++ 7 files changed, 28 insertions(+) create mode 100644 app/src/main/java/be/ugent/sel/studeez/data/SessionReportState.kt create mode 100644 app/src/main/java/be/ugent/sel/studeez/screens/session_recap/SessionRecapScreen.kt create mode 100644 app/src/main/java/be/ugent/sel/studeez/screens/session_recap/SessionRecapViewModel.kt diff --git a/app/src/main/java/be/ugent/sel/studeez/data/SessionReportState.kt b/app/src/main/java/be/ugent/sel/studeez/data/SessionReportState.kt new file mode 100644 index 0000000..81e5244 --- /dev/null +++ b/app/src/main/java/be/ugent/sel/studeez/data/SessionReportState.kt @@ -0,0 +1,4 @@ +package be.ugent.sel.studeez.data + +class SessionReportState { +} \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/FunctionalCustomTimer.kt b/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/FunctionalCustomTimer.kt index 15dd00c..6c035de 100644 --- a/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/FunctionalCustomTimer.kt +++ b/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/FunctionalCustomTimer.kt @@ -1,5 +1,6 @@ package be.ugent.sel.studeez.data.local.models.timer_functional +import be.ugent.sel.studeez.data.local.models.SessionReport import be.ugent.sel.studeez.screens.session.sessionScreens.CustomSessionScreen import be.ugent.sel.studeez.screens.session.sessionScreens.AbstractSessionScreen @@ -8,6 +9,7 @@ class FunctionalCustomTimer(studyTime: Int) : FunctionalTimer(studyTime) { override fun tick() { if (!hasEnded()) { time.minOne() + totalStudyTime++ } } diff --git a/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/FunctionalEndlessTimer.kt b/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/FunctionalEndlessTimer.kt index eb368f4..24007e7 100644 --- a/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/FunctionalEndlessTimer.kt +++ b/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/FunctionalEndlessTimer.kt @@ -15,6 +15,7 @@ class FunctionalEndlessTimer : FunctionalTimer(0) { override fun tick() { time.plusOne() + totalStudyTime++ } override fun getView(): AbstractSessionScreen { diff --git a/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/FunctionalPomodoroTimer.kt b/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/FunctionalPomodoroTimer.kt index 931cbe6..152cfa4 100644 --- a/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/FunctionalPomodoroTimer.kt +++ b/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/FunctionalPomodoroTimer.kt @@ -26,6 +26,10 @@ class FunctionalPomodoroTimer( isInBreak = !isInBreak } time.minOne() + + if (!isInBreak) { + totalStudyTime++ + } } override fun hasEnded(): Boolean { diff --git a/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/FunctionalTimer.kt b/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/FunctionalTimer.kt index 449b85c..41733bd 100644 --- a/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/FunctionalTimer.kt +++ b/app/src/main/java/be/ugent/sel/studeez/data/local/models/timer_functional/FunctionalTimer.kt @@ -1,8 +1,12 @@ package be.ugent.sel.studeez.data.local.models.timer_functional +import be.ugent.sel.studeez.data.local.models.SessionReport import be.ugent.sel.studeez.screens.session.sessionScreens.AbstractSessionScreen +import com.google.firebase.Timestamp + abstract class FunctionalTimer(initialValue: Int) { val time: Time = Time(initialValue) + var totalStudyTime: Int = 0 fun getHoursMinutesSeconds(): HoursMinutesSeconds { return time.getAsHMS() @@ -15,5 +19,12 @@ abstract class FunctionalTimer(initialValue: Int) { abstract fun hasCurrentCountdownEnded(): Boolean abstract fun getView(): AbstractSessionScreen + fun getSessionReport(): SessionReport { + return SessionReport( + id = "", + studyTime = totalStudyTime, + endTime = Timestamp.now() + ) + } } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/session_recap/SessionRecapScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/session_recap/SessionRecapScreen.kt new file mode 100644 index 0000000..440e1d9 --- /dev/null +++ b/app/src/main/java/be/ugent/sel/studeez/screens/session_recap/SessionRecapScreen.kt @@ -0,0 +1,2 @@ +package be.ugent.sel.studeez.screens.session_recap + diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/session_recap/SessionRecapViewModel.kt b/app/src/main/java/be/ugent/sel/studeez/screens/session_recap/SessionRecapViewModel.kt new file mode 100644 index 0000000..aaa77af --- /dev/null +++ b/app/src/main/java/be/ugent/sel/studeez/screens/session_recap/SessionRecapViewModel.kt @@ -0,0 +1,4 @@ +package be.ugent.sel.studeez.screens.session_recap + +class SessionRecapViewModel { +} \ No newline at end of file