Skip to content

Commit

Permalink
Reformat MenuAdapter
Browse files Browse the repository at this point in the history
  • Loading branch information
kudlav committed Dec 15, 2023
1 parent b44b0aa commit 450ec27
Showing 1 changed file with 23 additions and 23 deletions.
46 changes: 23 additions & 23 deletions app/src/main/java/com/kudlav/kam/adapters/MenuAdapter.kt
Original file line number Diff line number Diff line change
@@ -1,31 +1,28 @@
package com.kudlav.kam.adapters

import android.content.SharedPreferences
import android.view.LayoutInflater
import android.view.View
import androidx.appcompat.app.AlertDialog
import androidx.preference.PreferenceManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.kudlav.kam.R
import com.kudlav.kam.data.Food
import com.kudlav.kam.data.FoodType
import io.github.luizgrp.sectionedrecyclerviewadapter.SectionParameters
import io.github.luizgrp.sectionedrecyclerviewadapter.Section
import android.view.LayoutInflater
import androidx.recyclerview.widget.LinearLayoutManager
import com.kudlav.kam.R
import com.kudlav.kam.databinding.DialogFoodBinding
import com.kudlav.kam.databinding.HeaderMenuBinding
import com.kudlav.kam.databinding.ItemMenuBinding
import io.github.luizgrp.sectionedrecyclerviewadapter.Section
import io.github.luizgrp.sectionedrecyclerviewadapter.SectionParameters
import io.github.luizgrp.sectionedrecyclerviewadapter.utils.EmptyViewHolder
import java.lang.Exception

class MenuAdapter(private val section: FoodType, private val itemList: ArrayList<Food>): Section(
class MenuAdapter(private val section: FoodType, private val itemList: ArrayList<Food>) : Section(
SectionParameters.builder()
.itemResourceId(R.layout.item_menu)
.headerResourceId(R.layout.header_menu)
.footerResourceId(R.layout.footer_menu)
.build()
)
{
) {

override fun getContentItemsTotal(): Int {
return itemList.size
Expand Down Expand Up @@ -53,33 +50,36 @@ class MenuAdapter(private val section: FoodType, private val itemList: ArrayList
return EmptyViewHolder(parent)
}

inner class ItemViewHolder(private val view: View): RecyclerView.ViewHolder(view) {
inner class ItemViewHolder(private val view: View) : RecyclerView.ViewHolder(view) {

private val binding = ItemMenuBinding.bind(view)
private val preferences: SharedPreferences = PreferenceManager.getDefaultSharedPreferences(view.context)
private val lang: String? = preferences.getString("food_lang", "cs")
private val priceCategory: String? = preferences.getString("price_category", "student")
private val allergenChosen: Set<String>? = preferences.getStringSet("allergens", null)
private val preferences = PreferenceManager.getDefaultSharedPreferences(view.context)
private val lang = preferences.getString("food_lang", "cs")
private val priceCategory = preferences.getString("price_category", "student")
private val allergenChosen = preferences.getStringSet("allergens", null)
private val allergenNames = view.context.resources.getStringArray(R.array.allergen_entries)

fun bind(position: Int) {

val data = itemList[position]
val price: Int? = when(priceCategory) {
val price: Int? = when (priceCategory) {
"student" -> data.priceStudent
"employee" -> data.priceEmployee
else -> data.priceOther
}

binding.tvName.text = if (lang == "en") data.nameEn else data.nameCz
binding.tvWeight.text =
if (data.weight != null) "%d %s".format(data.weight, view.context.getString(R.string.unit_weight))
if (data.weight != null) "%d %s".format(
data.weight,
view.context.getString(R.string.unit_weight)
)
else ""
val allergens: ArrayList<String> = ArrayList()
try {
allergenChosen?.forEach { item: String ->
if (data.allergens.contains(item.toInt())) {
allergens.add(allergenNames[item.toInt()-1])
allergens.add(allergenNames[item.toInt() - 1])
}
}
} catch (_: Exception) {
Expand All @@ -90,11 +90,11 @@ class MenuAdapter(private val section: FoodType, private val itemList: ArrayList
if (price != null) "%d %s".format(price, view.context.getString(R.string.currency))
else "? ${view.context.getString(R.string.currency)}"

view.setOnClickListener{
view.setOnClickListener {

val dialogBuilder = AlertDialog.Builder(view.context)
.setPositiveButton(view.context.getString(R.string.btn_close)) {
dialog, _ -> dialog.dismiss()
.setPositiveButton(view.context.getString(R.string.btn_close)) { dialog, _ ->
dialog.dismiss()
}

val inflater = LayoutInflater.from(this.view.context)
Expand All @@ -112,12 +112,12 @@ class MenuAdapter(private val section: FoodType, private val itemList: ArrayList

}

inner class HeaderViewHolder(private val view: View): RecyclerView.ViewHolder(view) {
inner class HeaderViewHolder(private val view: View) : RecyclerView.ViewHolder(view) {

private val binding = HeaderMenuBinding.bind(view)

fun bind() {
binding.tvCategory.text = when(section) {
binding.tvCategory.text = when (section) {
FoodType.SOUP -> view.context.getString(R.string.foodtype_soup)
FoodType.MAIN -> view.context.getString(R.string.foodtype_main)
else -> view.context.getString(R.string.foodtype_other)
Expand Down

0 comments on commit 450ec27

Please sign in to comment.