diff --git a/app/build.gradle b/app/build.gradle index 9b4a7f1..cdb3cec 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,7 +13,7 @@ android { minSdkVersion 23 targetSdkVersion 28 versionCode 14 - versionName "0.4.95" + versionName "0.4.99" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" resValue "string", "build_time", buildTime() setProperty("archivesBaseName", "projectlaogai-$versionName") diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/controller/TCoRAPIController.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/controller/TCoRAPIController.kt index 03a05dd..2d03274 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/controller/TCoRAPIController.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/controller/TCoRAPIController.kt @@ -23,6 +23,7 @@ package org.mosad.seil0.projectlaogai.controller import android.content.Context +import android.util.Log import org.jetbrains.anko.doAsync import org.json.JSONObject import org.mosad.seil0.projectlaogai.controller.PreferencesController.Companion.coursesCacheTime @@ -32,69 +33,87 @@ import java.io.BufferedWriter import java.io.File import java.io.FileWriter import java.net.URL +import kotlin.Exception class TCoRAPIController { companion object { + private const val className = "TCoRAPIController" + private const val tcorBaseURL = "https://tcor.mosad.xyz" /** * get the json object from tcor api and write it as file (cache) */ fun getCoursesList(context: Context) = doAsync { - val url = URL("https://tcor.mosad.xyz/courseList") - val file = File(context.filesDir, "courses.json") + try { + val url = URL("$tcorBaseURL/courseList") + val file = File(context.filesDir, "courses.json") - // read data from the API - val coursesObject = JSONObject(url.readText()) //JSONObject(inReader.readLine()) + // read data from the API + val coursesObject = JSONObject(url.readText()) //JSONObject(inReader.readLine()) - // write the json object to a file - val writer = BufferedWriter(FileWriter(file)) - writer.write(coursesObject.toString()) - writer.close() + // write the json object to a file + val writer = BufferedWriter(FileWriter(file)) + writer.write(coursesObject.toString()) + writer.close() + + // update cache time + coursesCacheTime = System.currentTimeMillis() / 1000 + PreferencesController.save(context) + } catch (ex: Exception) { + Log.e(className, "failed to get /courseList", ex) + } - // update cache time - coursesCacheTime = System.currentTimeMillis() / 1000 - PreferencesController.save(context) } /** * get the json object from tcor api and write it as file (cache) */ fun getMensa(context: Context) = doAsync { - val url = URL("https://tcor.mosad.xyz/mensamenu") - val file = File(context.filesDir, "mensa.json") + try { + val url = URL("$tcorBaseURL/mensamenu") + val file = File(context.filesDir, "mensa.json") - // read data from the API - val mensaObject = JSONObject(url.readText()) //JSONObject(inReader.readLine()) + // read data from the API + val mensaObject = JSONObject(url.readText()) //JSONObject(inReader.readLine()) - // write the json object to a file - val writer = BufferedWriter(FileWriter(file)) - writer.write(mensaObject.toString()) - writer.close() + // write the json object to a file + val writer = BufferedWriter(FileWriter(file)) + writer.write(mensaObject.toString()) + writer.close() + + // update cache time + mensaCacheTime = System.currentTimeMillis() / 1000 + PreferencesController.save(context) + } catch (ex: Exception) { + Log.e(className, "failed to get /mensamenu", ex) + } - // update cache time - mensaCacheTime = System.currentTimeMillis() / 1000 - PreferencesController.save(context) } /** * get the json object from tcor api and write it as file (cache) */ fun getTimetable(courseName: String, week: Int, context: Context) = doAsync { - val url = URL("https://tcor.mosad.xyz/timetable?courseName=$courseName&week=$week") - val file = File(context.filesDir, "timetable-$courseName-$week.json") + try { + val url = URL("$tcorBaseURL/timetable?courseName=$courseName&week=$week") + val file = File(context.filesDir, "timetable-$courseName-$week.json") - // read data from the API - val mensaObject = JSONObject(url.readText()) //JSONObject(inReader.readLine()) + // read data from the API + val mensaObject = JSONObject(url.readText()) //JSONObject(inReader.readLine()) - // write the json object to a file - val writer = BufferedWriter(FileWriter(file)) - writer.write(mensaObject.toString()) - writer.close() + // write the json object to a file + val writer = BufferedWriter(FileWriter(file)) + writer.write(mensaObject.toString()) + writer.close() + + // update cache time + timetableCacheTime = System.currentTimeMillis() / 1000 + PreferencesController.save(context) + } catch (ex: Exception) { + Log.e(className, "failed to get /timetable", ex) + } - // update cache time - timetableCacheTime = System.currentTimeMillis() / 1000 - PreferencesController.save(context) } } diff --git a/fastlane/metadata/android/en-US/chnagelogs/14.txt b/fastlane/metadata/android/en-US/chnagelogs/14.txt index 81933ed..cc576b3 100644 --- a/fastlane/metadata/android/en-US/chnagelogs/14.txt +++ b/fastlane/metadata/android/en-US/chnagelogs/14.txt @@ -1,6 +1,6 @@ This release 0.5.0 is called "artistical Apollon". -* new: it's now possible to choos a theme (light, dark or balck) +* new: it's now possible to choose a theme (light, dark or black) * new: you can now check your current mensa card balance * change: updated some libs, updated kotlin to 1.3.41 * fix: the mensa should now show the correct meals on sunday/monday