Added "Last updated" string to FoodFragment and info dialog, simplified "if-else" branch in MiscData.getIcon() to when-statement

This commit is contained in:
Deniz Düzgören
2019-07-31 11:27:46 +02:00
parent 47cbaaf53c
commit dbea6a60eb
8 changed files with 89 additions and 121 deletions
@@ -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,56 +54,52 @@ 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") ||
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") || } catch (e: IndexOutOfBoundsException) {
foodElements[foodInt + 3].text().contains("Dienstag") || try {
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 break
} else if (foodElements[foodInt + 2].text().contains("Montag") || } catch (e1: IndexOutOfBoundsException) {
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")) {
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 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++ edit.putString("timeFood", currentFoodTime).apply()
priority++
} }
} }
@@ -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 time = when {
val lastUpdated = sb.append(mContext.getText(R.string.lastupdatedK)).append(currentTime) menu -> currentFoodTime
Snackbar.make(snackBarView, lastUpdated, Snackbar.LENGTH_LONG).show() 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
} }
+3 -2
View File
@@ -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
+3 -5
View File
@@ -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>
+3 -3
View File
@@ -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>
+4 -5
View File
@@ -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>