From 9c5eeaa20bf52e162b44b1642af29e220df65561 Mon Sep 17 00:00:00 2001 From: Seil0 Date: Tue, 6 Nov 2018 16:17:41 +0100 Subject: [PATCH] added the timetable week vie --- .../mosad/seil0/projectlaogai/MainActivity.kt | 1 + .../fragments/TimeTableFragment.kt | 85 ++++++++++++++++++- .../main/res/layout/fragment_time_table.xml | 16 +++- 3 files changed, 98 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/MainActivity.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/MainActivity.kt index e775b4e..1c6af63 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/MainActivity.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/MainActivity.kt @@ -117,6 +117,7 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte } R.id.nav_timetable -> { val timeTableFragment = TimeTableFragment() + timeTableFragment.setMainActivity(this) val fragmentTransaction: FragmentTransaction = supportFragmentManager.beginTransaction() fragmentTransaction.replace(R.id.fragment_container, timeTableFragment) fragmentTransaction.commit() 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 f6910d3..9951dbc 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 @@ -1,12 +1,42 @@ +/** + * ProjectLaogai + * + * Copyright 2018 + * + * 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. + * + */ + package org.mosad.seil0.projectlaogai.fragments - +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 org.jetbrains.anko.doAsync +import org.jetbrains.anko.uiThread +import org.mosad.seil0.projectlaogai.MainActivity import org.mosad.seil0.projectlaogai.R +import org.mosad.seil0.projectlaogai.hsoparser.DataTypes +import org.mosad.seil0.projectlaogai.uicomponents.LessonCardView +import org.mosad.seil0.projectlaogai.uicomponents.MensaDayCardView +import java.util.* /** * The timetable controller class @@ -14,13 +44,66 @@ import org.mosad.seil0.projectlaogai.R */ class TimeTableFragment : Fragment() { + private lateinit var linLayoutTTFragment: LinearLayout + private var mainActivity = MainActivity() + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view: View = inflater.inflate(R.layout.fragment_time_table, container, false) + linLayoutTTFragment = view.findViewById(R.id.linLayout_TTFragment) + + addCurrentWeek() return view } + private fun addCurrentWeek() { + + doAsync { + + uiThread { + + for(day in Calendar.getInstance().get(Calendar.DAY_OF_WEEK)..7) { + + println("Day index: " + (day - 2)) + + val cardViewTimeTableDay = MensaDayCardView(context!!, null) + cardViewTimeTableDay.setDayHeading((day - 1).toString()) + + // for each lessen of the day + for((i, lesson) in mainActivity.getCurrentTimeTableWeek()[day - 2].withIndex()) { + val lessonCardView = LessonCardView(context!!, null) + lessonCardView.setBackgroundColor(Color.TRANSPARENT) + + lessonCardView.getTxtViewLesson().text = resources.getString(R.string.string_new_line, lesson.lessonSubject) + lessonCardView.getTxtViewLesson().append(lesson.lessonTeacher + "\n") + lessonCardView.getTxtViewLesson().append(lesson.lessonRoom) + lessonCardView.getTxtViewTime().text = DataTypes().getTime()[i] + + if(lessonCardView.getTxtViewLesson().text.length > 2) + cardViewTimeTableDay.getLinLayoutMensaDay().addView(lessonCardView) + + } + + linLayoutTTFragment.addView(cardViewTimeTableDay) + } + + // add a card if there are no more meals in this week + //if(linLayoutMensaFragment.childCount == 0) { + // val cardViewNoMoreFood = MensaDayCardView(context!!, null) + // cardViewNoMoreFood.setDayHeading(resources.getString(R.string.no_more_food)) + // linLayoutMensaFragment.addView(cardViewNoMoreFood) + //} + + } + + } + } + + fun setMainActivity(mainActivity: MainActivity) { + this.mainActivity = mainActivity + } + } diff --git a/app/src/main/res/layout/fragment_time_table.xml b/app/src/main/res/layout/fragment_time_table.xml index b5436f6..6e21138 100644 --- a/app/src/main/res/layout/fragment_time_table.xml +++ b/app/src/main/res/layout/fragment_time_table.xml @@ -5,9 +5,19 @@ android:layout_height="match_parent" tools:context=".fragments.TimeTableFragment"> - + android:layout_height="match_parent"> + + + + + + \ No newline at end of file