From 6e8c02aa5e235791a4e31c15e2a8b5c5348e954f Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 16 Apr 2020 21:04:00 +0200 Subject: [PATCH] use the letter avatar placeholder at attendees --- .../calendar/pro/activities/EventActivity.kt | 19 +++++++++---------- .../adapters/AutoCompleteTextViewAdapter.kt | 17 +++++++++-------- .../drawable/attendee_circular_background.xml | 16 ---------------- app/src/main/res/drawable/ic_group_vector.xml | 9 --------- app/src/main/res/layout/activity_event.xml | 2 +- .../res/layout/item_autocomplete_email.xml | 1 + .../layout/item_autocomplete_email_name.xml | 11 ++++++----- 7 files changed, 26 insertions(+), 49 deletions(-) delete mode 100644 app/src/main/res/drawable/attendee_circular_background.xml delete mode 100644 app/src/main/res/drawable/ic_group_vector.xml diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt index 715ef3580..f915cbf9e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt @@ -5,6 +5,7 @@ import android.app.DatePickerDialog import android.app.TimePickerDialog import android.content.Intent import android.database.Cursor +import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.Drawable import android.graphics.drawable.LayerDrawable import android.net.Uri @@ -86,7 +87,6 @@ class EventActivity : SimpleActivity() { private var mStoredEventTypes = ArrayList() private var mOriginalTimeZone = DateTimeZone.getDefault().id - private lateinit var mAttendeePlaceholder: Drawable private lateinit var mEventStartDateTime: DateTime private lateinit var mEventEndDateTime: DateTime private lateinit var mEvent: Event @@ -103,8 +103,6 @@ class EventActivity : SimpleActivity() { val intent = intent ?: return mDialogTheme = getDialogTheme() mWasContactsPermissionChecked = hasPermission(PERMISSION_READ_CONTACTS) - mAttendeePlaceholder = resources.getDrawable(R.drawable.attendee_circular_background) - (mAttendeePlaceholder as LayerDrawable).findDrawableByLayerId(R.id.attendee_circular_background).applyColorFilter(config.primaryColor) val eventId = intent.getLongExtra(EVENT_ID, 0L) ensureBackgroundThread { @@ -1347,8 +1345,14 @@ class EventActivity : SimpleActivity() { beVisibleIf(attendee.showStatusImage()) } + event_contact_name.text = if (attendee.isMe) getString(R.string.my_status) else attendee.getPublicName() + if (attendee.isMe) { + (event_contact_name.layoutParams as RelativeLayout.LayoutParams).addRule(RelativeLayout.START_OF, event_contact_me_status.id) + } + + val placeholder = BitmapDrawable(resources, context.getContactLetterIcon(event_contact_name.value)) event_contact_image.apply { - attendee.updateImage(applicationContext, this, mAttendeePlaceholder) + attendee.updateImage(applicationContext, this, placeholder) beVisible() } @@ -1357,11 +1361,6 @@ class EventActivity : SimpleActivity() { beGoneIf(attendee.isMe) } - event_contact_name.text = if (attendee.isMe) getString(R.string.my_status) else attendee.getPublicName() - if (attendee.isMe) { - (event_contact_name.layoutParams as RelativeLayout.LayoutParams).addRule(RelativeLayout.START_OF, event_contact_me_status.id) - } - if (attendee.isMe) { updateAttendeeMe(this, attendee) } @@ -1473,7 +1472,7 @@ class EventActivity : SimpleActivity() { val photoUri = cursor.getStringValue(ContactsContract.CommonDataKinds.StructuredName.PHOTO_THUMBNAIL_URI) ?: "" val names = arrayListOf(prefix, firstName, middleName, surname, suffix).filter { it.trim().isNotEmpty() } - val fullName = TextUtils.join("", names) + val fullName = TextUtils.join(" ", names).trim() if (fullName.isNotEmpty() || photoUri.isNotEmpty()) { val contact = Attendee(id, fullName, "", CalendarContract.Attendees.ATTENDEE_STATUS_NONE, photoUri, false, CalendarContract.Attendees.RELATIONSHIP_NONE) contacts.add(contact) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/AutoCompleteTextViewAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/AutoCompleteTextViewAdapter.kt index 55ed5ffcc..62c2ab030 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/AutoCompleteTextViewAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/AutoCompleteTextViewAdapter.kt @@ -1,6 +1,6 @@ package com.simplemobiletools.calendar.pro.adapters -import android.graphics.drawable.LayerDrawable +import android.graphics.drawable.BitmapDrawable import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -8,19 +8,13 @@ import android.widget.ArrayAdapter import android.widget.Filter import com.simplemobiletools.calendar.pro.R import com.simplemobiletools.calendar.pro.activities.SimpleActivity -import com.simplemobiletools.calendar.pro.extensions.config import com.simplemobiletools.calendar.pro.models.Attendee -import com.simplemobiletools.commons.extensions.applyColorFilter +import com.simplemobiletools.commons.extensions.getContactLetterIcon import com.simplemobiletools.commons.extensions.normalizeString import kotlinx.android.synthetic.main.item_autocomplete_email_name.view.* class AutoCompleteTextViewAdapter(val activity: SimpleActivity, val contacts: ArrayList) : ArrayAdapter(activity, 0, contacts) { var resultList = ArrayList() - private var placeholder = activity.resources.getDrawable(R.drawable.attendee_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] @@ -30,6 +24,13 @@ class AutoCompleteTextViewAdapter(val activity: SimpleActivity, val contacts: Ar listItem = LayoutInflater.from(activity).inflate(layout, parent, false) } + val nameToUse = when { + contact.name.isNotEmpty() -> contact.name + contact.email.isNotEmpty() -> contact.email + else -> "S" + } + + val placeholder = BitmapDrawable(activity.resources, context.getContactLetterIcon(nameToUse)) listItem!!.apply { tag = contact.name.isNotEmpty() item_autocomplete_name?.text = contact.name diff --git a/app/src/main/res/drawable/attendee_circular_background.xml b/app/src/main/res/drawable/attendee_circular_background.xml deleted file mode 100644 index 8101204b6..000000000 --- a/app/src/main/res/drawable/attendee_circular_background.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_group_vector.xml b/app/src/main/res/drawable/ic_group_vector.xml deleted file mode 100644 index 120218d2c..000000000 --- a/app/src/main/res/drawable/ic_group_vector.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/layout/activity_event.xml b/app/src/main/res/layout/activity_event.xml index cf59d9d0f..896dbf119 100644 --- a/app/src/main/res/layout/activity_event.xml +++ b/app/src/main/res/layout/activity_event.xml @@ -408,7 +408,7 @@ android:layout_marginStart="@dimen/normal_margin" android:layout_marginTop="@dimen/small_margin" android:padding="@dimen/medium_margin" - android:src="@drawable/ic_group_vector"/> + android:src="@drawable/ic_people_vector"/> - + app:layout_constraintTop_toTopOf="parent" /> + tools:text="Simple Mobile" /> + tools:text="hello@simplemobiletools.com" />