Simple-Calendar/app/src/main/kotlin/com/simplemobiletools/calendar/pro/models/Attendee.kt

46 lines
1.5 KiB
Kotlin
Raw Normal View History

package com.simplemobiletools.calendar.pro.models
2019-03-14 23:25:18 +01:00
import android.content.Context
import android.graphics.drawable.Drawable
import android.provider.CalendarContract
2019-03-14 23:25:18 +01:00
import android.widget.ImageView
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
import com.bumptech.glide.request.RequestOptions
data class Attendee(
val contactId: Int,
var name: String,
val email: String,
var status: Int,
var photoUri: String,
var isMe: Boolean,
var relationship: Int
) {
2023-09-05 09:16:40 +02:00
fun getPublicName() = name.ifEmpty { email }
2019-03-14 23:25:18 +01:00
fun updateImage(context: Context, imageView: ImageView, placeholder: Drawable) {
if (photoUri.isEmpty()) {
imageView.setImageDrawable(placeholder)
} else {
val options = RequestOptions()
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
.error(placeholder)
.centerCrop()
2019-03-14 23:25:18 +01:00
Glide.with(context)
.load(photoUri)
.transition(DrawableTransitionOptions.withCrossFade())
.placeholder(placeholder)
.apply(options)
.apply(RequestOptions.circleCropTransform())
.into(imageView)
2019-03-14 23:25:18 +01:00
}
}
fun showStatusImage() = status == CalendarContract.Attendees.ATTENDEE_STATUS_ACCEPTED ||
status == CalendarContract.Attendees.ATTENDEE_STATUS_DECLINED ||
status == CalendarContract.Attendees.ATTENDEE_STATUS_TENTATIVE
}