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.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,42 +54,36 @@ 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")) {
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")) {
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 (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")) {
} 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))
}
}
} catch (e: IndexOutOfBoundsException) {
try {
foodViewModel.insert(Food(foodElements[foodInt].text() + "\n"
@@ -111,6 +99,8 @@ class DataFetcher(isplan: Boolean, ismenu: Boolean, isjobservice: Boolean, conte
foodInt++
priority++
}
edit.putString("timeFood", currentFoodTime).apply()
}
}
if (plan) {
@@ -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 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
}
+3 -2
View File
@@ -17,7 +17,6 @@
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="84dp"
app:popupTheme="@style/AppThemeLight.PopupOverlay"
app:titleTextColor="@color/accent"
app:contentInsetStart="0dp"
android:elevation="0dp"
@@ -29,7 +28,7 @@
<TextView
android:id="@+id/toolbarTxt"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:fontFamily="@font/manrope_extrabold"
@@ -38,8 +37,10 @@
android:textSize="24sp"
android:singleLine="true"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="4dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<TextView
+3 -5
View File
@@ -98,12 +98,10 @@
android:layout_width="20dp"
android:layout_height="0dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/room"
android:tint="@color/textcolor"
app:layout_constraintBottom_toBottomOf="@+id/course"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/group"
android:tint="@color/textcolor"/>
app:layout_constraintTop_toTopOf="@+id/course" />
</androidx.constraintlayout.widget.ConstraintLayout>
+3 -3
View File
@@ -113,7 +113,7 @@
<item>Wie geht\'s dir, %s?</item>
<item>Gut geschlafen, %s?</item>
<item>Hey, %s!</item>
<item>Hi, %s!</item>
<item>Hi %s!</item>
<item>Schön dich zu sehen, %s.</item>
<item>Wie geht\'s dir so, %s?</item>
</string-array>
@@ -123,7 +123,7 @@
<item>Wie geht\'s dir, %s?</item>
<item>Hoffe du hast einen schönen Tag, %s.</item>
<item>Hey, %s!</item>
<item>Hi, %s!</item>
<item>Hi %s!</item>
<item>Schön dich zu sehen, %s.</item>
<item>Genieß\' deinen Tag, %s.</item>
</string-array>
@@ -133,7 +133,7 @@
<item>Wie geht\'s dir, %s?</item>
<item>Genieß\' deinen Abend, %s.</item>
<item>Hey, %s!</item>
<item>Hi, %s!</item>
<item>Hi %s!</item>
<item>Schlaf\' gut, %s.</item>
<item>Bleib\' nicht zu lang wach, %s!</item>
</string-array>
+4 -5
View File
@@ -127,7 +127,7 @@
<item>How are you, %s?</item>
<item>Slept well, %s?</item>
<item>Hey, %s!</item>
<item>Hi, %s!</item>
<item>Hi %s!</item>
<item>Nice to see you, %s.</item>
<item>How\'ve you been, %s?</item>
</string-array>
@@ -137,7 +137,7 @@
<item>How are you, %s?</item>
<item>Enjoying your day, %s?</item>
<item>Hey, %s!</item>
<item>Hi, %s!</item>
<item>Hi %s!</item>
<item>Nice to see you, %s.</item>
<item>Enjoy your day, %s!</item>
</string-array>
@@ -147,9 +147,8 @@
<item>How are you, %s?</item>
<item>Enjoying your evening, %s?</item>
<item>Hey, %s!</item>
<item>Hi, %s!</item>
<item>Hi %s!</item>
<item>Sleep tight, %s.</item>
<item>Stayin\' up late, %s?</item>
<item>Staying up late, %s?</item>
</string-array>
</resources>