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

47 lines
2.0 KiB
Kotlin
Raw Normal View History

2018-07-14 19:43:24 +00:00
package com.adlerosn.brasilfurfest.schedule.adapters
import android.content.Intent
import android.content.res.ColorStateList
import android.database.DataSetObserver
import android.net.Uri
2018-07-16 23:15:20 +00:00
import android.support.v7.widget.RecyclerView
2018-07-14 19:43:24 +00:00
import android.view.View
import android.view.ViewGroup
import android.widget.ListAdapter
import com.adlerosn.brasilfurfest.R
import com.adlerosn.brasilfurfest.helper.layoutInflater
import com.adlerosn.brasilfurfest.helper.runtimeLanguage
import com.adlerosn.brasilfurfest.schedule.abstractDataTypes.convention.Convention
import com.adlerosn.brasilfurfest.schedule.abstractDataTypes.convention.SocialMedia
import kotlinx.android.synthetic.main.fragment_socialmedia_item.view.*
2018-07-16 23:15:20 +00:00
class ConventionSocialMediasAdapter(private val convention: Convention) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
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): RecyclerView.ViewHolder =
object : RecyclerView.ViewHolder(parent.context.layoutInflater.inflate(R.layout.fragment_socialmedia_item, parent, false)){}
2018-07-14 19:43:24 +00:00
2018-07-16 23:15:20 +00:00
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
val view = holder.itemView
val language = view.context.runtimeLanguage
2018-07-14 19:43:24 +00:00
val data = getItem(position)
view.apply {
icon.setImageDrawable(resources.getDrawable(data.icon, null))
icon.imageTintList = ColorStateList.valueOf(data.color)
title.text = data.names[language]
val url = data.url[language]
description.text = url
setOnClickListener {
val i = Intent(Intent.ACTION_VIEW)
i.data = Uri.parse(url)
2018-07-16 23:15:20 +00:00
view.context.startActivity(i)
2018-07-14 19:43:24 +00:00
}
}
}
}