Fixed a bug that would cause the drawable integers in the database to desync from the ones stored in R.drawable, cleaned up a bunch of code

This commit is contained in:
Deniz Düzgören
2019-08-18 17:53:22 +02:00
parent f41f1a7349
commit 8a659918a7
10 changed files with 103 additions and 87 deletions
+2 -2
View File
@@ -10,8 +10,8 @@ android {
applicationId "com.denizd.substitutionplan" applicationId "com.denizd.substitutionplan"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 28 targetSdkVersion 28
versionCode 26 versionCode 27
versionName "2.2.3" versionName "2.2.4"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }
buildTypes { buildTypes {
-1
View File
@@ -5,7 +5,6 @@
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" android:required="true"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" android:required="true"/>
<uses-permission android:name="android.permission.INTERNET" android:required="true"/> <uses-permission android:name="android.permission.INTERNET" android:required="true"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" android:required="true"/>
<application <application
android:allowBackup="true" android:allowBackup="true"
@@ -15,6 +15,7 @@ import androidx.browser.customtabs.CustomTabsIntent
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.card.MaterialCardView import com.google.android.material.card.MaterialCardView
import java.util.*
class CardAdapter(private var mSubst: List<Subst>) : RecyclerView.Adapter<CardAdapter.CardViewHolder>() { class CardAdapter(private var mSubst: List<Subst>) : RecyclerView.Adapter<CardAdapter.CardViewHolder>() {
@@ -63,7 +64,7 @@ class CardAdapter(private var mSubst: List<Subst>) : RecyclerView.Adapter<CardAd
} }
} }
holder.mImageView.setImageResource(currentItem.icon) holder.mImageView.setImageResource(MiscData.getIconForCourse(currentItem.course))
holder.mGroup.setText(strings[0], TextView.BufferType.SPANNABLE) holder.mGroup.setText(strings[0], TextView.BufferType.SPANNABLE)
holder.mTime.setText(strings[1], TextView.BufferType.SPANNABLE) holder.mTime.setText(strings[1], TextView.BufferType.SPANNABLE)
holder.mCourse.setText(strings[2], TextView.BufferType.SPANNABLE) holder.mCourse.setText(strings[2], TextView.BufferType.SPANNABLE)
@@ -83,49 +84,13 @@ class CardAdapter(private var mSubst: List<Subst>) : RecyclerView.Adapter<CardAd
} }
if (!psa) { if (!psa) {
try { colourString = getColourString(holder.mCourse.text.toString())
colorCheck = holder.mCourse.text.toString().toLowerCase().substring(0, 3) val colourPrefsInt = if (colourString.isNotEmpty()) {
colourString = when (colorCheck) { prefs.getString("card$colourString", "") ?: ""
"deu", "dep", "daz", "fda" -> prefs.getString("cardGerman", "") ?: "" } else {
"mat", "map" -> prefs.getString("cardMaths", "") ?: "" ""
"eng", "enp", "ena" -> prefs.getString("cardEnglish", "") ?: ""
"spo", "spp", "spth" -> prefs.getString("cardPhysEd", "") ?: ""
"pol", "pop" -> prefs.getString("cardPolitics", "") ?: ""
"dar", "dap" -> prefs.getString("cardTheatre", "") ?: ""
"phy", "php" -> prefs.getString("cardPhysics", "") ?: ""
"bio", "bip", "nw1", "nw2", "nw3", "nw4" -> prefs.getString("cardBiology", "") ?: ""
"che", "chp" -> prefs.getString("cardChemistry", "") ?: ""
"phi", "psp" -> prefs.getString("cardPhilosophy", "") ?: ""
"laa", "laf", "lat" -> prefs.getString("cardLatin", "") ?: ""
"spa", "spf" -> prefs.getString("cardSpanish", "") ?: ""
"fra", "frf", "frz" -> prefs.getString("cardFrench", "") ?: ""
"inf" -> prefs.getString("cardCompsci", "") ?: ""
"ges" -> prefs.getString("cardHistory", "") ?: ""
"rel" -> prefs.getString("cardReligion", "") ?: ""
"geg" -> prefs.getString("cardGeography", "") ?: ""
"kun" -> prefs.getString("cardArts", "") ?: ""
"mus" -> prefs.getString("cardMusic", "") ?: ""
"tue" -> prefs.getString("cardTurkish", "") ?: ""
"chi" -> prefs.getString("cardChinese", "") ?: ""
"gll" -> prefs.getString("cardGLL", "") ?: ""
"wat" -> prefs.getString("cardWAT", "") ?: ""
"för" -> prefs.getString("cardForder", "") ?: ""
"met", "wpb" -> prefs.getString("cardWP", "") ?: ""
else -> ""
} }
} catch (e: StringIndexOutOfBoundsException) { colour = MiscData.getColourForString(colourPrefsInt)
try {
colorCheck = holder.mCourse.text.toString().toLowerCase().substring(0, 2)
colourString = when (colorCheck) {
"nw" -> prefs.getString("cardBiology", "") ?: ""
"wp" -> prefs.getString("cardWP", "") ?: ""
else -> ""
}
} catch (e2: StringIndexOutOfBoundsException) {
colourString = ""
}
}
colour = MiscData.getColourForString(colourString)
if (colour != 0) { if (colour != 0) {
holder.mCard.setCardBackgroundColor(ContextCompat.getColor(holder.mCourse.context, colour)) holder.mCard.setCardBackgroundColor(ContextCompat.getColor(holder.mCourse.context, colour))
} else { } else {
@@ -133,7 +98,7 @@ class CardAdapter(private var mSubst: List<Subst>) : RecyclerView.Adapter<CardAd
} }
} }
val textColor = if (psa) { val textColor = ContextCompat.getColor(holder.mImageView.context, if (psa) {
R.color.colorBackground R.color.colorBackground
} else { } else {
when (colour) { when (colour) {
@@ -141,14 +106,14 @@ class CardAdapter(private var mSubst: List<Subst>) : RecyclerView.Adapter<CardAd
R.color.bgPureBlack -> R.color.colorTextLight R.color.bgPureBlack -> R.color.colorTextLight
else -> R.color.colorText else -> R.color.colorText
} }
} })
holder.mImageView.setColorFilter(ContextCompat.getColor(holder.mImageView.context, textColor)) holder.mImageView.setColorFilter(textColor)
holder.mGroup.setTextColor(ContextCompat.getColor(holder.mImageView.context, textColor)) holder.mGroup.setTextColor(textColor)
holder.mDate.setTextColor(ContextCompat.getColor(holder.mImageView.context, textColor)) holder.mDate.setTextColor(textColor)
holder.mTime.setTextColor(ContextCompat.getColor(holder.mImageView.context, textColor)) holder.mTime.setTextColor(textColor)
holder.mCourse.setTextColor(ContextCompat.getColor(holder.mImageView.context, textColor)) holder.mCourse.setTextColor(textColor)
holder.mRoom.setTextColor(ContextCompat.getColor(holder.mImageView.context, textColor)) holder.mRoom.setTextColor(textColor)
holder.mAdditional.setTextColor(ContextCompat.getColor(holder.mImageView.context, textColor)) holder.mAdditional.setTextColor(textColor)
} }
override fun getItemCount(): Int = mSubst.size override fun getItemCount(): Int = mSubst.size
@@ -158,4 +123,49 @@ class CardAdapter(private var mSubst: List<Subst>) : RecyclerView.Adapter<CardAd
notifyDataSetChanged() notifyDataSetChanged()
} }
private fun getColourString(course: String): String {
return try {
colorCheck = course.toLowerCase(Locale.ROOT).substring(0, 3)
when (colorCheck) {
"deu", "dep", "daz", "fda" -> "German"
"mat", "map" -> "Maths"
"eng", "enp", "ena" -> "English"
"spo", "spp", "spth" -> "PhysEd"
"pol", "pop" -> "ics"
"dar", "dap" -> "Theatre"
"phy", "php" -> "Physics"
"bio", "bip", "nw1", "nw2", "nw3", "nw4" -> "Biology"
"che", "chp" -> "Chemistry"
"phi", "psp" -> "Philosophy"
"laa", "laf", "lat" -> "Latin"
"spa", "spf" -> "Spanish"
"fra", "frf", "frz" -> "French"
"inf" -> "Compsci"
"ges" -> "History"
"rel" -> "Religion"
"geg" -> "Geography"
"kun" -> "Arts"
"mus" -> "Music"
"tue" -> "Turkish"
"chi" -> "Chinese"
"gll" -> "GLL"
"wat" -> "WAT"
"för" -> "Forder"
"met", "wpb" -> "WP"
else -> ""
}
} catch (e: StringIndexOutOfBoundsException) {
try {
colorCheck = course.toLowerCase(Locale.ROOT).substring(0, 2)
when (colorCheck) {
"nw" -> "Biology"
"wp" -> "WP"
else -> ""
}
} catch (e2: StringIndexOutOfBoundsException) {
""
}
}
}
} }
@@ -15,7 +15,6 @@ import androidx.core.content.ContextCompat
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.google.android.material.snackbar.Snackbar import com.google.android.material.snackbar.Snackbar
import org.jsoup.Jsoup import org.jsoup.Jsoup
import java.lang.IndexOutOfBoundsException
import kotlin.collections.ArrayList import kotlin.collections.ArrayList
class DataFetcher(isplan: Boolean, ismenu: Boolean, isjobservice: Boolean, context: Context, application: Application, parentview: View?) : AsyncTask<Void, Void, Void>() { class DataFetcher(isplan: Boolean, ismenu: Boolean, isjobservice: Boolean, context: Context, application: Application, parentview: View?) : AsyncTask<Void, Void, Void>() {
@@ -53,7 +52,7 @@ class DataFetcher(isplan: Boolean, ismenu: Boolean, isjobservice: Boolean, conte
if (menu) { if (menu) {
val docFood = Jsoup.connect(foodUrl).get() val docFood = Jsoup.connect(foodUrl).get()
currentFoodTime = docFood.select("h1")[0].text() currentFoodTime = docFood.select("h1")[0].text()
if (currentFoodTime != prefs.getString("timeFood", "")) { if (currentFoodTime != prefs.getString("timeFoodNew", "")) {
val foodRepository = FoodRepository(mApplication) val foodRepository = FoodRepository(mApplication)
val foodElements = docFood.select("th") val foodElements = docFood.select("th")
foodRepository.deleteAll() foodRepository.deleteAll()
@@ -76,14 +75,14 @@ class DataFetcher(isplan: Boolean, ismenu: Boolean, isjobservice: Boolean, conte
} }
foodRepository.insert(Food(s, priority)) foodRepository.insert(Food(s, priority))
} }
edit.putString("timeFood", currentFoodTime).apply() edit.putString("timeFoodNew", currentFoodTime).apply()
} }
} }
if (plan) { if (plan) {
val doc = Jsoup.connect(substUrl).get() val doc = Jsoup.connect(substUrl).get()
currentTime = doc.select("h1")[0].text() currentTime = doc.select("h1")[0].text()
if (currentTime != prefs.getString("time", "")) { if (currentTime != prefs.getString("timeNew", "")) {
val substRepo = SubstRepository(mApplication) val substRepo = SubstRepository(mApplication)
val rows = doc.select("tr") val rows = doc.select("tr")
val paragraphs = doc.select("p") val paragraphs = doc.select("p")
@@ -117,9 +116,7 @@ class DataFetcher(isplan: Boolean, ismenu: Boolean, isjobservice: Boolean, conte
courseS.add(cols[3].text()) courseS.add(cols[3].text())
roomS.add(cols[4].text()) roomS.add(cols[4].text())
additionalS.add(cols[5].text()) additionalS.add(cols[5].text())
val subst = Subst(groupS[i], dateS[i], timeS[i], courseS[i],
val drawable = MiscData.getIcon(courseS[i])
val subst = Subst(drawable, groupS[i], dateS[i], timeS[i], courseS[i],
roomS[i], additionalS[i], priority) roomS[i], additionalS[i], priority)
priority-- priority--
// substViewModel.insertSubst(subst) // substViewModel.insertSubst(subst)
@@ -191,7 +188,7 @@ class DataFetcher(isplan: Boolean, ismenu: Boolean, isjobservice: Boolean, conte
manager.notify(1, notification) manager.notify(1, notification)
} }
} }
edit.putString("time", currentTime).apply() edit.putString("timeNew", currentTime).apply()
} }
} }
@@ -107,7 +107,7 @@ class Main : AppCompatActivity(R.layout.app_bar_main) {
if (!prefs.getBoolean("autoRefresh", false) && prefs.getInt("firstTimeOpening", 0) != 0) { if (!prefs.getBoolean("autoRefresh", false) && prefs.getInt("firstTimeOpening", 0) != 0) {
try { try {
val sb = StringBuilder() val sb = StringBuilder()
val updated = sb.append(getText(R.string.lastUpdated)).append(prefs.getString("time", "")).toString() val updated = sb.append(getText(R.string.lastUpdated)).append(prefs.getString("timeNew", "")).toString()
Snackbar.make(contextView, updated, Snackbar.LENGTH_LONG).show() Snackbar.make(contextView, updated, Snackbar.LENGTH_LONG).show()
} catch (e: IllegalArgumentException) {} } catch (e: IllegalArgumentException) {}
@@ -238,7 +238,7 @@ class Main : AppCompatActivity(R.layout.app_bar_main) {
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)
val sb = StringBuilder() val sb = StringBuilder()
val dialogText = sb.append(getText(R.string.lastUpdated)).append((prefs.getString("time", "") ?: "") + ".\n\n").append(prefs.getString("informational", "")) val dialogText = sb.append(getText(R.string.lastUpdated)).append((prefs.getString("timeNew", "") ?: "") + ".\n\n").append(prefs.getString("informational", ""))
dialogView.findViewById<TextView>(R.id.dialogtext).text = dialogText dialogView.findViewById<TextView>(R.id.dialogtext).text = dialogText
dialog.setView(dialogView).show() dialog.setView(dialogView).show()
} }
@@ -1,9 +1,21 @@
package com.denizd.substitutionplan package com.denizd.substitutionplan
import android.content.SharedPreferences import android.content.SharedPreferences
import java.util.*
object MiscData { object MiscData {
val languageIndependentCourses = arrayOf("German", "English", "French", "Spanish", "Latin", "Turkish", "Chinese", "Arts", "Music",
"Theatre", "Geography", "History", "Politics", "Philosophy", "Religion", "Maths", "Biology", "Chemistry",
"Physics", "CompSci", "PhysEd", "GLL", "WAT", "Forder", "WP")
val colourNames = arrayOf("default", "red", "orange", "yellow", "green", "teal", "cyan", "blue", "purple", "pink",
"brown", "grey", "pureWhite", "salmon", "tangerine", "banana", "flora", "spindrift", "sky", "orchid",
"lavender", "carnation", "brown2", "pureBlack")
private val colourIntegers = intArrayOf(0, R.color.bgRed, R.color.bgOrange, R.color.bgYellow, R.color.bgGreen,
R.color.bgTeal, R.color.bgCyan, R.color.bgBlue, R.color.bgPurple, R.color.bgPink, R.color.bgBrown, R.color.bgGrey,
R.color.bgPureWhite, R.color.bgSalmon, R.color.bgTangerine, R.color.bgBanana, R.color.bgFlora, R.color.bgSpindrift,
R.color.bgSky, R.color.bgOrchid, R.color.bgLavender, R.color.bgCarnation, R.color.bgBrown2, R.color.bgPureBlack)
fun emoji(unicode: Int): String { return String(Character.toChars(unicode)) } fun emoji(unicode: Int): String { return String(Character.toChars(unicode)) }
fun getColourForString(name: String): Int { fun getColourForString(name: String): Int {
@@ -35,8 +47,8 @@ object MiscData {
} }
} }
fun getIcon(course: String): Int { fun getIconForCourse(course: String): Int {
return with (course.toLowerCase()) { return with (course.toLowerCase(Locale.ROOT)) {
when { when {
contains("deu") || contains("dep") || contains("daz") -> R.drawable.ic_german contains("deu") || contains("dep") || contains("daz") -> R.drawable.ic_german
contains("mat") || contains("map") -> R.drawable.ic_maths contains("mat") || contains("map") -> R.drawable.ic_maths
@@ -69,22 +81,12 @@ object MiscData {
} }
fun transferOldColourIntsToString(prefs: SharedPreferences) { fun transferOldColourIntsToString(prefs: SharedPreferences) {
val colourIntegers = intArrayOf(0, R.color.bgRed, R.color.bgOrange, R.color.bgYellow, R.color.bgGreen,
R.color.bgTeal, R.color.bgCyan, R.color.bgBlue, R.color.bgPurple, R.color.bgPink, R.color.bgBrown, R.color.bgGrey,
R.color.bgPureWhite, R.color.bgSalmon, R.color.bgTangerine, R.color.bgBanana, R.color.bgFlora, R.color.bgSpindrift,
R.color.bgSky, R.color.bgOrchid, R.color.bgLavender, R.color.bgCarnation, R.color.bgBrown2, R.color.bgPureBlack)
val colourStrings = arrayOf("default", "red", "orange", "yellow", "green", "teal", "cyan", "blue", "purple", "pink",
"brown", "grey", "pureWhite", "salmon", "tangerine", "banana", "flora", "spindrift", "sky", "orchid",
"lavender", "carnation", "brown2", "pureBlack")
val courses = arrayOf("German", "English", "French", "Spanish", "Latin", "Turkish", "Chinese", "Arts", "Music",
"Theatre", "Geography", "History", "Politics", "Philosophy", "Religion", "Maths", "Biology", "Chemistry",
"Physics", "CompSci", "PhysEd", "GLL", "WAT", "Forder", "WP")
var colour = "" var colour = ""
val edit = prefs.edit() val edit = prefs.edit()
for (course in courses) { for (course in languageIndependentCourses) {
for (i in 0 until colourIntegers.size) { for (i in 0 until colourIntegers.size) {
if (prefs.getInt("bg$course", 0) == colourIntegers[i]) { if (prefs.getInt("bg$course", 0) == colourIntegers[i]) {
colour = colourStrings[i] colour = colourNames[i]
break break
} }
colour = "" colour = ""
@@ -291,7 +291,7 @@ class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListen
private fun getColourList(): ArrayList<Colour> { private fun getColourList(): ArrayList<Colour> {
val colours = ArrayList<Colour>() val colours = ArrayList<Colour>()
val coursesNoLang = arrayOf("German", "English", "French", "Spanish", "Latin", "Turkish", "Chinese", "Arts", "Music", "Theatre", "Geography", "History", "Politics", "Philosophy", "Religion", "Maths", "Biology", "Chemistry", "Physics", "CompSci", "PhysEd", "GLL", "WAT", "Forder", "WP") val coursesNoLang = MiscData.languageIndependentCourses
val courses = arrayOf(getString(R.string.courseDeu), getString(R.string.courseEng), getString(R.string.courseFra), getString(R.string.courseSpa), getString(R.string.courseLat), getString(R.string.courseTue), getString(R.string.courseChi), getString(R.string.courseKun), getString(R.string.courseMus), getString(R.string.courseDar), getString(R.string.courseGeg), getString(R.string.courseGes), getString(R.string.coursePol), getString(R.string.coursePhi), getString(R.string.courseRel), getString(R.string.courseMat), getString(R.string.courseBio), getString(R.string.courseChe), getString(R.string.coursePhy), getString(R.string.courseInf), getString(R.string.courseSpo), getString(R.string.courseGll), getString(R.string.courseWat), getString(R.string.courseFor), getString(R.string.courseWp)) val courses = arrayOf(getString(R.string.courseDeu), getString(R.string.courseEng), getString(R.string.courseFra), getString(R.string.courseSpa), getString(R.string.courseLat), getString(R.string.courseTue), getString(R.string.courseChi), getString(R.string.courseKun), getString(R.string.courseMus), getString(R.string.courseDar), getString(R.string.courseGeg), getString(R.string.courseGes), getString(R.string.coursePol), getString(R.string.coursePhi), getString(R.string.courseRel), getString(R.string.courseMat), getString(R.string.courseBio), getString(R.string.courseChe), getString(R.string.coursePhy), getString(R.string.courseInf), getString(R.string.courseSpo), getString(R.string.courseGll), getString(R.string.courseWat), getString(R.string.courseFor), getString(R.string.courseWp))
val coursesIcons = intArrayOf(R.drawable.ic_german, R.drawable.ic_english, R.drawable.ic_french, R.drawable.ic_spanish, R.drawable.ic_latin, R.drawable.ic_turkish, R.drawable.ic_chinese, R.drawable.ic_arts, R.drawable.ic_music, R.drawable.ic_drama, R.drawable.ic_geography, R.drawable.ic_history, R.drawable.ic_politics, R.drawable.ic_philosophy, R.drawable.ic_religion, R.drawable.ic_maths, R.drawable.ic_biology, R.drawable.ic_chemistry, R.drawable.ic_physics, R.drawable.ic_compsci, R.drawable.ic_pe, R.drawable.ic_gll, R.drawable.ic_wat, R.drawable.ic_help, R.drawable.ic_pencil) val coursesIcons = intArrayOf(R.drawable.ic_german, R.drawable.ic_english, R.drawable.ic_french, R.drawable.ic_spanish, R.drawable.ic_latin, R.drawable.ic_turkish, R.drawable.ic_chinese, R.drawable.ic_arts, R.drawable.ic_music, R.drawable.ic_drama, R.drawable.ic_geography, R.drawable.ic_history, R.drawable.ic_politics, R.drawable.ic_philosophy, R.drawable.ic_religion, R.drawable.ic_maths, R.drawable.ic_biology, R.drawable.ic_chemistry, R.drawable.ic_physics, R.drawable.ic_compsci, R.drawable.ic_pe, R.drawable.ic_gll, R.drawable.ic_wat, R.drawable.ic_help, R.drawable.ic_pencil)
@@ -322,10 +322,7 @@ class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListen
picker.findViewById(R.id.spindrift), picker.findViewById(R.id.sky), picker.findViewById(R.id.orchid), picker.findViewById(R.id.spindrift), picker.findViewById(R.id.sky), picker.findViewById(R.id.orchid),
picker.findViewById(R.id.lavender), picker.findViewById(R.id.carnation), picker.findViewById(R.id.brown2), picker.findViewById(R.id.lavender), picker.findViewById(R.id.carnation), picker.findViewById(R.id.brown2),
picker.findViewById(R.id.pureBlack)) picker.findViewById(R.id.pureBlack))
val colours = MiscData.colourNames
val colours = arrayOf("default", "red", "orange", "yellow", "green", "teal", "cyan", "blue", "purple", "pink",
"brown", "grey", "pureWhite", "salmon", "tangerine", "banana", "flora", "spindrift", "sky", "orchid",
"lavender", "carnation", "brown2", "pureBlack")
for (i2 in 0 until buttons.size) { for (i2 in 0 until buttons.size) {
buttons[i2].setOnClickListener { buttons[i2].setOnClickListener {
@@ -401,6 +398,17 @@ class SettingsFragment : Fragment(R.layout.content_settings), View.OnClickListen
edit.putBoolean("testUrls", currentTest).apply() edit.putBoolean("testUrls", currentTest).apply()
Toast.makeText(mContext, "Test URLs set to $currentTest", Toast.LENGTH_LONG).show() Toast.makeText(mContext, "Test URLs set to $currentTest", Toast.LENGTH_LONG).show()
} }
"_DEVCHANNEL" -> {
val subbed = if (prefs.getBoolean("subscribedToFBDebugChannel", false)) {
FirebaseMessaging.getInstance().unsubscribeFromTopic("substitutions-debug")
"Unsubscribed from"
} else {
FirebaseMessaging.getInstance().subscribeToTopic("substitutions-debug")
"Subscribed to"
}
edit.putBoolean("subscribedToFBDebugChannel", !prefs.getBoolean("subscribedToFBDebugChannel", false)).apply()
Toast.makeText(mContext, "$subbed Firebase development channel", Toast.LENGTH_LONG).show()
}
else -> Toast.makeText(mContext, getString(R.string.invalidCode), Toast.LENGTH_LONG).show() else -> Toast.makeText(mContext, getString(R.string.invalidCode), Toast.LENGTH_LONG).show()
} }
} }
@@ -4,7 +4,7 @@ import androidx.room.Entity
import androidx.room.PrimaryKey import androidx.room.PrimaryKey
@Entity(tableName = "subst_table") @Entity(tableName = "subst_table")
public class Subst(val icon: Int, val group: String, val date: String, val time: String, val course: String, val room: String, val additional: String, val priority: Int) { public class Subst(val group: String, val date: String, val time: String, val course: String, val room: String, val additional: String, val priority: Int) {
@PrimaryKey(autoGenerate = true) @PrimaryKey(autoGenerate = true)
var id: Int = 0 var id: Int = 0
@@ -5,7 +5,7 @@ import androidx.room.Database
import androidx.room.Room import androidx.room.Room
import androidx.room.RoomDatabase import androidx.room.RoomDatabase
@Database(entities = [Subst::class, Food::class], version = 4, exportSchema = false) @Database(entities = [Subst::class, Food::class], version = 5, exportSchema = false)
public abstract class SubstDatabase : RoomDatabase() { public abstract class SubstDatabase : RoomDatabase() {
abstract fun substDao(): SubstDao abstract fun substDao(): SubstDao
+1 -1
View File
@@ -10,7 +10,7 @@ buildscript {
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:3.5.0-beta02' classpath 'com.android.tools.build:gradle:3.5.0-rc03'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.0' classpath 'com.google.gms:google-services:4.3.0'
classpath 'io.fabric.tools:gradle:1.31.0' classpath 'io.fabric.tools:gradle:1.31.0'