From 2d525c394b324563be14e656f78f1d816a0497a8 Mon Sep 17 00:00:00 2001 From: Seil0 Date: Mon, 5 Nov 2018 20:59:41 +0100 Subject: [PATCH] added a loading diaolg, when you change the course & code cleanup --- app/src/main/AndroidManifest.xml | 2 +- .../mosad/seil0/projectlaogai/MainActivity.kt | 16 +++++-------- .../projectlaogai/fragments/HomeFragment.kt | 13 ++++++++--- .../fragments/SettingsFragment.kt | 23 +++++++++++++++---- .../projectlaogai/hsoparser/MensaParser.kt | 3 +-- .../uicomponents/MenuCardView.kt | 4 ---- app/src/main/res/layout/app_bar_main.xml | 2 +- app/src/main/res/layout/dialog_loading.xml | 17 ++++++++++++++ app/src/main/res/layout/nav_header_main.xml | 2 +- app/src/main/res/values-de-rDE/strings.xml | 1 + app/src/main/res/values-v21/styles.xml | 7 ------ app/src/main/res/values/strings.xml | 7 +++--- app/src/main/res/xml/backup_descriptor.xml | 4 ++++ gradle/wrapper/gradle-wrapper.properties | 2 +- 14 files changed, 64 insertions(+), 39 deletions(-) create mode 100644 app/src/main/res/layout/dialog_loading.xml delete mode 100644 app/src/main/res/values-v21/styles.xml create mode 100644 app/src/main/res/xml/backup_descriptor.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 90b3833..64af04f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,7 +9,7 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" - android:theme="@style/AppTheme"> + android:theme="@style/AppTheme" android:fullBackupContent="@xml/backup_descriptor"> () - private lateinit var timeTableWeek: Array> private var courseTTLinkList = ArrayList() + private lateinit var timeTableWeek: Array> 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")) } /** diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/HomeFragment.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/HomeFragment.kt index ee57480..6e75fce 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/HomeFragment.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/HomeFragment.kt @@ -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 = 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] diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/SettingsFragment.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/SettingsFragment.kt index cc3b445..a0176cd 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/SettingsFragment.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/SettingsFragment.kt @@ -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() } diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/hsoparser/MensaParser.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/hsoparser/MensaParser.kt index 50f575e..71c2809 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/hsoparser/MensaParser.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/hsoparser/MensaParser.kt @@ -52,7 +52,6 @@ class MensaParser { } } } - return mealList } @@ -61,7 +60,7 @@ class MensaParser { */ fun getMensaMenuDay(mealList: ArrayList, day: Int): ArrayList { val dayMenus = ArrayList() - val strDay: String = when(day) { + val strDay: String = when (day) { Calendar.MONDAY -> "Mon" Calendar.TUESDAY -> "Die" Calendar.WEDNESDAY -> "Mit" diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/uicomponents/MenuCardView.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/uicomponents/MenuCardView.kt index b02f3bf..a01302e 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/uicomponents/MenuCardView.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/uicomponents/MenuCardView.kt @@ -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 } diff --git a/app/src/main/res/layout/app_bar_main.xml b/app/src/main/res/layout/app_bar_main.xml index d246fc6..f3a3e17 100644 --- a/app/src/main/res/layout/app_bar_main.xml +++ b/app/src/main/res/layout/app_bar_main.xml @@ -27,7 +27,7 @@ + android:layout_height="match_parent"/> \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_loading.xml b/app/src/main/res/layout/dialog_loading.xml new file mode 100644 index 0000000..67e0dc6 --- /dev/null +++ b/app/src/main/res/layout/dialog_loading.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/nav_header_main.xml b/app/src/main/res/layout/nav_header_main.xml index 349ab52..92ca611 100644 --- a/app/src/main/res/layout/nav_header_main.xml +++ b/app/src/main/res/layout/nav_header_main.xml @@ -2,7 +2,7 @@ Die Primärfarbe, standard ist Indigo auswählen über + lade Stundenplan … bald ™ Navigationsleiste schließen Navigationsleiste öffnen diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml deleted file mode 100644 index e546804..0000000 --- a/app/src/main/res/values-v21/styles.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a5927f6..fa09649 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -35,11 +35,10 @@ version 0.1.3 about hso App by @Seil0 - "This software is made by @Seil0 and is published under the terms and conditions of GPL 3. - For further information visit git.mosad.xyz/Seil0/ProjectLaogai © 2018 seil0@mosad.xyz " - + "This software is made by @Seil0 and is published under the terms and conditions of GPL 3. For further information visit \ngit.mosad.xyz/Seil0/ProjectLaogai \n\n© 2018 seil0@mosad.xyz " + loading timetable … + soon ™ %1$s\n - diff --git a/app/src/main/res/xml/backup_descriptor.xml b/app/src/main/res/xml/backup_descriptor.xml new file mode 100644 index 0000000..6fd6103 --- /dev/null +++ b/app/src/main/res/xml/backup_descriptor.xml @@ -0,0 +1,4 @@ + + + + diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 9a4163a..d76b502 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists