From fedde9f739fe88f21b6b9094d530ab338a9a575b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Szczodrzy=C5=84ski?= Date: Wed, 26 Oct 2022 20:34:48 +0200 Subject: [PATCH] [UI/Home] Show all next lessons before school day start. --- .../ui/home/cards/HomeTimetableCard.kt | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/home/cards/HomeTimetableCard.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/home/cards/HomeTimetableCard.kt index 965fc41b..f5523eec 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/home/cards/HomeTimetableCard.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/home/cards/HomeTimetableCard.kt @@ -75,6 +75,7 @@ class HomeTimetableCard( private var counterJob: Job? = null private var counterStart: Time? = null private var counterEnd: Time? = null + private var showAllLessons: Boolean = false private var subjectSpannable: CharSequence? = null private val ignoreCancelled = false @@ -276,6 +277,8 @@ class HomeTimetableCard( counterJob = startCoroutineTimer(repeatMillis = 500) { count() } + + showAllLessons = !isOngoing } else { val isTomorrow = today.clone().stepForward(0, 0, 1) == timetableDate @@ -312,12 +315,22 @@ class HomeTimetableCard( } ?: run { b.classroom.visibility = View.GONE } + + showAllLessons = true } val text = mutableListOf( + if (showAllLessons) + activity.getString(R.string.home_timetable_all_lessons) + else activity.getString(R.string.home_timetable_later) ) - val nextLessons = lessons.drop(skipFirst + 1) + + val nextLessons = if (showAllLessons) + lessons.drop(skipFirst) + else + lessons.drop(skipFirst + 1) + for (lesson in nextLessons) { text += listOf( lesson.displayStartTime?.stringHM, @@ -348,6 +361,14 @@ class HomeTimetableCard( } val now = syncedNow + if (now >= counterStart && showAllLessons) { + // update "next lessons" view to remove current lesson + this.counterJob?.cancel() + this.counterStart = null + this.counterEnd = null + update() + return + } if (now > counterEnd) { // the lesson is already over b.progress.visibility = View.GONE