@ -22,19 +22,18 @@
package org.mosad.seil0.projectlaogai
import android.annotation.SuppressLint
import android.graphics.Color
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.LinearLayout
import android.widget.ScrollView
import android.widget.TextView
import kotlinx.android.synthetic.main.fragment_home.*
import org.jetbrains.anko.doAsync
import org.jetbrains.anko.uiThread
import org.mosad.seil0.projectlaogai.hsoparser.DataTypes
import org.mosad.seil0.projectlaogai.hsoparser.Lesson
import org.mosad.seil0.projectlaogai.hsoparser.Meal
import org.mosad.seil0.projectlaogai.hsoparser.MensaParser
import org.mosad.seil0.projectlaogai.uicomponents.LessonCardView
@ -46,37 +45,29 @@ import java.util.*
* /
class HomeFragment : Fragment ( ) {
private lateinit var txtViewMenu1 : TextView
private lateinit var txtViewMenu2 : TextView
private lateinit var scrollViewTimeTable : ScrollView
val times = arrayOf ( " 8.00 - 9.30 " , " 9.45 - 11.15 " , " 11.35 - 13.05 " , " 14.00 -15.30 " , " 15.45 - 17.15 " , " 17.30 - 19.00 " )
private lateinit var linLayoutTimeTable : LinearLayout
private lateinit var currentMenus : ArrayList < Meal >
private lateinit var timeTableWeek : Array < Array < Lesson > >
override fun onCreateView ( inflater : LayoutInflater , container : ViewGroup ? , savedInstanceState : Bundle ? ) : View ? {
val view : View = inflater . inflate ( R . layout . fragment _home , container , false )
// init UI elements
txtViewMenu1 = view . findViewById ( R . id . txtView _Menu1 )
txtViewMenu2 = view . findViewById ( R . id . txtView _Menu2 )
scrollViewTimeTable = view . findViewById ( R . id . scrollView _TimeTable )
linLayoutTimeTable = view . findViewById ( R . id . linLayout _TimeTable )
linLayoutTimeTable = view . findViewById ( R . id . linLayoutTimeTable )
//setText()
addCurentMensaMenu ( )
addLessons ( )
addCurrentMensaMenu ( )
addCurrentTimeTable ( )
// Inflate the layout for this fragment
return view
}
private fun addCurentMensaMenu ( ) {
doAsync {
val mensaParser = MensaParser ( )
val dayMenus : ArrayList < Meal > = mensaParser . getMensaMenuDay ( mensaParser . getMensaMenu ( ) , Calendar . getInstance ( ) . get ( Calendar . DAY _OF _WEEK ) )
private fun addCurrentMensaMenu ( ) {
doAsync {
val dayMenus : ArrayList < Meal > = MensaParser ( ) . getMensaMenuDay ( currentMenus , Calendar . getInstance ( ) . get ( Calendar . DAY _OF _WEEK ) )
uiThread {
for ( part in dayMenus [ 0 ] . parts ) {
@ -87,46 +78,33 @@ class HomeFragment : Fragment() {
txtViewMenu2 . append ( part )
}
}
}
}
@SuppressLint ( " SetTextI18n " )
private fun addLessons ( ) {
// for each lesson to display on homescreen create a cardview
val lessonCardView1 = LessonCardView ( context !! , null )
val lessonCardView2 = LessonCardView ( context !! , null )
val lessonCardView3 = LessonCardView ( context !! , null )
val lessonCardView4 = LessonCardView ( context !! , null )
val lessonCardView5 = LessonCardView ( context !! , null )
private fun addCurrentTimeTable ( ) {
val timeTableDay = timeTableWeek [ Calendar . getInstance ( ) . get ( Calendar . DAY _OF _WEEK ) - 2 ]
lessonCardView1 . getTxtViewLesson ( ) . text = " Computernetze 1 \n Mayer E. \n A213 "
lessonCardView1 . getTxtViewTime ( ) . text = " 8.00 - 9.30 "
for ( i in 0. . 5 ) {
val lessonCardView = LessonCardView ( context !! , null )
lessonCardView2 . getTxtViewLesson ( ) . text = " Computernetze 1 \n Mayer E. \n A213 "
lessonCardView2 . getTxtViewTime ( ) . text = " 8.00 - 9.30 "
lessonCardView . getTxtViewLesson ( ) . text = """ ${timeTableDay[i].lessonSubject}
"""
lessonCardView . getTxtViewLesson ( ) . append ( timeTableDay [ i ] . lessonTeacher + " \n " )
lessonCardView . getTxtViewLesson ( ) . append ( timeTableDay [ i ] . lessonRoom )
lessonCardView . getTxtViewTime ( ) . text = DataTypes ( ) . getTime ( ) [ i ]
lessonCardView3 . getTxtViewLesson ( ) . text = " Computernetze 1 \n Mayer E. \n A213 "
lessonCardView3 . getTxtViewTime ( ) . text = " 8.00 - 9.30 "
lessonCardView4 . getTxtViewLesson ( ) . text = " Computernetze 1 \n Mayer E. \n A213 "
lessonCardView4 . getTxtViewTime ( ) . text = " 8.00 - 9.30 "
lessonCardView5 . getTxtViewLesson ( ) . text = " Computernetze 1 \n Mayer E. \n A213 "
lessonCardView5 . getTxtViewTime ( ) . text = " 8.00 - 9.30 "
if ( lessonCardView . getTxtViewLesson ( ) . text . length > 2 )
linLayoutTimeTable . addView ( lessonCardView )
}
}
lessonCardView1 . setBackgroundColor ( Color . parseColor ( " #3F51B5 " ) )
// ff00ddff
fun setCurrentMenu ( weekMenus : ArrayList < Meal > ) {
this . currentMenus = weekMenus
}
linLayoutTimeTable . run {
addView ( lessonCardView1 )
addView ( lessonCardView2 )
addView ( lessonCardView3 )
addView ( lessonCardView4 )
addView ( lessonCardView5 )
}
fun setCurrentTimeTableWeek ( timeTableWeek : Array < Array < Lesson > > ) {
this . timeTableWeek = timeTableWeek
}
}