diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/AutoCompleteTextViewAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/AutoCompleteTextViewAdapter.kt index 33ac74fa..ff02fbc8 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/AutoCompleteTextViewAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/AutoCompleteTextViewAdapter.kt @@ -1,28 +1,20 @@ package com.simplemobiletools.smsmessenger.adapters -import android.graphics.drawable.LayerDrawable import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ArrayAdapter import android.widget.Filter -import com.simplemobiletools.commons.extensions.applyColorFilter import com.simplemobiletools.commons.extensions.normalizeString import com.simplemobiletools.smsmessenger.R import com.simplemobiletools.smsmessenger.activities.SimpleActivity -import com.simplemobiletools.smsmessenger.extensions.config +import com.simplemobiletools.smsmessenger.extensions.loadImage import com.simplemobiletools.smsmessenger.models.Contact import kotlinx.android.synthetic.main.item_contact.view.* class AutoCompleteTextViewAdapter(val activity: SimpleActivity, val contacts: ArrayList) : ArrayAdapter(activity, 0, contacts) { var resultList = ArrayList() - private var placeholder = activity.resources.getDrawable(R.drawable.contact_circular_background) - - init { - (placeholder as LayerDrawable).findDrawableByLayerId(R.id.attendee_circular_background) - .applyColorFilter(activity.config.primaryColor) - } override fun getView(position: Int, convertView: View?, parent: ViewGroup): View { val contact = resultList[position] @@ -36,7 +28,7 @@ class AutoCompleteTextViewAdapter(val activity: SimpleActivity, val contacts: Ar item_autocomplete_name.text = contact.name item_autocomplete_number.text = contact.phoneNumber - contact.updateImage(context, item_autocomplete_image, placeholder) + context.loadImage(contact.photoUri, item_autocomplete_image, contact.name) } return listItem diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ContactsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ContactsAdapter.kt index 9235b0cc..a7b87bff 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ContactsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ContactsAdapter.kt @@ -1,16 +1,15 @@ package com.simplemobiletools.smsmessenger.adapters -import android.graphics.drawable.Drawable import android.view.Menu import android.view.View import android.view.ViewGroup import com.bumptech.glide.Glide import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter -import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor import com.simplemobiletools.commons.views.FastScroller import com.simplemobiletools.commons.views.MyRecyclerView import com.simplemobiletools.smsmessenger.R import com.simplemobiletools.smsmessenger.activities.SimpleActivity +import com.simplemobiletools.smsmessenger.extensions.loadImage import com.simplemobiletools.smsmessenger.models.Contact import kotlinx.android.synthetic.main.item_contact_with_number.view.* import java.util.* @@ -21,13 +20,6 @@ class ContactsAdapter( ) : MyRecyclerViewAdapter(activity, recyclerView, fastScroller, itemClick) { - private lateinit var contactDrawable: Drawable - private lateinit var businessContactDrawable: Drawable - - init { - initDrawables() - } - override fun getActionMenuId() = 0 override fun prepareActionMode(menu: Menu) {} @@ -58,11 +50,6 @@ class ContactsAdapter( override fun getItemCount() = contacts.size - private fun initDrawables() { - contactDrawable = activity.resources.getColoredDrawableWithColor(R.drawable.ic_person_vector, textColor) - businessContactDrawable = activity.resources.getColoredDrawableWithColor(R.drawable.ic_business_vector, textColor) - } - override fun onViewRecycled(holder: ViewHolder) { super.onViewRecycled(holder) if (!activity.isDestroyed && !activity.isFinishing) { @@ -78,13 +65,7 @@ class ContactsAdapter( contact_number.text = contact.phoneNumber contact_number.setTextColor(textColor) - val placeholder = if (contact.isOrganization) { - businessContactDrawable - } else { - contactDrawable - } - - contact.updateImage(context, contact_tmb, placeholder) + context.loadImage(contact.photoUri, contact_tmb, contact.name) } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/MessagesAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/MessagesAdapter.kt index 72034869..4ceae946 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/MessagesAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/MessagesAdapter.kt @@ -1,7 +1,6 @@ package com.simplemobiletools.smsmessenger.adapters import android.graphics.Typeface -import android.graphics.drawable.BitmapDrawable import android.view.Menu import android.view.View import android.view.ViewGroup @@ -16,8 +15,6 @@ import com.simplemobiletools.commons.views.MyRecyclerView import com.simplemobiletools.smsmessenger.R import com.simplemobiletools.smsmessenger.activities.SimpleActivity import com.simplemobiletools.smsmessenger.extensions.deleteThread -import com.simplemobiletools.smsmessenger.extensions.getNameLetter -import com.simplemobiletools.smsmessenger.extensions.getNotificationLetterIcon import com.simplemobiletools.smsmessenger.extensions.loadImage import com.simplemobiletools.smsmessenger.helpers.refreshMessages import com.simplemobiletools.smsmessenger.models.Message @@ -139,8 +136,7 @@ class MessagesAdapter( } val participant = message.participants.first() - val placeholder = BitmapDrawable(activity.resources, activity.getNotificationLetterIcon(participant.name.getNameLetter())) - context.loadImage(participant.photoUri, message_image, placeholder) + context.loadImage(participant.photoUri, message_image, participant.name) } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt index 65b872d9..51ab9e1c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt @@ -11,7 +11,7 @@ import android.content.Intent import android.graphics.Bitmap import android.graphics.Canvas import android.graphics.Paint -import android.graphics.drawable.Drawable +import android.graphics.drawable.BitmapDrawable import android.media.AudioAttributes import android.media.AudioManager import android.media.RingtoneManager @@ -518,7 +518,9 @@ fun Context.getNotificationLetterIcon(letter: String): Bitmap { return bitmap } -fun Context.loadImage(path: String, imageView: ImageView, placeholder: Drawable) { +fun Context.loadImage(path: String, imageView: ImageView, placeholderName: String) { + val placeholder = BitmapDrawable(resources, getNotificationLetterIcon(placeholderName.getNameLetter())) + val options = RequestOptions() .diskCacheStrategy(DiskCacheStrategy.RESOURCE) .error(placeholder) diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/Contact.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/Contact.kt index 84967c09..8427b516 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/Contact.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/Contact.kt @@ -1,22 +1,3 @@ package com.simplemobiletools.smsmessenger.models -import android.content.Context -import android.graphics.drawable.Drawable -import android.widget.ImageView -import com.simplemobiletools.smsmessenger.extensions.loadImage - -data class Contact( - val id: Int, - var name: String, - var photoUri: String, - var phoneNumber: String, - var isOrganization: Boolean -) { - fun updateImage(context: Context, imageView: ImageView, placeholder: Drawable) { - if (photoUri.isEmpty()) { - imageView.setImageDrawable(placeholder) - } else { - context.loadImage(photoUri, imageView, placeholder) - } - } -} +data class Contact(val id: Int, var name: String, var photoUri: String, var phoneNumber: String, var isOrganization: Boolean) diff --git a/app/src/main/res/drawable/contact_circular_background.xml b/app/src/main/res/drawable/contact_circular_background.xml deleted file mode 100644 index 85af6270..00000000 --- a/app/src/main/res/drawable/contact_circular_background.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - -