From 080401bc3718a7e1103214346b977c349a98da9b Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 8 May 2020 10:23:29 +0200 Subject: [PATCH] moving some shared layout files into Commons --- app/build.gradle | 3 +- .../pro/activities/ContactActivity.kt | 4 +- .../pro/activities/EditContactActivity.kt | 2 +- .../contacts/pro/activities/MainActivity.kt | 3 +- .../contacts/pro/adapters/ContactsAdapter.kt | 39 +++++++----- .../contacts/pro/adapters/GroupsAdapter.kt | 7 ++- .../pro/adapters/SelectContactsAdapter.kt | 8 ++- .../contacts/pro/helpers/CallManager.kt | 7 +-- .../res/layout/item_contact_with_number.xml | 59 ------------------- .../layout/item_contact_without_number.xml | 46 --------------- app/src/main/res/values/dimens.xml | 1 - 11 files changed, 44 insertions(+), 135 deletions(-) delete mode 100644 app/src/main/res/layout/item_contact_with_number.xml delete mode 100644 app/src/main/res/layout/item_contact_without_number.xml diff --git a/app/build.gradle b/app/build.gradle index 40d1e1e1..d28dbb9b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -57,9 +57,8 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.27.7' + implementation 'com.simplemobiletools:commons:5.27.13' implementation 'joda-time:joda-time:2.10.1' - implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta4' implementation 'com.googlecode.ez-vcard:ez-vcard:0.10.5' implementation 'com.github.tibbi:IndicatorFastScroll:08f512858a' diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/ContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/ContactActivity.kt index 28671ddb..ba752d46 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/ContactActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/ContactActivity.kt @@ -16,7 +16,6 @@ import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.request.target.Target import com.simplemobiletools.commons.dialogs.ConfirmationDialog import com.simplemobiletools.commons.dialogs.RadioGroupDialog -import com.simplemobiletools.commons.extensions.getContactLetterIcon import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.contacts.pro.R import com.simplemobiletools.contacts.pro.extensions.sendEmailIntent @@ -31,7 +30,8 @@ abstract class ContactActivity : SimpleActivity() { protected var currentContactPhotoPath = "" fun showPhotoPlaceholder(photoView: ImageView) { - val placeholder = BitmapDrawable(resources, getContactLetterIcon(contact?.getNameToDisplay() ?: "A")) + val placeholder = BitmapDrawable(resources, com.simplemobiletools.commons.helpers.ContactsHelper(this).getContactLetterIcon(contact?.getNameToDisplay() + ?: "A")) photoView.setImageDrawable(placeholder) currentContactPhotoPath = "" contact?.photo = null diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/EditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/EditContactActivity.kt index c3039ba5..0c561e04 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/EditContactActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/EditContactActivity.kt @@ -183,7 +183,7 @@ class EditContactActivity : ContactActivity() { if (((contact!!.id == 0 && action == Intent.ACTION_INSERT) || action == ADD_NEW_CONTACT_NUMBER) && intent.extras != null) { val phoneNumber = getPhoneNumberFromIntent(intent) if (phoneNumber != null) { - contact!!.phoneNumbers.add(PhoneNumber(phoneNumber, DEFAULT_PHONE_NUMBER_TYPE, "", phoneNumber.normalizeNumber())) + contact!!.phoneNumbers.add(PhoneNumber(phoneNumber, DEFAULT_PHONE_NUMBER_TYPE, "", phoneNumber.normalizePhoneNumber())) if (phoneNumber.isNotEmpty() && action == ADD_NEW_CONTACT_NUMBER) { highlightLastPhoneNumber = true } diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/MainActivity.kt index 0eec4cbd..b569dce4 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/MainActivity.kt @@ -36,6 +36,7 @@ import com.simplemobiletools.contacts.pro.extensions.getTempFile import com.simplemobiletools.contacts.pro.extensions.handleGenericContactClick import com.simplemobiletools.contacts.pro.fragments.MyViewPagerFragment import com.simplemobiletools.contacts.pro.helpers.* +import com.simplemobiletools.contacts.pro.helpers.ContactsHelper import com.simplemobiletools.contacts.pro.interfaces.RefreshContactsListener import com.simplemobiletools.contacts.pro.models.Contact import kotlinx.android.synthetic.main.activity_main.* @@ -71,8 +72,8 @@ class MainActivity : SimpleActivity(), RefreshContactsListener { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) appLaunched(BuildConfig.APPLICATION_ID) - setupTabColors() + setupTabColors() checkContactPermissions() storeStateVariables() checkWhatsNewDialog() diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/ContactsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/ContactsAdapter.kt index 7d44abcc..b3cfc30f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/ContactsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/ContactsAdapter.kt @@ -5,6 +5,9 @@ import android.util.TypedValue import android.view.Menu import android.view.View import android.view.ViewGroup +import android.widget.FrameLayout +import android.widget.ImageView +import android.widget.TextView import com.bumptech.glide.Glide import com.bumptech.glide.load.engine.DiskCacheStrategy import com.bumptech.glide.request.RequestOptions @@ -12,7 +15,10 @@ import com.bumptech.glide.signature.ObjectKey import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import com.simplemobiletools.commons.dialogs.ConfirmationDialog import com.simplemobiletools.commons.dialogs.RadioGroupDialog -import com.simplemobiletools.commons.extensions.* +import com.simplemobiletools.commons.extensions.beVisibleIf +import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor +import com.simplemobiletools.commons.extensions.getTextSize +import com.simplemobiletools.commons.extensions.highlightTextPart import com.simplemobiletools.commons.helpers.ensureBackgroundThread import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.commons.views.FastScroller @@ -25,7 +31,6 @@ import com.simplemobiletools.contacts.pro.helpers.* import com.simplemobiletools.contacts.pro.interfaces.RefreshContactsListener import com.simplemobiletools.contacts.pro.interfaces.RemoveFromGroupListener import com.simplemobiletools.contacts.pro.models.Contact -import kotlinx.android.synthetic.main.item_contact_with_number.view.* import java.util.* class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList, private val refreshListener: RefreshContactsListener?, @@ -255,15 +260,15 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList(R.id.item_contact_image)) } } private fun setupView(view: View, contact: Contact) { view.apply { - contact_frame?.isSelected = selectedKeys.contains(contact.id) + findViewById(R.id.item_contact_frame)?.isSelected = selectedKeys.contains(contact.id) val fullName = contact.getNameToDisplay() - contact_name.text = if (textToHighlight.isEmpty()) fullName else { + findViewById(R.id.item_contact_name).text = if (textToHighlight.isEmpty()) fullName else { if (fullName.contains(textToHighlight, true)) { fullName.highlightTextPart(textToHighlight, adjustedPrimaryColor) } else { @@ -271,10 +276,12 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList(R.id.item_contact_name).apply { + setTextColor(textColor) + setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSize) + } - if (contact_number != null) { + if (findViewById(R.id.item_contact_number) != null) { val phoneNumberToUse = if (textToHighlight.isEmpty()) { contact.phoneNumbers.firstOrNull() } else { @@ -282,17 +289,19 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList(R.id.item_contact_number).apply { + text = if (textToHighlight.isEmpty()) numberText else numberText.highlightTextPart(textToHighlight, adjustedPrimaryColor, false, true) + setTextColor(textColor) + setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSize) + } } - contact_tmb.beVisibleIf(showContactThumbnails) + findViewById(R.id.item_contact_image).beVisibleIf(showContactThumbnails) if (showContactThumbnails) { - val placeholderImage = BitmapDrawable(resources, context.getContactLetterIcon(fullName)) + val placeholderImage = BitmapDrawable(resources, com.simplemobiletools.commons.helpers.ContactsHelper(context).getContactLetterIcon(fullName)) if (contact.photoUri.isEmpty() && contact.photo == null) { - contact_tmb.setImageDrawable(placeholderImage) + findViewById(R.id.item_contact_image).setImageDrawable(placeholderImage) } else { val options = RequestOptions() .signature(ObjectKey(contact.getSignatureKey())) @@ -310,7 +319,7 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList(R.id.item_contact_image)) } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/GroupsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/GroupsAdapter.kt index 9b9c0235..5f6f4130 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/GroupsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/GroupsAdapter.kt @@ -6,7 +6,10 @@ import android.view.View import android.view.ViewGroup import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import com.simplemobiletools.commons.dialogs.ConfirmationDialog -import com.simplemobiletools.commons.extensions.* +import com.simplemobiletools.commons.extensions.beVisibleIf +import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor +import com.simplemobiletools.commons.extensions.getTextSize +import com.simplemobiletools.commons.extensions.highlightTextPart import com.simplemobiletools.commons.helpers.ensureBackgroundThread import com.simplemobiletools.commons.views.FastScroller import com.simplemobiletools.commons.views.MyRecyclerView @@ -167,7 +170,7 @@ class GroupsAdapter(activity: SimpleActivity, var groups: ArrayList, val group_tmb.beVisibleIf(showContactThumbnails) if (showContactThumbnails) { - group_tmb.setImageDrawable(activity.getColoredGroupIcon(group.title)) + group_tmb.setImageDrawable(com.simplemobiletools.commons.helpers.ContactsHelper(activity).getColoredGroupIcon(group.title)) } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/SelectContactsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/SelectContactsAdapter.kt index 65e2025e..571ec3f3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/SelectContactsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/SelectContactsAdapter.kt @@ -10,7 +10,11 @@ import com.bumptech.glide.Glide import com.bumptech.glide.load.engine.DiskCacheStrategy import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.signature.ObjectKey -import com.simplemobiletools.commons.extensions.* +import com.simplemobiletools.commons.extensions.beVisibleIf +import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor +import com.simplemobiletools.commons.extensions.getTextSize +import com.simplemobiletools.commons.extensions.highlightTextPart +import com.simplemobiletools.commons.helpers.ContactsHelper import com.simplemobiletools.commons.views.FastScroller import com.simplemobiletools.commons.views.MyRecyclerView import com.simplemobiletools.contacts.pro.R @@ -146,7 +150,7 @@ class SelectContactsAdapter(val activity: SimpleActivity, var contacts: ArrayLis else -> contact.firstName } - val placeholderImage = BitmapDrawable(resources, context.getContactLetterIcon(avatarName)) + val placeholderImage = BitmapDrawable(resources, ContactsHelper(context).getContactLetterIcon(avatarName)) if (contact.photoUri.isEmpty() && contact.photo == null) { contact_tmb.setImageDrawable(placeholderImage) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/CallManager.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/CallManager.kt index eebc769d..541105c3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/CallManager.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/CallManager.kt @@ -5,8 +5,6 @@ import android.content.Context import android.net.Uri import android.telecom.Call import android.telecom.VideoProfile -import com.simplemobiletools.commons.extensions.getNameFromPhoneNumber -import com.simplemobiletools.commons.extensions.getPhotoUriFromPhoneNumber import com.simplemobiletools.commons.helpers.ensureBackgroundThread import com.simplemobiletools.contacts.pro.extensions.contactsDB import com.simplemobiletools.contacts.pro.models.CallContact @@ -61,10 +59,11 @@ class CallManager { val uri = Uri.decode(call!!.details.handle.toString()) if (uri.startsWith("tel:")) { + val contactsHelper = com.simplemobiletools.commons.helpers.ContactsHelper(context) val number = uri.substringAfter("tel:") callContact.number = number - callContact.name = context.getNameFromPhoneNumber(number) - callContact.photoUri = context.getPhotoUriFromPhoneNumber(number) + callContact.name = contactsHelper.getNameFromPhoneNumber(number) + callContact.photoUri = contactsHelper.getPhotoUriFromPhoneNumber(number) if (callContact.name == callContact.number) { ensureBackgroundThread { diff --git a/app/src/main/res/layout/item_contact_with_number.xml b/app/src/main/res/layout/item_contact_with_number.xml deleted file mode 100644 index 663ad5b7..00000000 --- a/app/src/main/res/layout/item_contact_with_number.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/item_contact_without_number.xml b/app/src/main/res/layout/item_contact_without_number.xml deleted file mode 100644 index 86e22567..00000000 --- a/app/src/main/res/layout/item_contact_without_number.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index e817ce66..e4a6c4ad 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -3,7 +3,6 @@ 88dp 48dp 40dp - 60dp 60dp 72dp 30dp