package org.ntlab.leftoverrecipe.viewmodel import android.app.Activity import android.databinding.BaseObservable import android.databinding.BindingAdapter import android.databinding.ObservableField import android.databinding.ObservableInt import android.graphics.Bitmap import android.graphics.BitmapFactory import android.view.View import android.widget.ImageView import org.ntlab.leftoverrecipe.Mapping import org.ntlab.leftoverrecipe.R import org.ntlab.leftoverrecipe.model.db.RecipeData import org.ntlab.leftoverrecipe.util.BitmapUtil import java.text.SimpleDateFormat /** * Created by matsumoto_k on 2017/07/09. */ class DialyListItemViewModel(var activity: Activity) : BaseObservable() { val recipeTitle = ObservableField<String>() val date = ObservableField<String>() val timeZone = ObservableField<String>() val bitmap = ObservableField<Bitmap>() val comment = ObservableField<String>() val noImageVisible = ObservableInt(View.GONE) companion object { @JvmStatic @BindingAdapter("android:src") fun setImageView(view: ImageView, bitmap: Bitmap) { view.setImageBitmap(bitmap) } } fun loadItem(item: RecipeData) { recipeTitle.set("料理名 : ${item.recipeName}") timeZone.set("時間帯 : ${Mapping.getRecipeTimeZone(item.makeTimeZone)}") val sdf = SimpleDateFormat("yyyy-MM-dd") date.set(sdf.format(item.date.time).toString()) comment.set("一言コメント\n${item.comment}") if (item.image != null) { noImageVisible.set(View.VISIBLE) this.bitmap.set(BitmapUtil.createBitmap(item.image!!)) } else { noImageVisible.set(View.GONE) this.bitmap.set(BitmapFactory.decodeResource(activity.resources, R.drawable.nonimage)) } } }