mirror of
https://github.com/dzeiocom/OpenHealth.git
synced 2025-04-23 03:12:14 +00:00
misc: Cleanup adapters
This commit is contained in:
parent
1f4ecc06ad
commit
b7909df867
@ -2,6 +2,7 @@ package com.dzeio.openhealth.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import com.dzeio.openhealth.R
|
||||
import com.dzeio.openhealth.core.BaseAdapter
|
||||
import com.dzeio.openhealth.core.BaseViewHolder
|
||||
import com.dzeio.openhealth.data.food.Food
|
||||
@ -22,9 +23,20 @@ class FoodAdapter : BaseAdapter<Food, ItemFoodBinding>() {
|
||||
item: Food,
|
||||
position: Int
|
||||
) {
|
||||
// Download remote picture
|
||||
DownloadImageTask(holder.binding.productImage).execute(item.image)
|
||||
holder.binding.foodName.text = "${item.name}"
|
||||
holder.binding.foodDescription.text = "${item.quantity.roundToInt()}${item.serving.replace(Regex("\\d+"), "")} (${(item.energy / 100 * item.quantity).roundToInt()} kcal)"
|
||||
|
||||
// set the food name
|
||||
holder.binding.foodName.text = item.name
|
||||
|
||||
// set the food description
|
||||
holder.binding.foodDescription.text = holder.itemView.context.getString(
|
||||
R.string.food_description,
|
||||
item.quantity.roundToInt().toString() + item.serving.replace(Regex("\\d+"), ""),
|
||||
(item.energy / 100 * item.quantity)
|
||||
)
|
||||
|
||||
// set the callback
|
||||
holder.binding.edit.setOnClickListener {
|
||||
onItemClick?.invoke(item)
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package com.dzeio.openhealth.adapters
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import com.dzeio.openhealth.R
|
||||
import com.dzeio.openhealth.core.BaseAdapter
|
||||
import com.dzeio.openhealth.core.BaseViewHolder
|
||||
import com.dzeio.openhealth.data.step.Step
|
||||
@ -19,8 +20,16 @@ class StepsAdapter() : BaseAdapter<Step, LayoutItemListBinding>() {
|
||||
item: Step,
|
||||
position: Int
|
||||
) {
|
||||
holder.binding.value.text = "${item.value} steps"
|
||||
// set the number of steps taken
|
||||
holder.binding.value.text = holder.itemView.context.getString(
|
||||
R.string.steps_count,
|
||||
item.value
|
||||
)
|
||||
|
||||
// set the datetime
|
||||
holder.binding.datetime.text = item.formatTimestamp()
|
||||
|
||||
// set the callback
|
||||
holder.binding.edit.setOnClickListener {
|
||||
onItemClick?.invoke(item)
|
||||
}
|
||||
|
@ -6,8 +6,14 @@ import com.dzeio.openhealth.core.BaseAdapter
|
||||
import com.dzeio.openhealth.core.BaseViewHolder
|
||||
import com.dzeio.openhealth.data.water.Water
|
||||
import com.dzeio.openhealth.databinding.LayoutItemListBinding
|
||||
import com.dzeio.openhealth.units.Units
|
||||
|
||||
class WaterAdapter() : BaseAdapter<Water, LayoutItemListBinding>() {
|
||||
class WaterAdapter : BaseAdapter<Water, LayoutItemListBinding>() {
|
||||
|
||||
/**
|
||||
* The unit the adapter will be using
|
||||
*/
|
||||
var unit: Units.Volume = Units.Volume.MILLILITER
|
||||
|
||||
override val bindingInflater: (LayoutInflater, ViewGroup?, Boolean) -> LayoutItemListBinding
|
||||
get() = LayoutItemListBinding::inflate
|
||||
@ -19,8 +25,14 @@ class WaterAdapter() : BaseAdapter<Water, LayoutItemListBinding>() {
|
||||
item: Water,
|
||||
position: Int
|
||||
) {
|
||||
holder.binding.value.text = "${item.value}ml"
|
||||
holder.binding.datetime.text = "${item.formatTimestamp()}"
|
||||
// set the wate intake text
|
||||
holder.binding.value.text =
|
||||
holder.itemView.context.getString(unit.unit, unit.formatToString(item.value))
|
||||
|
||||
// set the datetime
|
||||
holder.binding.datetime.text = item.formatTimestamp()
|
||||
|
||||
// set the callback
|
||||
holder.binding.edit.setOnClickListener {
|
||||
onItemClick?.invoke(item)
|
||||
}
|
||||
|
@ -10,6 +10,9 @@ import com.dzeio.openhealth.units.Units
|
||||
|
||||
class WeightAdapter : BaseAdapter<Weight, LayoutItemListBinding>() {
|
||||
|
||||
/**
|
||||
* The unit the adapter will be using
|
||||
*/
|
||||
var unit: Units.Mass = Units.Mass.KILOGRAM
|
||||
|
||||
override val bindingInflater: (LayoutInflater, ViewGroup?, Boolean) -> LayoutItemListBinding
|
||||
@ -22,12 +25,14 @@ class WeightAdapter : BaseAdapter<Weight, LayoutItemListBinding>() {
|
||||
item: Weight,
|
||||
position: Int
|
||||
) {
|
||||
|
||||
|
||||
|
||||
// set the weight text
|
||||
holder.binding.value.text =
|
||||
holder.itemView.context.getString(unit.unit, unit.formatToString(item.weight))
|
||||
|
||||
// set the datetime
|
||||
holder.binding.datetime.text = item.formatTimestamp()
|
||||
|
||||
// set the callback
|
||||
holder.binding.edit.setOnClickListener {
|
||||
onItemClick?.invoke(item)
|
||||
}
|
||||
|
@ -15,22 +15,22 @@ import com.dzeio.openhealth.R
|
||||
import com.dzeio.openhealth.core.BaseFullscreenDialog
|
||||
import com.dzeio.openhealth.data.weight.Weight
|
||||
import com.dzeio.openhealth.databinding.DialogEditWeightBinding
|
||||
import com.dzeio.openhealth.ui.home.HomeViewModel
|
||||
import com.google.android.material.datepicker.MaterialDatePicker
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.google.android.material.timepicker.MaterialTimePicker
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import java.util.Date
|
||||
|
||||
@AndroidEntryPoint
|
||||
class EditWeightDialog :
|
||||
BaseFullscreenDialog<EditWeightDialogViewModel, DialogEditWeightBinding>(HomeViewModel::class.java) {
|
||||
BaseFullscreenDialog<EditWeightDialogViewModel, DialogEditWeightBinding>(EditWeightDialogViewModel::class.java) {
|
||||
|
||||
override val bindingInflater: (LayoutInflater) -> DialogEditWeightBinding =
|
||||
DialogEditWeightBinding::inflate
|
||||
|
||||
override val isFullscreenLayout = true
|
||||
|
||||
val args: EditWeightDialogArgs by navArgs()
|
||||
private val args: EditWeightDialogArgs by navArgs()
|
||||
|
||||
lateinit var weight: Weight
|
||||
|
||||
|
@ -10,12 +10,12 @@ import com.dzeio.openhealth.data.weight.Weight
|
||||
import com.dzeio.openhealth.data.weight.WeightRepository
|
||||
import com.dzeio.openhealth.units.Units
|
||||
import com.dzeio.openhealth.utils.Configuration
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import kotlinx.coroutines.flow.collectLatest
|
||||
import kotlinx.coroutines.launch
|
||||
import javax.inject.Inject
|
||||
|
||||
@AndroidEntryPoint
|
||||
@HiltViewModel
|
||||
class EditWeightDialogViewModel @Inject internal constructor(
|
||||
private val weightRepository: WeightRepository,
|
||||
config: Configuration
|
||||
|
@ -78,6 +78,10 @@ object Units {
|
||||
R.string.unit_volume_ounce_unit
|
||||
);
|
||||
|
||||
fun formatToString(value: Int): String {
|
||||
return String.format("%d", value * modifier)
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun find(value: String): Volume {
|
||||
return Volume.values().find {
|
||||
|
@ -53,5 +53,6 @@
|
||||
<string name="quit">Quitter</string>
|
||||
<string name="steps_taken">Pas pris</string>
|
||||
<string name="error_reporter_crash">Erreur lors de la géneration d\'un rapport d\'erreur</string>
|
||||
<string name="steps_count">%1$d pas</string>
|
||||
|
||||
</resources>
|
||||
|
@ -65,4 +65,6 @@
|
||||
<string name="quit">Quit</string>
|
||||
<string name="steps_taken">Steps taken</string>
|
||||
<string name="error_reporter_crash">An error occurred while making the error report</string>
|
||||
<string name="food_description" translatable="false">%1$s (%2$.0f kcal)</string>
|
||||
<string name="steps_count">%1$d steps</string>
|
||||
</resources>
|
||||
|
Loading…
x
Reference in New Issue
Block a user