Archived
Added "Last updated" string to FoodFragment and info dialog, simplified "if-else" branch in MiscData.getIcon() to when-statement
This commit is contained in:
@@ -7,13 +7,8 @@ import android.graphics.Color
|
||||
import android.media.RingtoneManager
|
||||
import android.os.AsyncTask
|
||||
import android.os.Build
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.preference.PreferenceManager
|
||||
import android.view.View
|
||||
import android.view.animation.Animation
|
||||
import android.view.animation.AnimationUtils
|
||||
import android.widget.ProgressBar
|
||||
import android.widget.RemoteViews
|
||||
import androidx.core.app.NotificationCompat
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
@@ -45,9 +40,8 @@ class DataFetcher(isplan: Boolean, ismenu: Boolean, isjobservice: Boolean, conte
|
||||
private val prefs = PreferenceManager.getDefaultSharedPreferences(mContext)
|
||||
private val edit = prefs.edit()
|
||||
private lateinit var pullToRefresh: SwipeRefreshLayout
|
||||
private val fadeOut = AnimationUtils.loadAnimation(mContext, R.anim.fade_out)
|
||||
private val handler = Handler(Looper.getMainLooper())
|
||||
var currentTime = ""
|
||||
var currentFoodTime = ""
|
||||
val substUrl = "https://djd4rkn355.github.io/subst_test.html"
|
||||
val foodUrl = "https://djd4rkn355.github.io/food_test.html"
|
||||
|
||||
@@ -60,56 +54,52 @@ class DataFetcher(isplan: Boolean, ismenu: Boolean, isjobservice: Boolean, conte
|
||||
val foodViewModel = FoodViewModel(mApplication)
|
||||
val docFood = Jsoup.connect(foodUrl).get()
|
||||
val foodElements = docFood.select("th")
|
||||
currentFoodTime = docFood.select("h1")[0].text()
|
||||
if (currentFoodTime != prefs.getString("timeFood", "")) {
|
||||
|
||||
var foodInt = 0
|
||||
var priority = 0
|
||||
foodViewModel.deleteAll()
|
||||
while (foodInt in 0 until foodElements.size) {
|
||||
try { // what a mess this is!
|
||||
if (foodElements[foodInt].text().contains("Montag") ||
|
||||
foodElements[foodInt].text().contains("Dienstag") ||
|
||||
foodElements[foodInt].text().contains("Mittwoch") ||
|
||||
foodElements[foodInt].text().contains("Donnerstag") ||
|
||||
foodElements[foodInt].text().contains("Freitag")) {
|
||||
var foodInt = 0
|
||||
var priority = 0
|
||||
foodViewModel.deleteAll()
|
||||
while (foodInt in 0 until foodElements.size) {
|
||||
try { // what a mess this is!
|
||||
with(foodElements[foodInt].text()) {
|
||||
if (contains("Montag") || contains("Dienstag") || contains("Mittwoch") ||
|
||||
contains("Donnerstag") || contains("Freitag")) {
|
||||
val three = foodElements[foodInt + 3].text()
|
||||
val two = foodElements[foodInt + 2].text()
|
||||
if (three.contains("Montag") || three.contains("Dienstag") || three.contains("Mittwoch") ||
|
||||
three.contains("Donnerstag") || three.contains("Freitag") || three.contains("von")) {
|
||||
foodViewModel.insert(Food(foodElements[foodInt].text() + "\n"
|
||||
+ foodElements[foodInt + 1].text() + "\n"
|
||||
+ foodElements[foodInt + 2].text(), priority))
|
||||
foodInt += 2
|
||||
} else if (two.contains("Montag") || two.contains("Dienstag") || two.contains("Mittwoch") ||
|
||||
two.contains("Donnerstag") || two.contains("Freitag") || two.contains("von")) {
|
||||
foodViewModel.insert(Food(foodElements[foodInt].text() + "\n"
|
||||
+ foodElements[foodInt + 1].text(), priority))
|
||||
foodInt += 1
|
||||
}
|
||||
} else {
|
||||
foodViewModel.insert(Food(foodElements[foodInt].text(), priority))
|
||||
}
|
||||
}
|
||||
|
||||
if (foodElements[foodInt + 3].text().contains("Montag") ||
|
||||
foodElements[foodInt + 3].text().contains("Dienstag") ||
|
||||
foodElements[foodInt + 3].text().contains("Mittwoch") ||
|
||||
foodElements[foodInt + 3].text().contains("Donnerstag") ||
|
||||
foodElements[foodInt + 3].text().contains("Freitag") ||
|
||||
foodElements[foodInt + 3].text().contains("von")) {
|
||||
} catch (e: IndexOutOfBoundsException) {
|
||||
try {
|
||||
foodViewModel.insert(Food(foodElements[foodInt].text() + "\n"
|
||||
+ foodElements[foodInt + 1].text() + "\n"
|
||||
+ foodElements[foodInt + 2].text(), priority))
|
||||
foodInt += 2
|
||||
} else if (foodElements[foodInt + 2].text().contains("Montag") ||
|
||||
foodElements[foodInt + 2].text().contains("Dienstag") ||
|
||||
foodElements[foodInt + 2].text().contains("Mittwoch") ||
|
||||
foodElements[foodInt + 2].text().contains("Donnerstag") ||
|
||||
foodElements[foodInt + 2].text().contains("Freitag") ||
|
||||
foodElements[foodInt + 2].text().contains("von")) {
|
||||
break
|
||||
} catch (e1: IndexOutOfBoundsException) {
|
||||
foodViewModel.insert(Food(foodElements[foodInt].text() + "\n"
|
||||
+ foodElements[foodInt + 1].text(), priority))
|
||||
foodInt += 1
|
||||
break
|
||||
}
|
||||
|
||||
} else {
|
||||
foodViewModel.insert(Food(foodElements[foodInt].text(), priority))
|
||||
}
|
||||
} catch (e: IndexOutOfBoundsException) {
|
||||
try {
|
||||
foodViewModel.insert(Food(foodElements[foodInt].text() + "\n"
|
||||
+ foodElements[foodInt + 1].text() + "\n"
|
||||
+ foodElements[foodInt + 2].text(), priority))
|
||||
break
|
||||
} catch (e1: IndexOutOfBoundsException) {
|
||||
foodViewModel.insert(Food(foodElements[foodInt].text() + "\n"
|
||||
+ foodElements[foodInt + 1].text(), priority))
|
||||
break
|
||||
}
|
||||
foodInt++
|
||||
priority++
|
||||
}
|
||||
foodInt++
|
||||
priority++
|
||||
edit.putString("timeFood", currentFoodTime).apply()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -227,12 +217,14 @@ class DataFetcher(isplan: Boolean, ismenu: Boolean, isjobservice: Boolean, conte
|
||||
if (plan || menu) {
|
||||
mView?.let { v: View ->
|
||||
pullToRefresh.isRefreshing = false
|
||||
if (plan) {
|
||||
val snackBarView = v.findViewById<View>(R.id.coordination)
|
||||
val sb = StringBuilder()
|
||||
val lastUpdated = sb.append(mContext.getText(R.string.lastupdatedK)).append(currentTime)
|
||||
Snackbar.make(snackBarView, lastUpdated, Snackbar.LENGTH_LONG).show()
|
||||
val snackBarView = v.findViewById<View>(R.id.coordination)
|
||||
val sb = StringBuilder()
|
||||
val time = when {
|
||||
menu -> currentFoodTime
|
||||
else -> currentTime
|
||||
}
|
||||
val lastUpdated = sb.append(mContext.getText(R.string.lastupdatedK)).append(time)
|
||||
Snackbar.make(snackBarView, lastUpdated, Snackbar.LENGTH_LONG).show()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -253,7 +253,9 @@ class Main : AppCompatActivity(R.layout.app_bar_main) {
|
||||
val dialog = AlertDialog.Builder(context)
|
||||
val dialogView = LayoutInflater.from(context).inflate(R.layout.simple_dialog, null)
|
||||
dialogView.findViewById<TextView>(R.id.textviewtitle).text = getString(R.string.information)
|
||||
dialogView.findViewById<TextView>(R.id.dialogtext).text = prefs.getString("informational", "")
|
||||
val sb = StringBuilder()
|
||||
val dialogText = sb.append(getText(R.string.lastupdatedK)).append((prefs.getString("time", "") ?: "") + "\n\n").append(prefs.getString("informational", ""))
|
||||
dialogView.findViewById<TextView>(R.id.dialogtext).text = dialogText
|
||||
dialog.setView(dialogView).show()
|
||||
}
|
||||
|
||||
|
||||
@@ -5,58 +5,35 @@ object MiscData {
|
||||
fun emoji(unicode: Int): String { return String(Character.toChars(unicode)) }
|
||||
|
||||
fun getIcon(course: String): Int {
|
||||
return if (course.toLowerCase().contains("deu") || course.toLowerCase().contains("dep") || course.toLowerCase().contains("daz")) {
|
||||
R.drawable.ic_german
|
||||
} else if (course.toLowerCase().contains("mat") || course.toLowerCase().contains("map")) {
|
||||
R.drawable.ic_maths
|
||||
} else if (course.toLowerCase().contains("eng") || course.toLowerCase().contains("enp") || course.toLowerCase().contains("ena")) {
|
||||
R.drawable.ic_english
|
||||
} else if (course.toLowerCase().contains("spo") || course.toLowerCase().contains("spp") || course.toLowerCase().contains("spth")) {
|
||||
R.drawable.ic_pe
|
||||
} else if (course.toLowerCase().contains("pol") || course.toLowerCase().contains("pop")) {
|
||||
R.drawable.ic_politics
|
||||
} else if (course.toLowerCase().contains("dar") || course.toLowerCase().contains("dap")) {
|
||||
R.drawable.ic_drama
|
||||
} else if (course.toLowerCase().contains("phy") || course.toLowerCase().contains("php")) {
|
||||
R.drawable.ic_physics
|
||||
} else if (course.toLowerCase().contains("bio") || course.toLowerCase().contains("bip") || course.toLowerCase().contains("nw")) {
|
||||
R.drawable.ic_biology
|
||||
} else if (course.toLowerCase().contains("che") || course.toLowerCase().contains("chp")) {
|
||||
R.drawable.ic_chemistry
|
||||
} else if (course.toLowerCase().contains("phi") || course.toLowerCase().contains("psp")) {
|
||||
R.drawable.ic_philosophy
|
||||
} else if (course.toLowerCase().contains("laa") || course.toLowerCase().contains("laf") || course.toLowerCase().contains("lat")) {
|
||||
R.drawable.ic_latin
|
||||
} else if (course.toLowerCase().contains("spa") || course.toLowerCase().contains("spf")) {
|
||||
R.drawable.ic_spanish
|
||||
} else if (course.toLowerCase().contains("fra") || course.toLowerCase().contains("frf") || course.toLowerCase().contains("frz")) {
|
||||
R.drawable.ic_french
|
||||
} else if (course.toLowerCase().contains("inf")) {
|
||||
R.drawable.ic_compsci
|
||||
} else if (course.toLowerCase().contains("ges")) {
|
||||
R.drawable.ic_history
|
||||
} else if (course.toLowerCase().contains("rel")) {
|
||||
R.drawable.ic_religion
|
||||
} else if (course.toLowerCase().contains("geg") || course.toLowerCase().contains("wuk")) {
|
||||
R.drawable.ic_geography
|
||||
} else if (course.toLowerCase().contains("kun")) {
|
||||
R.drawable.ic_arts
|
||||
} else if (course.toLowerCase().contains("mus")) {
|
||||
R.drawable.ic_music
|
||||
} else if (course.toLowerCase().contains("tue")) {
|
||||
R.drawable.ic_turkish
|
||||
} else if (course.toLowerCase().contains("chi")) {
|
||||
R.drawable.ic_chinese
|
||||
} else if (course.toLowerCase().contains("gll")) {
|
||||
R.drawable.ic_gll
|
||||
} else if (course.toLowerCase().contains("wat")) {
|
||||
R.drawable.ic_wat
|
||||
} else if (course.toLowerCase().contains("för")) {
|
||||
R.drawable.ic_help
|
||||
} else if (course.toLowerCase().contains("wp") || course.toLowerCase().contains("met")) {
|
||||
R.drawable.ic_pencil
|
||||
} else {
|
||||
R.drawable.ic_empty
|
||||
return with (course.toLowerCase()) {
|
||||
when {
|
||||
contains("deu") || contains("dep") || contains("daz") -> R.drawable.ic_german
|
||||
contains("mat") || contains("map") -> R.drawable.ic_maths
|
||||
contains("eng") || contains("enp") || contains("ena") -> R.drawable.ic_english
|
||||
contains("spo") || contains("spp") || contains("spth") -> R.drawable.ic_pe
|
||||
contains("pol") || contains("pop") -> R.drawable.ic_politics
|
||||
contains("dar") || contains("dap") -> R.drawable.ic_drama
|
||||
contains("phy") || contains("php") -> R.drawable.ic_physics
|
||||
contains("bio") || contains("bip") || contains("nw") -> R.drawable.ic_biology
|
||||
contains("che") || contains("chp") -> R.drawable.ic_chemistry
|
||||
contains("phi") || contains("psp") -> R.drawable.ic_philosophy
|
||||
contains("laa") || contains("laf") || contains("lat") -> R.drawable.ic_latin
|
||||
contains("spa") || contains("spf") -> R.drawable.ic_spanish
|
||||
contains("fra") || contains("frf") || contains("frz") -> R.drawable.ic_french
|
||||
contains("inf") -> R.drawable.ic_compsci
|
||||
contains("ges") -> R.drawable.ic_history
|
||||
contains("rel") -> R.drawable.ic_religion
|
||||
contains("geg") || contains("wuk") -> R.drawable.ic_geography
|
||||
contains("kun") -> R.drawable.ic_arts
|
||||
contains("mus") -> R.drawable.ic_music
|
||||
contains("tue") -> R.drawable.ic_turkish
|
||||
contains("chi") -> R.drawable.ic_chinese
|
||||
contains("gll") -> R.drawable.ic_gll
|
||||
contains("wat") -> R.drawable.ic_wat
|
||||
contains("för") -> R.drawable.ic_help
|
||||
contains("wp") || contains("met") -> R.drawable.ic_pencil
|
||||
else -> R.drawable.ic_empty
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,7 +53,6 @@ open class PlanFragment : Fragment(R.layout.plan) {
|
||||
else -> 2
|
||||
}
|
||||
}
|
||||
|
||||
layoutManager = GridLayoutManager(mContext, grid)
|
||||
recyclerView.layoutManager = layoutManager
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user