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.media.RingtoneManager
|
||||||
import android.os.AsyncTask
|
import android.os.AsyncTask
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Handler
|
|
||||||
import android.os.Looper
|
|
||||||
import android.preference.PreferenceManager
|
import android.preference.PreferenceManager
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.animation.Animation
|
|
||||||
import android.view.animation.AnimationUtils
|
|
||||||
import android.widget.ProgressBar
|
|
||||||
import android.widget.RemoteViews
|
import android.widget.RemoteViews
|
||||||
import androidx.core.app.NotificationCompat
|
import androidx.core.app.NotificationCompat
|
||||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
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 prefs = PreferenceManager.getDefaultSharedPreferences(mContext)
|
||||||
private val edit = prefs.edit()
|
private val edit = prefs.edit()
|
||||||
private lateinit var pullToRefresh: SwipeRefreshLayout
|
private lateinit var pullToRefresh: SwipeRefreshLayout
|
||||||
private val fadeOut = AnimationUtils.loadAnimation(mContext, R.anim.fade_out)
|
|
||||||
private val handler = Handler(Looper.getMainLooper())
|
|
||||||
var currentTime = ""
|
var currentTime = ""
|
||||||
|
var currentFoodTime = ""
|
||||||
val substUrl = "https://djd4rkn355.github.io/subst_test.html"
|
val substUrl = "https://djd4rkn355.github.io/subst_test.html"
|
||||||
val foodUrl = "https://djd4rkn355.github.io/food_test.html"
|
val foodUrl = "https://djd4rkn355.github.io/food_test.html"
|
||||||
|
|
||||||
@@ -60,42 +54,36 @@ class DataFetcher(isplan: Boolean, ismenu: Boolean, isjobservice: Boolean, conte
|
|||||||
val foodViewModel = FoodViewModel(mApplication)
|
val foodViewModel = FoodViewModel(mApplication)
|
||||||
val docFood = Jsoup.connect(foodUrl).get()
|
val docFood = Jsoup.connect(foodUrl).get()
|
||||||
val foodElements = docFood.select("th")
|
val foodElements = docFood.select("th")
|
||||||
|
currentFoodTime = docFood.select("h1")[0].text()
|
||||||
|
if (currentFoodTime != prefs.getString("timeFood", "")) {
|
||||||
|
|
||||||
var foodInt = 0
|
var foodInt = 0
|
||||||
var priority = 0
|
var priority = 0
|
||||||
foodViewModel.deleteAll()
|
foodViewModel.deleteAll()
|
||||||
while (foodInt in 0 until foodElements.size) {
|
while (foodInt in 0 until foodElements.size) {
|
||||||
try { // what a mess this is!
|
try { // what a mess this is!
|
||||||
if (foodElements[foodInt].text().contains("Montag") ||
|
with(foodElements[foodInt].text()) {
|
||||||
foodElements[foodInt].text().contains("Dienstag") ||
|
if (contains("Montag") || contains("Dienstag") || contains("Mittwoch") ||
|
||||||
foodElements[foodInt].text().contains("Mittwoch") ||
|
contains("Donnerstag") || contains("Freitag")) {
|
||||||
foodElements[foodInt].text().contains("Donnerstag") ||
|
val three = foodElements[foodInt + 3].text()
|
||||||
foodElements[foodInt].text().contains("Freitag")) {
|
val two = foodElements[foodInt + 2].text()
|
||||||
|
if (three.contains("Montag") || three.contains("Dienstag") || three.contains("Mittwoch") ||
|
||||||
if (foodElements[foodInt + 3].text().contains("Montag") ||
|
three.contains("Donnerstag") || three.contains("Freitag") || three.contains("von")) {
|
||||||
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")) {
|
|
||||||
foodViewModel.insert(Food(foodElements[foodInt].text() + "\n"
|
foodViewModel.insert(Food(foodElements[foodInt].text() + "\n"
|
||||||
+ foodElements[foodInt + 1].text() + "\n"
|
+ foodElements[foodInt + 1].text() + "\n"
|
||||||
+ foodElements[foodInt + 2].text(), priority))
|
+ foodElements[foodInt + 2].text(), priority))
|
||||||
foodInt += 2
|
foodInt += 2
|
||||||
} else if (foodElements[foodInt + 2].text().contains("Montag") ||
|
} else if (two.contains("Montag") || two.contains("Dienstag") || two.contains("Mittwoch") ||
|
||||||
foodElements[foodInt + 2].text().contains("Dienstag") ||
|
two.contains("Donnerstag") || two.contains("Freitag") || two.contains("von")) {
|
||||||
foodElements[foodInt + 2].text().contains("Mittwoch") ||
|
|
||||||
foodElements[foodInt + 2].text().contains("Donnerstag") ||
|
|
||||||
foodElements[foodInt + 2].text().contains("Freitag") ||
|
|
||||||
foodElements[foodInt + 2].text().contains("von")) {
|
|
||||||
foodViewModel.insert(Food(foodElements[foodInt].text() + "\n"
|
foodViewModel.insert(Food(foodElements[foodInt].text() + "\n"
|
||||||
+ foodElements[foodInt + 1].text(), priority))
|
+ foodElements[foodInt + 1].text(), priority))
|
||||||
foodInt += 1
|
foodInt += 1
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
foodViewModel.insert(Food(foodElements[foodInt].text(), priority))
|
foodViewModel.insert(Food(foodElements[foodInt].text(), priority))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} catch (e: IndexOutOfBoundsException) {
|
} catch (e: IndexOutOfBoundsException) {
|
||||||
try {
|
try {
|
||||||
foodViewModel.insert(Food(foodElements[foodInt].text() + "\n"
|
foodViewModel.insert(Food(foodElements[foodInt].text() + "\n"
|
||||||
@@ -111,6 +99,8 @@ class DataFetcher(isplan: Boolean, ismenu: Boolean, isjobservice: Boolean, conte
|
|||||||
foodInt++
|
foodInt++
|
||||||
priority++
|
priority++
|
||||||
}
|
}
|
||||||
|
edit.putString("timeFood", currentFoodTime).apply()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (plan) {
|
if (plan) {
|
||||||
@@ -227,12 +217,14 @@ class DataFetcher(isplan: Boolean, ismenu: Boolean, isjobservice: Boolean, conte
|
|||||||
if (plan || menu) {
|
if (plan || menu) {
|
||||||
mView?.let { v: View ->
|
mView?.let { v: View ->
|
||||||
pullToRefresh.isRefreshing = false
|
pullToRefresh.isRefreshing = false
|
||||||
if (plan) {
|
|
||||||
val snackBarView = v.findViewById<View>(R.id.coordination)
|
val snackBarView = v.findViewById<View>(R.id.coordination)
|
||||||
val sb = StringBuilder()
|
val sb = StringBuilder()
|
||||||
val lastUpdated = sb.append(mContext.getText(R.string.lastupdatedK)).append(currentTime)
|
val time = when {
|
||||||
Snackbar.make(snackBarView, lastUpdated, Snackbar.LENGTH_LONG).show()
|
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 dialog = AlertDialog.Builder(context)
|
||||||
val dialogView = LayoutInflater.from(context).inflate(R.layout.simple_dialog, null)
|
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.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()
|
dialog.setView(dialogView).show()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,58 +5,35 @@ object MiscData {
|
|||||||
fun emoji(unicode: Int): String { return String(Character.toChars(unicode)) }
|
fun emoji(unicode: Int): String { return String(Character.toChars(unicode)) }
|
||||||
|
|
||||||
fun getIcon(course: String): Int {
|
fun getIcon(course: String): Int {
|
||||||
return if (course.toLowerCase().contains("deu") || course.toLowerCase().contains("dep") || course.toLowerCase().contains("daz")) {
|
return with (course.toLowerCase()) {
|
||||||
R.drawable.ic_german
|
when {
|
||||||
} else if (course.toLowerCase().contains("mat") || course.toLowerCase().contains("map")) {
|
contains("deu") || contains("dep") || contains("daz") -> R.drawable.ic_german
|
||||||
R.drawable.ic_maths
|
contains("mat") || contains("map") -> R.drawable.ic_maths
|
||||||
} else if (course.toLowerCase().contains("eng") || course.toLowerCase().contains("enp") || course.toLowerCase().contains("ena")) {
|
contains("eng") || contains("enp") || contains("ena") -> R.drawable.ic_english
|
||||||
R.drawable.ic_english
|
contains("spo") || contains("spp") || contains("spth") -> R.drawable.ic_pe
|
||||||
} else if (course.toLowerCase().contains("spo") || course.toLowerCase().contains("spp") || course.toLowerCase().contains("spth")) {
|
contains("pol") || contains("pop") -> R.drawable.ic_politics
|
||||||
R.drawable.ic_pe
|
contains("dar") || contains("dap") -> R.drawable.ic_drama
|
||||||
} else if (course.toLowerCase().contains("pol") || course.toLowerCase().contains("pop")) {
|
contains("phy") || contains("php") -> R.drawable.ic_physics
|
||||||
R.drawable.ic_politics
|
contains("bio") || contains("bip") || contains("nw") -> R.drawable.ic_biology
|
||||||
} else if (course.toLowerCase().contains("dar") || course.toLowerCase().contains("dap")) {
|
contains("che") || contains("chp") -> R.drawable.ic_chemistry
|
||||||
R.drawable.ic_drama
|
contains("phi") || contains("psp") -> R.drawable.ic_philosophy
|
||||||
} else if (course.toLowerCase().contains("phy") || course.toLowerCase().contains("php")) {
|
contains("laa") || contains("laf") || contains("lat") -> R.drawable.ic_latin
|
||||||
R.drawable.ic_physics
|
contains("spa") || contains("spf") -> R.drawable.ic_spanish
|
||||||
} else if (course.toLowerCase().contains("bio") || course.toLowerCase().contains("bip") || course.toLowerCase().contains("nw")) {
|
contains("fra") || contains("frf") || contains("frz") -> R.drawable.ic_french
|
||||||
R.drawable.ic_biology
|
contains("inf") -> R.drawable.ic_compsci
|
||||||
} else if (course.toLowerCase().contains("che") || course.toLowerCase().contains("chp")) {
|
contains("ges") -> R.drawable.ic_history
|
||||||
R.drawable.ic_chemistry
|
contains("rel") -> R.drawable.ic_religion
|
||||||
} else if (course.toLowerCase().contains("phi") || course.toLowerCase().contains("psp")) {
|
contains("geg") || contains("wuk") -> R.drawable.ic_geography
|
||||||
R.drawable.ic_philosophy
|
contains("kun") -> R.drawable.ic_arts
|
||||||
} else if (course.toLowerCase().contains("laa") || course.toLowerCase().contains("laf") || course.toLowerCase().contains("lat")) {
|
contains("mus") -> R.drawable.ic_music
|
||||||
R.drawable.ic_latin
|
contains("tue") -> R.drawable.ic_turkish
|
||||||
} else if (course.toLowerCase().contains("spa") || course.toLowerCase().contains("spf")) {
|
contains("chi") -> R.drawable.ic_chinese
|
||||||
R.drawable.ic_spanish
|
contains("gll") -> R.drawable.ic_gll
|
||||||
} else if (course.toLowerCase().contains("fra") || course.toLowerCase().contains("frf") || course.toLowerCase().contains("frz")) {
|
contains("wat") -> R.drawable.ic_wat
|
||||||
R.drawable.ic_french
|
contains("för") -> R.drawable.ic_help
|
||||||
} else if (course.toLowerCase().contains("inf")) {
|
contains("wp") || contains("met") -> R.drawable.ic_pencil
|
||||||
R.drawable.ic_compsci
|
else -> R.drawable.ic_empty
|
||||||
} 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
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,7 +53,6 @@ open class PlanFragment : Fragment(R.layout.plan) {
|
|||||||
else -> 2
|
else -> 2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
layoutManager = GridLayoutManager(mContext, grid)
|
layoutManager = GridLayoutManager(mContext, grid)
|
||||||
recyclerView.layoutManager = layoutManager
|
recyclerView.layoutManager = layoutManager
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,6 @@
|
|||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="84dp"
|
android:layout_height="84dp"
|
||||||
app:popupTheme="@style/AppThemeLight.PopupOverlay"
|
|
||||||
app:titleTextColor="@color/accent"
|
app:titleTextColor="@color/accent"
|
||||||
app:contentInsetStart="0dp"
|
app:contentInsetStart="0dp"
|
||||||
android:elevation="0dp"
|
android:elevation="0dp"
|
||||||
@@ -29,7 +28,7 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/toolbarTxt"
|
android:id="@+id/toolbarTxt"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="start"
|
android:layout_gravity="start"
|
||||||
android:fontFamily="@font/manrope_extrabold"
|
android:fontFamily="@font/manrope_extrabold"
|
||||||
@@ -38,8 +37,10 @@
|
|||||||
android:textSize="24sp"
|
android:textSize="24sp"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
android:layout_marginBottom="4dp"
|
android:layout_marginBottom="4dp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"/>
|
app:layout_constraintStart_toStartOf="parent"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
|||||||
@@ -98,12 +98,10 @@
|
|||||||
android:layout_width="20dp"
|
android:layout_width="20dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_marginTop="8dp"
|
android:tint="@color/textcolor"
|
||||||
android:layout_marginBottom="8dp"
|
app:layout_constraintBottom_toBottomOf="@+id/course"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/room"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/group"
|
app:layout_constraintTop_toTopOf="@+id/course" />
|
||||||
android:tint="@color/textcolor"/>
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|||||||
@@ -113,7 +113,7 @@
|
|||||||
<item>Wie geht\'s dir, %s?</item>
|
<item>Wie geht\'s dir, %s?</item>
|
||||||
<item>Gut geschlafen, %s?</item>
|
<item>Gut geschlafen, %s?</item>
|
||||||
<item>Hey, %s!</item>
|
<item>Hey, %s!</item>
|
||||||
<item>Hi, %s!</item>
|
<item>Hi %s!</item>
|
||||||
<item>Schön dich zu sehen, %s.</item>
|
<item>Schön dich zu sehen, %s.</item>
|
||||||
<item>Wie geht\'s dir so, %s?</item>
|
<item>Wie geht\'s dir so, %s?</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
<item>Wie geht\'s dir, %s?</item>
|
<item>Wie geht\'s dir, %s?</item>
|
||||||
<item>Hoffe du hast einen schönen Tag, %s.</item>
|
<item>Hoffe du hast einen schönen Tag, %s.</item>
|
||||||
<item>Hey, %s!</item>
|
<item>Hey, %s!</item>
|
||||||
<item>Hi, %s!</item>
|
<item>Hi %s!</item>
|
||||||
<item>Schön dich zu sehen, %s.</item>
|
<item>Schön dich zu sehen, %s.</item>
|
||||||
<item>Genieß\' deinen Tag, %s.</item>
|
<item>Genieß\' deinen Tag, %s.</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
<item>Wie geht\'s dir, %s?</item>
|
<item>Wie geht\'s dir, %s?</item>
|
||||||
<item>Genieß\' deinen Abend, %s.</item>
|
<item>Genieß\' deinen Abend, %s.</item>
|
||||||
<item>Hey, %s!</item>
|
<item>Hey, %s!</item>
|
||||||
<item>Hi, %s!</item>
|
<item>Hi %s!</item>
|
||||||
<item>Schlaf\' gut, %s.</item>
|
<item>Schlaf\' gut, %s.</item>
|
||||||
<item>Bleib\' nicht zu lang wach, %s!</item>
|
<item>Bleib\' nicht zu lang wach, %s!</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|||||||
@@ -127,7 +127,7 @@
|
|||||||
<item>How are you, %s?</item>
|
<item>How are you, %s?</item>
|
||||||
<item>Slept well, %s?</item>
|
<item>Slept well, %s?</item>
|
||||||
<item>Hey, %s!</item>
|
<item>Hey, %s!</item>
|
||||||
<item>Hi, %s!</item>
|
<item>Hi %s!</item>
|
||||||
<item>Nice to see you, %s.</item>
|
<item>Nice to see you, %s.</item>
|
||||||
<item>How\'ve you been, %s?</item>
|
<item>How\'ve you been, %s?</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
@@ -137,7 +137,7 @@
|
|||||||
<item>How are you, %s?</item>
|
<item>How are you, %s?</item>
|
||||||
<item>Enjoying your day, %s?</item>
|
<item>Enjoying your day, %s?</item>
|
||||||
<item>Hey, %s!</item>
|
<item>Hey, %s!</item>
|
||||||
<item>Hi, %s!</item>
|
<item>Hi %s!</item>
|
||||||
<item>Nice to see you, %s.</item>
|
<item>Nice to see you, %s.</item>
|
||||||
<item>Enjoy your day, %s!</item>
|
<item>Enjoy your day, %s!</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
@@ -147,9 +147,8 @@
|
|||||||
<item>How are you, %s?</item>
|
<item>How are you, %s?</item>
|
||||||
<item>Enjoying your evening, %s?</item>
|
<item>Enjoying your evening, %s?</item>
|
||||||
<item>Hey, %s!</item>
|
<item>Hey, %s!</item>
|
||||||
<item>Hi, %s!</item>
|
<item>Hi %s!</item>
|
||||||
<item>Sleep tight, %s.</item>
|
<item>Sleep tight, %s.</item>
|
||||||
<item>Stayin\' up late, %s?</item>
|
<item>Staying up late, %s?</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
Reference in New Issue
Block a user