added a loading diaolg, when you change the course & code cleanup
This commit is contained in:
@ -23,13 +23,13 @@
|
||||
package org.mosad.seil0.projectlaogai
|
||||
|
||||
import android.os.Bundle
|
||||
import com.google.android.material.navigation.NavigationView
|
||||
import androidx.core.view.GravityCompat
|
||||
import androidx.appcompat.app.ActionBarDrawerToggle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import androidx.appcompat.app.ActionBarDrawerToggle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.view.GravityCompat
|
||||
import androidx.fragment.app.FragmentTransaction
|
||||
import com.google.android.material.navigation.NavigationView
|
||||
import kotlinx.android.synthetic.main.activity_main.*
|
||||
import kotlinx.android.synthetic.main.app_bar_main.*
|
||||
import org.jetbrains.anko.doAsync
|
||||
@ -38,7 +38,6 @@ import org.mosad.seil0.projectlaogai.fragments.MensaFragment
|
||||
import org.mosad.seil0.projectlaogai.fragments.SettingsFragment
|
||||
import org.mosad.seil0.projectlaogai.fragments.TimeTableFragment
|
||||
import org.mosad.seil0.projectlaogai.hsoparser.*
|
||||
import kotlin.collections.ArrayList
|
||||
import kotlin.system.measureTimeMillis
|
||||
|
||||
class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener {
|
||||
@ -48,8 +47,8 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
|
||||
private val timeTableParser = TimeTableParser()
|
||||
|
||||
private var weekMenus = ArrayList<Meal>()
|
||||
private lateinit var timeTableWeek: Array<Array<Lesson>>
|
||||
private var courseTTLinkList = ArrayList<CourseTTLink>()
|
||||
private lateinit var timeTableWeek: Array<Array<Lesson>>
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
@ -150,10 +149,7 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
|
||||
println(course.course)
|
||||
println(course.courseTTLink)
|
||||
|
||||
// the app is hanging here TODO show loading dialog
|
||||
doAsync {
|
||||
timeTableWeek = timeTableParser.getTimeTable(course.courseTTLink.replace("http", "https"))
|
||||
}.get()
|
||||
timeTableWeek = timeTableParser.getTimeTable(course.courseTTLink.replace("http", "https"))
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -63,18 +63,22 @@ class HomeFragment : Fragment() {
|
||||
return view
|
||||
}
|
||||
|
||||
/**
|
||||
* add the current mensa meal to the home screens
|
||||
* TODO show meals of the next day if its later than 1500
|
||||
*/
|
||||
private fun addCurrentMensaMenu() {
|
||||
doAsync {
|
||||
doAsync {
|
||||
val dayMenus: ArrayList<Meal> = MensaParser().getMensaMenuDay(mainActivity.getWeekMenu(), Calendar.getInstance().get(Calendar.DAY_OF_WEEK))
|
||||
|
||||
uiThread {
|
||||
|
||||
if (dayMenus.size >= 2) {
|
||||
for(part in dayMenus[0].parts) {
|
||||
for (part in dayMenus[0].parts) {
|
||||
txtViewMenu1.append(part)
|
||||
}
|
||||
|
||||
for(part in dayMenus[1].parts) {
|
||||
for (part in dayMenus[1].parts) {
|
||||
txtViewMenu2.append(part)
|
||||
}
|
||||
} else {
|
||||
@ -86,6 +90,9 @@ class HomeFragment : Fragment() {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* add the current timetable to the home screen
|
||||
*/
|
||||
private fun addCurrentTimeTable() {
|
||||
val timeTableDay = mainActivity.getCurrentTimeTableWeek()[Calendar.getInstance().get(Calendar.DAY_OF_WEEK) -2]
|
||||
|
||||
|
@ -31,8 +31,11 @@ import android.view.ViewGroup
|
||||
import android.widget.LinearLayout
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import com.afollestad.materialdialogs.color.colorChooser
|
||||
import com.afollestad.materialdialogs.customview.customView
|
||||
import com.afollestad.materialdialogs.list.listItems
|
||||
import kotlinx.android.synthetic.main.fragment_settings.*
|
||||
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.CourseTTLink
|
||||
@ -86,12 +89,22 @@ class SettingsFragment : Fragment() {
|
||||
courseList.add(course)
|
||||
}
|
||||
|
||||
MaterialDialog(context!!)
|
||||
.listItems(items = courseList){ _, index, text ->
|
||||
// update txtView
|
||||
txtView_Course.text = text
|
||||
MaterialDialog(context!!).listItems(items = courseList){ _, index, text ->
|
||||
txtView_Course.text = text // update txtView
|
||||
|
||||
val dialog = MaterialDialog(context!!).cancelable(false)
|
||||
.cancelOnTouchOutside(false)
|
||||
.customView(R.layout.dialog_loading)
|
||||
dialog.show()
|
||||
|
||||
doAsync {
|
||||
mainActivity.updateCourse(courseTTLinkList[index])
|
||||
|
||||
uiThread {
|
||||
dialog.dismiss()
|
||||
}
|
||||
}
|
||||
|
||||
mainActivity.updateCourse(courseTTLinkList[index])
|
||||
}
|
||||
.show()
|
||||
}
|
||||
|
@ -52,7 +52,6 @@ class MensaParser {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return mealList
|
||||
}
|
||||
|
||||
@ -61,7 +60,7 @@ class MensaParser {
|
||||
*/
|
||||
fun getMensaMenuDay(mealList: ArrayList<Meal>, day: Int): ArrayList<Meal> {
|
||||
val dayMenus = ArrayList<Meal>()
|
||||
val strDay: String = when(day) {
|
||||
val strDay: String = when (day) {
|
||||
Calendar.MONDAY -> "Mon"
|
||||
Calendar.TUESDAY -> "Die"
|
||||
Calendar.WEDNESDAY -> "Mit"
|
||||
|
@ -21,10 +21,6 @@ class MenuCardView @JvmOverloads constructor(context: Context, attrs: AttributeS
|
||||
this.setBackgroundColor(Color.TRANSPARENT)
|
||||
}
|
||||
|
||||
fun getTxtViewMenuHeading(): TextView {
|
||||
return txtViewMenuHeading
|
||||
}
|
||||
|
||||
fun setMenuHeading(heading: String) {
|
||||
txtViewMenuHeading.text = heading
|
||||
}
|
||||
|
Reference in New Issue
Block a user