From 297b7b3be85e04838990f03dc1a97a9ba8d50483 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 2 Sep 2018 21:38:10 +0200 Subject: [PATCH] show proper custom address types too --- .../contacts/activities/ContactActivity.kt | 14 ++++++++++---- .../contacts/activities/EditContactActivity.kt | 14 +++++++------- .../contacts/activities/ViewContactActivity.kt | 2 +- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ContactActivity.kt index 52ae1690..fc61b549 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ContactActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ContactActivity.kt @@ -137,10 +137,16 @@ abstract class ContactActivity : SimpleActivity() { } } - fun getAddressTypeText(type: Int) = when (type) { - ContactsContract.CommonDataKinds.StructuredPostal.TYPE_HOME -> R.string.home - ContactsContract.CommonDataKinds.StructuredPostal.TYPE_WORK -> R.string.work - else -> R.string.other + fun getAddressTypeText(type: Int, label: String): String { + return if (type == ContactsContract.CommonDataKinds.BaseTypes.TYPE_CUSTOM) { + label + } else { + getString(when (type) { + ContactsContract.CommonDataKinds.StructuredPostal.TYPE_HOME -> R.string.home + ContactsContract.CommonDataKinds.StructuredPostal.TYPE_WORK -> R.string.work + else -> R.string.other + }) + } } fun getEventTextId(type: Int) = when (type) { diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt index 1f3dca4c..b3b0a187 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt @@ -391,7 +391,7 @@ class EditContactActivity : ContactActivity() { addressHolder!!.apply { contact_address.setText(address.value) - setupAddressTypePicker(contact_address_type, address.type) + setupAddressTypePicker(contact_address_type, address.type, address.label) } } } @@ -528,7 +528,7 @@ class EditContactActivity : ContactActivity() { if (contact!!.addresses.isEmpty()) { val addressHolder = contact_addresses_holder.getChildAt(0) (addressHolder as? ViewGroup)?.contact_address_type?.apply { - setupAddressTypePicker(this) + setupAddressTypePicker(this, DEFAULT_ADDRESS_TYPE, "") } } @@ -565,9 +565,9 @@ class EditContactActivity : ContactActivity() { } } - private fun setupAddressTypePicker(addressTypeField: TextView, type: Int = DEFAULT_ADDRESS_TYPE) { + private fun setupAddressTypePicker(addressTypeField: TextView, type: Int, label: String) { addressTypeField.apply { - setText(getAddressTypeText(type)) + text = getAddressTypeText(type, label) setOnClickListener { showAddressTypePicker(it as TextView) } @@ -660,7 +660,7 @@ class EditContactActivity : ContactActivity() { val currentEmailTypeId = getEmailTypeId(emailTypeField.value) RadioGroupDialog(this, items, currentEmailTypeId) { - emailTypeField.setText(getEmailTypeText(it as Int, "")) + emailTypeField.text = getEmailTypeText(it as Int, "") } } @@ -673,7 +673,7 @@ class EditContactActivity : ContactActivity() { val currentAddressTypeId = getAddressTypeId(addressTypeField.value) RadioGroupDialog(this, items, currentAddressTypeId) { - addressTypeField.setText(getAddressTypeText(it as Int)) + addressTypeField.text = getAddressTypeText(it as Int, "") } } @@ -882,7 +882,7 @@ class EditContactActivity : ContactActivity() { private fun addNewAddressField() { val addressHolder = layoutInflater.inflate(R.layout.item_edit_address, contact_addresses_holder, false) as ViewGroup updateTextColors(addressHolder) - setupAddressTypePicker(addressHolder.contact_address_type) + setupAddressTypePicker(addressHolder.contact_address_type, DEFAULT_ADDRESS_TYPE, "") contact_addresses_holder.addView(addressHolder) contact_addresses_holder.onGlobalLayout { addressHolder.contact_address.requestFocus() diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ViewContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ViewContactActivity.kt index 46a9cebf..0da6abe9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ViewContactActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ViewContactActivity.kt @@ -276,7 +276,7 @@ class ViewContactActivity : ContactActivity() { val address = it contact_addresses_holder.addView(this) contact_address.text = address.value - contact_address_type.setText(getAddressTypeText(address.type)) + contact_address_type.text = getAddressTypeText(address.type, address.label) setOnClickListener { sendAddressIntent(address.value)