diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/timetable/TimetableDayFragment.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/timetable/TimetableDayFragment.kt
index b65f4319..d2016b29 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/timetable/TimetableDayFragment.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/timetable/TimetableDayFragment.kt
@@ -40,6 +40,7 @@ import pl.szczodrzynski.edziennik.data.db.full.EventFull
import pl.szczodrzynski.edziennik.data.db.full.LessonFull
import pl.szczodrzynski.edziennik.databinding.TimetableDayFragmentBinding
import pl.szczodrzynski.edziennik.databinding.TimetableLessonBinding
+import pl.szczodrzynski.edziennik.databinding.TimetableNoLessonsBinding
import pl.szczodrzynski.edziennik.databinding.TimetableNoTimetableBinding
import pl.szczodrzynski.edziennik.ext.Intent
import pl.szczodrzynski.edziennik.ext.JsonObject
@@ -63,6 +64,7 @@ import pl.szczodrzynski.edziennik.utils.Colors
import pl.szczodrzynski.edziennik.utils.managers.NoteManager
import pl.szczodrzynski.edziennik.utils.models.Date
import pl.szczodrzynski.edziennik.utils.models.Time
+import pl.szczodrzynski.edziennik.utils.models.Week
import pl.szczodrzynski.edziennik.utils.mutableLazy
import kotlin.coroutines.CoroutineContext
import kotlin.math.max
@@ -182,6 +184,20 @@ class TimetableDayFragment : LazyFragment(), CoroutineScope {
b.root.removeAllViews()
b.root.addView(view)
viewsRemoved = true
+
+ val b = TimetableNoLessonsBinding.bind(view)
+ val weekStart = date.weekStart.stringY_m_d
+ b.noLessonsSync.onClick {
+ it.isEnabled = false
+ EdziennikTask.syncProfile(
+ profileId = App.profileId,
+ featureTypes = setOf(FeatureType.TIMETABLE),
+ arguments = JsonObject(
+ "weekStart" to weekStart
+ )
+ ).enqueue(activity)
+ }
+ b.noLessonsSync.isVisible = date.weekDay !in Week.SATURDAY..Week.SUNDAY
}
return
}
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/timetable/TimetableFragment.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/timetable/TimetableFragment.kt
index b9e6c5f7..2e037526 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/timetable/TimetableFragment.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/timetable/TimetableFragment.kt
@@ -27,8 +27,11 @@ import kotlinx.coroutines.launch
import pl.szczodrzynski.edziennik.App
import pl.szczodrzynski.edziennik.MainActivity
import pl.szczodrzynski.edziennik.R
+import pl.szczodrzynski.edziennik.data.api.edziennik.EdziennikTask
+import pl.szczodrzynski.edziennik.data.db.enums.FeatureType
import pl.szczodrzynski.edziennik.data.db.enums.MetadataType
import pl.szczodrzynski.edziennik.databinding.FragmentTimetableV2Binding
+import pl.szczodrzynski.edziennik.ext.JsonObject
import pl.szczodrzynski.edziennik.ext.getSchoolYearConstrains
import pl.szczodrzynski.edziennik.ext.getStudentData
import pl.szczodrzynski.edziennik.ui.dialogs.settings.TimetableConfigDialog
@@ -178,6 +181,21 @@ class TimetableFragment : Fragment(), CoroutineScope {
b.tabLayout.setCurrentItem(items.indexOfFirst { it.value == selectedDate?.value ?: today }, false)
activity.navView.bottomSheet.prependItems(
+ BottomSheetPrimaryItem(true)
+ .withTitle(R.string.menu_timetable_sync)
+ .withIcon(CommunityMaterial.Icon.cmd_calendar_sync_outline)
+ .withOnClickListener {
+ activity.bottomSheet.close()
+ val date = pageSelection ?: Date.getToday()
+ val weekStart = date.weekStart.stringY_m_d
+ EdziennikTask.syncProfile(
+ profileId = App.profileId,
+ featureTypes = setOf(FeatureType.TIMETABLE),
+ arguments = JsonObject(
+ "weekStart" to weekStart
+ )
+ ).enqueue(activity)
+ },
BottomSheetPrimaryItem(true)
.withTitle(R.string.timetable_select_day)
.withIcon(SzkolnyFont.Icon.szf_calendar_today_outline)
diff --git a/app/src/main/res/layout/timetable_no_lessons.xml b/app/src/main/res/layout/timetable_no_lessons.xml
index e113ad35..60e98a82 100644
--- a/app/src/main/res/layout/timetable_no_lessons.xml
+++ b/app/src/main/res/layout/timetable_no_lessons.xml
@@ -2,13 +2,29 @@
~ Copyright (c) Kuba Szczodrzyński 2019-11-15.
-->
-
\ No newline at end of file
+ android:id="@+id/noTimetableLayout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center"
+ android:orientation="vertical">
+
+
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 4620f9b2..e4204e21 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1241,7 +1241,7 @@
Skontaktuj się z wychowawcą w celu udostępnienia planu lekcji.
Plan lekcji nie został opublikowany przez szkołę.
Brak planu lekcji
- Wybierz dzień
+ Przejdź do daty
Pobieranie planu lekcji na wybrany tydzień…
Dzisiaj
Synchronizuj wszystko
@@ -1552,4 +1552,5 @@
Rejestracja
Wszystkie lekcje:
Wyświetl nazwę przedmiotu zamiast rodzaju
+ Odśwież wybrany tydzień