mirror of
https://github.com/SimpleMobileTools/Simple-Contacts.git
synced 2025-03-30 19:10:09 +02:00
show the user photo at Details, if available
This commit is contained in:
parent
ebb11be2c3
commit
829897b5e1
@ -1,10 +1,19 @@
|
|||||||
package com.simplemobiletools.contacts.activities
|
package com.simplemobiletools.contacts.activities
|
||||||
|
|
||||||
import android.graphics.drawable.ColorDrawable
|
import android.graphics.drawable.ColorDrawable
|
||||||
|
import android.graphics.drawable.Drawable
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
|
import com.bumptech.glide.Glide
|
||||||
|
import com.bumptech.glide.load.DataSource
|
||||||
|
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
||||||
|
import com.bumptech.glide.load.engine.GlideException
|
||||||
|
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
|
||||||
|
import com.bumptech.glide.request.RequestListener
|
||||||
|
import com.bumptech.glide.request.RequestOptions
|
||||||
|
import com.bumptech.glide.request.target.Target
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_CONTACTS
|
import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_CONTACTS
|
||||||
import com.simplemobiletools.contacts.R
|
import com.simplemobiletools.contacts.R
|
||||||
@ -53,9 +62,29 @@ class ContactActivity : SimpleActivity() {
|
|||||||
|
|
||||||
contact_send_email.beVisibleIf(contact!!.email.isNotEmpty())
|
contact_send_email.beVisibleIf(contact!!.email.isNotEmpty())
|
||||||
|
|
||||||
contact_photo.applyColorFilter(config.primaryColor.getContrastColor())
|
|
||||||
contact_photo.background = ColorDrawable(config.primaryColor)
|
contact_photo.background = ColorDrawable(config.primaryColor)
|
||||||
|
|
||||||
|
if (contact!!.photoUri.isEmpty()) {
|
||||||
|
applyPhotoPlaceholder()
|
||||||
|
} else {
|
||||||
|
val options = RequestOptions()
|
||||||
|
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
|
||||||
|
.centerCrop()
|
||||||
|
|
||||||
|
Glide.with(this)
|
||||||
|
.load(contact!!.photoUri)
|
||||||
|
.transition(DrawableTransitionOptions.withCrossFade())
|
||||||
|
.apply(options)
|
||||||
|
.listener(object : RequestListener<Drawable> {
|
||||||
|
override fun onResourceReady(resource: Drawable?, model: Any?, target: Target<Drawable>?, dataSource: DataSource?, isFirstResource: Boolean) = false
|
||||||
|
|
||||||
|
override fun onLoadFailed(e: GlideException?, model: Any?, target: Target<Drawable>?, isFirstResource: Boolean): Boolean {
|
||||||
|
applyPhotoPlaceholder()
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}).into(contact_photo)
|
||||||
|
}
|
||||||
|
|
||||||
val textColor = config.textColor
|
val textColor = config.textColor
|
||||||
contact_send_sms.applyColorFilter(textColor)
|
contact_send_sms.applyColorFilter(textColor)
|
||||||
contact_start_call.applyColorFilter(textColor)
|
contact_start_call.applyColorFilter(textColor)
|
||||||
@ -106,6 +135,13 @@ class ContactActivity : SimpleActivity() {
|
|||||||
supportActionBar?.title = resources.getString(R.string.new_contact)
|
supportActionBar?.title = resources.getString(R.string.new_contact)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun applyPhotoPlaceholder() {
|
||||||
|
val placeholder = resources.getColoredBitmap(R.drawable.ic_person, config.primaryColor.getContrastColor())
|
||||||
|
val padding = resources.getDimension(R.dimen.activity_margin).toInt()
|
||||||
|
contact_photo.setPadding(padding, padding, padding, padding)
|
||||||
|
contact_photo.setImageBitmap(placeholder)
|
||||||
|
}
|
||||||
|
|
||||||
private fun saveContact() {
|
private fun saveContact() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -14,9 +14,7 @@
|
|||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/contact_photo"
|
android:id="@+id/contact_photo"
|
||||||
android:layout_width="@dimen/contact_photo_size"
|
android:layout_width="@dimen/contact_photo_size"
|
||||||
android:layout_height="@dimen/contact_photo_size"
|
android:layout_height="@dimen/contact_photo_size"/>
|
||||||
android:padding="@dimen/activity_margin"
|
|
||||||
android:src="@drawable/ic_person"/>
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/contact_send_sms"
|
android:id="@+id/contact_send_sms"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user