diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/MensaFragment.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/MensaFragment.kt index 7b0149e..4c3f64b 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/MensaFragment.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/MensaFragment.kt @@ -22,15 +22,11 @@ package org.mosad.seil0.projectlaogai.fragments -import android.os.Build import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.ScrollView import androidx.fragment.app.Fragment -import com.afollestad.materialdialogs.MaterialDialog -import com.google.android.material.floatingactionbutton.FloatingActionButton import kotlinx.android.synthetic.main.fragment_mensa.* import org.jetbrains.anko.doAsync import org.jetbrains.anko.uiThread @@ -47,21 +43,16 @@ import org.mosad.seil0.projectlaogai.uicomponents.MealLinearLayout /** * The mensa controller class * contains all needed parts to display and the mensa detail screen + * TODO investigate reading the mensa card value via nfc in a background task, show value if card detected */ class MensaFragment : Fragment() { - private lateinit var btnCardValue: FloatingActionButton - private lateinit var scrollViewMensa: ScrollView - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view: View = inflater.inflate(R.layout.fragment_mensa, container, false) - btnCardValue = view.findViewById(R.id.btnCardValue) - scrollViewMensa = view.findViewById(R.id.scrollView_Mensa) - // init actions - initActions() + refreshAction() // add the current week (week starts on sunday) val dayCurrent = if(NotRetardedCalendar().getDayOfWeekIndex() == 6) 0 else NotRetardedCalendar().getDayOfWeekIndex() @@ -75,32 +66,6 @@ class MensaFragment : Fragment() { return view } - private fun initActions() { - refreshAction() // must be async - - btnCardValue.setOnClickListener { - MaterialDialog(context!!) - .title(text = "Mensa-Karte") - .message(text = "das aktuelle Guthaben beträgt\n\n13,70€") - .show() - } - - // TODO only works with android m(23) or higher - // hide the btnCardValue if the user is scrolling down - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - scrollViewMensa.setOnScrollChangeListener(object: View.OnScrollChangeListener { - override fun onScrollChange(v: View?, scrollX: Int, scrollY: Int, oldScrollX: Int, oldScrollY: Int) { - if (scrollY > oldScrollY) { - btnCardValue.hide() - } else { - btnCardValue.show() - } - } - }) - } - - } - /** * add all menus from dayStart to Friday for a given week * @param menusWeek menu of type MensaWeek you want to add diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/TimeTableFragment.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/TimeTableFragment.kt index e841244..5fdd17b 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/TimeTableFragment.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/TimeTableFragment.kt @@ -22,12 +22,15 @@ package org.mosad.seil0.projectlaogai.fragments +import android.os.Build import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.ScrollView import androidx.fragment.app.Fragment import com.afollestad.materialdialogs.MaterialDialog +import com.google.android.material.floatingactionbutton.FloatingActionButton import kotlinx.android.synthetic.main.fragment_timetable.* import org.jetbrains.anko.doAsync import org.jetbrains.anko.uiThread @@ -50,13 +53,17 @@ import java.util.* class TimeTableFragment : Fragment() { private val formatter = SimpleDateFormat("E dd.MM", Locale.getDefault()) + private lateinit var scrollViewTimetable: ScrollView + private lateinit var faBtnAddLesson: FloatingActionButton override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view: View = inflater.inflate(R.layout.fragment_timetable, container, false) + scrollViewTimetable = view.findViewById(R.id.scrollView_Timetable) + faBtnAddLesson = view.findViewById(R.id.faBtnAddLesson) // init actions - refreshAction() + initActions() if (timetables[0].days.isNotEmpty() && timetables[1].days.isNotEmpty()) { addInitWeeks() @@ -70,6 +77,38 @@ class TimeTableFragment : Fragment() { return view } + /** + * initialize the actions + */ + private fun initActions() = doAsync { + + uiThread { + refreshLayout_Timetable.setOnRefreshListener { + updateTimetableScreen() + } + + faBtnAddLesson.setOnClickListener { + MaterialDialog(context!!) + .title(text = "Vorlesung hinzufügen") + .message(text = "wähle einen Studiengang aus:\n\nWähle eine Vorlesung aus: \n\n Diese Funktion ist noch nicht verfügbar") + .show() + } + + // TODO only works with android m(23) or higher + // hide the btnCardValue if the user is scrolling down + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + scrollViewTimetable.setOnScrollChangeListener { v, scrollX, scrollY, oldScrollX, oldScrollY -> + if (scrollY > oldScrollY) { + faBtnAddLesson.hide() + } else { + faBtnAddLesson.show() + } + } + } + } + + } + /** * add the current and next weeks lessons */ @@ -124,19 +163,6 @@ class TimeTableFragment : Fragment() { } } - /** - * initialize the refresh action - */ - private fun refreshAction() = doAsync { - uiThread { - // set the refresh listener - refreshLayout_Timetable.setOnRefreshListener { - updateTimetableScreen() - } - - } - } - private fun updateTimetableScreen() = doAsync { // update the cache TCoRAPIController.getTimetable(cCourse.courseName, 0, context!!).get() // blocking since we want the new data diff --git a/app/src/main/res/layout/fragment_mensa.xml b/app/src/main/res/layout/fragment_mensa.xml index b49b038..b972be0 100644 --- a/app/src/main/res/layout/fragment_mensa.xml +++ b/app/src/main/res/layout/fragment_mensa.xml @@ -23,13 +23,5 @@ - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_timetable.xml b/app/src/main/res/layout/fragment_timetable.xml index 86982a6..ea2f788 100644 --- a/app/src/main/res/layout/fragment_timetable.xml +++ b/app/src/main/res/layout/fragment_timetable.xml @@ -1,6 +1,6 @@ @@ -12,7 +12,7 @@ + android:layout_height="match_parent" android:id="@+id/scrollView_Timetable"> + \ No newline at end of file diff --git a/fastlane/metadata/android/de/full_description.txt b/fastlane/metadata/android/de/full_description.txt index e5910f8..f1f25c7 100644 --- a/fastlane/metadata/android/de/full_description.txt +++ b/fastlane/metadata/android/de/full_description.txt @@ -1,4 +1,4 @@ -ProjectLaogai ist eine App um den Vorlesungsplan und den Mensa Speiseplan der Hochschule Offenburg anzuzeigen. +ProjectLaogai ist eine App um den Vorlesungsplan und den Mensa-Speiseplan der Hochschule Offenburg anzuzeigen. Features: * schaue was es diese und nächste Woche in der Mensa zu Essen gibt