Version 2.0.2 - card background now customisable, tablet layout changed

This commit is contained in:
Deniz Düzgören
2019-06-02 17:57:57 +02:00
parent abc3309acd
commit d4cef4f25d
23 changed files with 379 additions and 450 deletions
@@ -8,11 +8,12 @@ import android.widget.ImageView
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.card.MaterialCardView
class CardAdapter(private var mSubst: List<Subst>) : RecyclerView.Adapter<CardAdapter.CardViewHolder>() {
var colour = 0
var colorCheck = ""
private var colour = 0
private var colorCheck = ""
class CardViewHolder (view: View) : RecyclerView.ViewHolder(view) {
var mImageView: ImageView = itemView.findViewById(R.id.iconView)
@@ -22,10 +23,7 @@ class CardAdapter(private var mSubst: List<Subst>) : RecyclerView.Adapter<CardAd
var mCourse: TextView = itemView.findViewById(R.id.course)
var mRoom: TextView = itemView.findViewById(R.id.room)
var mAdditional: TextView = itemView.findViewById(R.id.additional)
}
fun CardAdapter(subst: ArrayList<Subst>) {
mSubst = subst
var mCard = itemView.findViewById<MaterialCardView>(R.id.planCard)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CardViewHolder {
@@ -35,7 +33,7 @@ class CardAdapter(private var mSubst: List<Subst>) : RecyclerView.Adapter<CardAd
fun getSubstAt(i: Int): Subst {
return mSubst[i]
}
} // do I need this in Kotlin?
override fun onBindViewHolder(holder: CardViewHolder, position: Int) {
val currentItem = mSubst[position]
@@ -52,52 +50,51 @@ class CardAdapter(private var mSubst: List<Subst>) : RecyclerView.Adapter<CardAd
try {
colorCheck = holder.mCourse.text.toString().toLowerCase().substring(0, 3)
colour = when (colorCheck) {
"deu", "dep", "daz", "fda" -> prefs.getInt("colGerman", 0)
"mat", "map" -> prefs.getInt("colMaths", 0)
"eng", "enp", "ena" -> prefs.getInt("colEnglish", 0)
"spo", "spp", "spth" -> prefs.getInt("colPhysEd", 0)
"pol", "pop" -> prefs.getInt("colPolitics", 0)
"dar", "dap" -> prefs.getInt("colTheatre", 0)
"phy", "php" -> prefs.getInt("colPhysics", 0)
"bio", "bip" -> prefs.getInt("colBiology", 0)
"che", "chp" -> prefs.getInt("colChemistry", 0)
"phi", "psp" -> prefs.getInt("colPhilosophy", 0)
"laa", "laf", "lat" -> prefs.getInt("colLatin", 0)
"spa", "spf" -> prefs.getInt("colSpanish", 0)
"fra", "frf", "frz" -> prefs.getInt("colFrench", 0)
"inf" -> prefs.getInt("colCompsci", 0)
"ges" -> prefs.getInt("colHistory", 0)
"rel" -> prefs.getInt("colReligion", 0)
"geg" -> prefs.getInt("colGeography", 0)
"kun" -> prefs.getInt("colArts", 0)
"mus" -> prefs.getInt("colMusic", 0)
"tue" -> prefs.getInt("colTurkish", 0)
"chi" -> prefs.getInt("colChinese", 0)
"gll" -> prefs.getInt("colGLL", 0)
"wat" -> prefs.getInt("colWAT", 0)
"för" -> prefs.getInt("colForder", 0)
"met" -> prefs.getInt("colWP", 0)
"deu", "dep", "daz", "fda" -> prefs.getInt("bgGerman", 0)
"mat", "map" -> prefs.getInt("bgMaths", 0)
"eng", "enp", "ena" -> prefs.getInt("bgEnglish", 0)
"spo", "spp", "spth" -> prefs.getInt("bgPhysEd", 0)
"pol", "pop" -> prefs.getInt("bgPolitics", 0)
"dar", "dap" -> prefs.getInt("bgTheatre", 0)
"phy", "php" -> prefs.getInt("bgPhysics", 0)
"bio", "bip", "nw1", "nw2", "nw3", "nw4" -> prefs.getInt("bgBiology", 0)
"che", "chp" -> prefs.getInt("bgChemistry", 0)
"phi", "psp" -> prefs.getInt("bgPhilosophy", 0)
"laa", "laf", "lat" -> prefs.getInt("bgLatin", 0)
"spa", "spf" -> prefs.getInt("bgSpanish", 0)
"fra", "frf", "frz" -> prefs.getInt("bgFrench", 0)
"inf" -> prefs.getInt("bgCompsci", 0)
"ges" -> prefs.getInt("bgHistory", 0)
"rel" -> prefs.getInt("bgReligion", 0)
"geg" -> prefs.getInt("bgGeography", 0)
"kun" -> prefs.getInt("bgArts", 0)
"mus" -> prefs.getInt("bgMusic", 0)
"tue" -> prefs.getInt("bgTurkish", 0)
"chi" -> prefs.getInt("bgChinese", 0)
"gll" -> prefs.getInt("bgGLL", 0)
"wat" -> prefs.getInt("bgWAT", 0)
"för" -> prefs.getInt("bgForder", 0)
"met", "wpb" -> prefs.getInt("bgWP", 0)
else -> 0
}
} catch (e: StringIndexOutOfBoundsException) {
try {
colorCheck = holder.mCourse.text.toString().toLowerCase().substring(0, 2)
colour = when (colorCheck) {
"nw" -> prefs.getInt("colBiology", 0)
"wp" -> prefs.getInt("colWP", 0)
"nw" -> prefs.getInt("bgBiology", 0)
"wp" -> prefs.getInt("bgWP", 0)
else -> 0
}
} catch (e2: StringIndexOutOfBoundsException) {
colour = 0
}
} finally {
if (colour == 0) {
colour = R.color.textcolor
}
}
holder.mImageView.drawable.setTint(ContextCompat.getColor(holder.mImageView.context, colour))
holder.mCourse.setTextColor(ContextCompat.getColor(holder.mCourse.context, colour))
if (colour != 0) {
holder.mCard.setCardBackgroundColor(ContextCompat.getColor(holder.mCourse.context, colour))
} else {
holder.mCard.setCardBackgroundColor(ContextCompat.getColor(holder.mCourse.context, R.color.lightbackground))
}
}
override fun getItemCount(): Int = mSubst.size