mirror of
https://github.com/SimpleMobileTools/Simple-SMS-Messenger.git
synced 2025-06-05 21:49:22 +02:00
use the colored letters as placeholders everywhere
This commit is contained in:
@@ -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<Contact>) :
|
||||
ArrayAdapter<Contact>(activity, 0, contacts) {
|
||||
var resultList = ArrayList<Contact>()
|
||||
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
|
||||
|
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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)
|
||||
|
@@ -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)
|
||||
|
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:id="@+id/attendee_circular_background">
|
||||
<shape android:shape="oval">
|
||||
<solid android:color="@color/color_primary" />
|
||||
</shape>
|
||||
</item>
|
||||
|
||||
<item
|
||||
android:bottom="@dimen/small_margin"
|
||||
android:drawable="@drawable/ic_person_vector"
|
||||
android:left="@dimen/small_margin"
|
||||
android:right="@dimen/small_margin"
|
||||
android:top="@dimen/small_margin" />
|
||||
|
||||
</layer-list>
|
Reference in New Issue
Block a user