2018-10-30 20:41:22 +01:00
/ * *
* ProjectLaogai
*
2020-01-15 15:00:05 +01:00
* Copyright 2019 - 2020 < seil0 @mosad . xyz >
2018-10-30 20:41:22 +01:00
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 3 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 51 Franklin Street , Fifth Floor , Boston ,
* MA 02110 - 1301 , USA .
*
* /
2018-10-29 13:04:20 +01:00
package org.mosad.seil0.projectlaogai.hsoparser
2019-03-09 22:15:53 +01:00
import android.graphics.Color
2018-11-11 21:12:28 +01:00
import java.util.*
2019-03-10 13:37:13 +01:00
import kotlin.collections.ArrayList
2018-11-11 21:12:28 +01:00
2018-10-29 13:04:20 +01:00
class DataTypes {
2019-06-02 19:09:36 +02:00
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 " )
2018-10-29 18:03:20 +01:00
2019-03-09 22:15:53 +01:00
val primaryColors = intArrayOf (
Color . parseColor ( " #E53935 " ) ,
Color . parseColor ( " #E91E63 " ) ,
Color . parseColor ( " #9C27B0 " ) ,
Color . parseColor ( " #673AB7 " ) ,
Color . parseColor ( " #3F51B5 " ) ,
Color . parseColor ( " #2196F3 " ) ,
Color . parseColor ( " #03A9F4 " ) ,
Color . parseColor ( " #00BCD4 " ) ,
Color . parseColor ( " #009688 " ) ,
Color . parseColor ( " #4CAF50 " ) ,
Color . parseColor ( " #8BC34A " ) ,
Color . parseColor ( " #CDDC39 " ) ,
Color . parseColor ( " #FDD835 " ) ,
Color . parseColor ( " #FFB300 " ) ,
Color . parseColor ( " #FB8C00 " ) ,
Color . parseColor ( " #FF5722 " ) ,
Color . parseColor ( " #795548 " ) ,
Color . parseColor ( " #9E9E9E " ) ,
Color . parseColor ( " #607B8B " ) ,
Color . parseColor ( " #000000 " )
)
val accentColors = intArrayOf (
Color . parseColor ( " #FF1744 " ) ,
Color . parseColor ( " #F50057 " ) ,
Color . parseColor ( " #D500F9 " ) ,
Color . parseColor ( " #3F51B5 " ) ,
Color . parseColor ( " #3D5AFE " ) ,
Color . parseColor ( " #2979FF " ) ,
Color . parseColor ( " #00B0FF " ) ,
Color . parseColor ( " #00E5FF " ) ,
Color . parseColor ( " #1DE9B6 " ) ,
Color . parseColor ( " #00E676 " ) ,
Color . parseColor ( " #C6FF00 " ) ,
Color . parseColor ( " #FFD600 " ) ,
Color . parseColor ( " #FFC400 " ) ,
Color . parseColor ( " #FF9100 " ) ,
Color . parseColor ( " #FF3D00 " ) ,
Color . parseColor ( " #000000 " )
2019-06-02 19:09:36 +02:00
)
2019-03-09 22:15:53 +01:00
2018-10-29 13:04:20 +01:00
init {
// do something
}
2018-10-29 18:03:20 +01:00
fun getTime ( ) : Array < String > {
return times
}
2018-10-29 13:04:20 +01:00
}
2018-11-11 21:12:28 +01:00
class NotRetardedCalendar {
2019-09-22 20:51:36 +02:00
companion object {
private val calendar = Calendar . getInstance ( )
fun getDayOfWeekIndex ( ) : Int {
return when ( calendar . get ( Calendar . DAY _OF _WEEK ) ) {
Calendar . MONDAY -> 0
Calendar . TUESDAY -> 1
Calendar . WEDNESDAY -> 2
Calendar . THURSDAY -> 3
Calendar . FRIDAY -> 4
Calendar . SATURDAY -> 5
Calendar . SUNDAY -> 6
else -> 7
}
}
fun getTomorrowWeekIndex ( ) : Int {
return when ( calendar . get ( Calendar . DAY _OF _WEEK ) ) {
Calendar . MONDAY -> 1
Calendar . TUESDAY -> 2
Calendar . WEDNESDAY -> 3
Calendar . THURSDAY -> 4
Calendar . FRIDAY -> 5
Calendar . SATURDAY -> 6
Calendar . SUNDAY -> 0
else -> 7
}
2018-11-11 21:12:28 +01:00
}
2019-09-22 20:51:36 +02:00
fun getWeekOfYear ( ) : Int {
return when ( calendar . get ( Calendar . DAY _OF _WEEK ) ) {
Calendar . SUNDAY -> Calendar . getInstance ( ) . get ( Calendar . WEEK _OF _YEAR ) - 1
else -> Calendar . getInstance ( ) . get ( Calendar . WEEK _OF _YEAR )
}
2019-03-10 13:37:13 +01:00
}
}
2018-11-11 21:12:28 +01:00
}
2019-06-02 19:09:36 +02:00
// data classes for the course part
2019-02-28 14:52:40 +01:00
data class Course ( val courseLink : String , val courseName : String )
2020-02-27 12:09:24 +01:00
data class CoursesMeta ( val updateTime : Long = 0 , val totalCourses : Int = 0 )
data class CoursesList ( val meta : CoursesMeta = CoursesMeta ( ) , val courses : ArrayList < Course > = ArrayList ( ) )
2019-06-02 19:09:36 +02:00
// data classes for the Mensa part
2019-02-28 14:52:40 +01:00
data class Meal ( val day : String , val heading : String , val parts : ArrayList < String > , val additives : String )
2019-03-17 18:12:36 +01:00
data class Meals ( val meals : ArrayList < Meal > )
data class MensaWeek ( val days : Array < Meals > = Array ( 7 ) { Meals ( ArrayList ( ) ) } )
2019-06-26 15:00:43 +02:00
data class MensaMeta ( val updateTime : Long = 0 , val mensaName : String = " " )
2019-06-02 19:09:36 +02:00
2019-06-26 15:00:43 +02:00
data class MensaMenu ( val meta : MensaMeta = MensaMeta ( ) , val currentWeek : MensaWeek = MensaWeek ( ) , val nextWeek : MensaWeek = MensaWeek ( ) )
2019-06-02 19:09:36 +02:00
// data classes for the timetable part
data class Lesson (
val lessonSubject : String ,
val lessonTeacher : String ,
val lessonRoom : String ,
val lessonRemark : String
)
2018-10-29 13:04:20 +01:00
2019-06-02 19:09:36 +02:00
data class TimetableDay ( val timeslots : Array < ArrayList < Lesson > > = Array ( 6 ) { ArrayList < Lesson > ( ) } )
2019-03-17 18:12:36 +01:00
2019-06-26 15:00:43 +02:00
data class TimetableWeek ( val days : Array < TimetableDay > = Array ( 6 ) { TimetableDay ( ) } )
2019-09-22 20:51:36 +02:00
data class TimetableCourseMeta ( val updateTime : Long = 0 , val courseName : String = " " , val weekIndex : Int = 0 , val weekNumberYear : Int = 0 , val link : String = " " )
2019-06-26 15:00:43 +02:00
data class TimetableCourseWeek ( val meta : TimetableCourseMeta = TimetableCourseMeta ( ) , var timetable : TimetableWeek = TimetableWeek ( ) )