conventionschedule-android/app/src/main/java/com/adlerosn/brasilfurfest/schedule/adapters/ConventionSocialMediasAdapt...

45 lines
1.9 KiB
Kotlin

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)
}
}
}
}