package com.adlerosn.brasilfurfest.schedule.adapters import android.content.Intent import android.content.res.ColorStateList import android.net.Uri import androidx.recyclerview.widget.RecyclerView import android.view.ViewGroup import com.adlerosn.brasilfurfest.R import com.adlerosn.brasilfurfest.helper.layoutInflater import com.adlerosn.brasilfurfest.helper.runtimeLanguage import com.adlerosn.brasilfurfest.helper.solved import com.adlerosn.brasilfurfest.schedule.abstractDataTypes.convention.Convention import com.adlerosn.brasilfurfest.schedule.abstractDataTypes.convention.SocialMedia import com.adlerosn.brasilfurfest.schedule.viewHolders.RecyclerViewHolder import kotlinx.android.synthetic.main.fragment_socialmedia_item.view.* class ConventionSocialMediasAdapter(private val convention: Convention) : RecyclerViewAdapter() { override fun getItemCount(): Int = convention.socialMedias.size override fun getItemViewType(position: Int): Int = 0 override fun getItemId(position: Int): Long = position.toLong() private fun getItem(position: Int): SocialMedia = convention.socialMedias[position] override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerViewHolder = RecyclerViewHolder(parent.context.layoutInflater.inflate(R.layout.fragment_socialmedia_item, parent, false)) override fun onBindViewHolder(holder: RecyclerViewHolder, position: Int) { val view = holder.itemView val data = getItem(position) view.apply { icon.setImageDrawable(resources.getDrawable(data.icon, null)) icon.imageTintList = ColorStateList.valueOf(data.color) title.text = data.names.solved val url = data.url.solved description.text = url setOnClickListener { val i = Intent(Intent.ACTION_VIEW) i.data = Uri.parse(url) view.context.startActivity(i) } } } }