diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/ViewContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/ViewContactActivity.kt
index cfbd9d97..b87819c5 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/ViewContactActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/ViewContactActivity.kt
@@ -2,6 +2,8 @@ package com.simplemobiletools.contacts.pro.activities
import android.content.ContentUris
import android.content.Intent
+import android.media.RingtoneManager
+import android.net.Uri
import android.os.Bundle
import android.provider.ContactsContract
import android.view.View
@@ -170,7 +172,7 @@ class ViewContactActivity : ContactActivity() {
val textColor = config.textColor
arrayOf(contact_name_image, contact_numbers_image, contact_emails_image, contact_addresses_image, contact_events_image, contact_source_image,
- contact_notes_image, contact_organization_image, contact_websites_image, contact_groups_image).forEach {
+ contact_notes_image, contact_ringtone_image, contact_organization_image, contact_websites_image, contact_groups_image).forEach {
it.applyColorFilter(textColor)
}
@@ -212,6 +214,7 @@ class ViewContactActivity : ContactActivity() {
setupGroups()
setupContactSources()
setupNotes()
+ setupRingtone()
setupOrganization()
updateTextColors(contact_scrollview)
}
@@ -566,6 +569,20 @@ class ViewContactActivity : ContactActivity() {
}
}
+ private fun setupRingtone() {
+ val ringtone = contact!!.ringtone
+ if (ringtone != null && ringtone.isNotEmpty() && showFields and SHOW_RINGTONE != 0) {
+ val contactRingtone = RingtoneManager.getRingtone(this, Uri.parse(ringtone))
+ contact_ringtone.text = contactRingtone.getTitle(this)
+ contact_ringtone_image.beVisible()
+ contact_ringtone.beVisible()
+ contact_ringtone.setOnClickListener { }
+ } else {
+ contact_ringtone_image.beGone()
+ contact_ringtone.beGone()
+ }
+ }
+
private fun setupOrganization() {
val organization = contact!!.organization
if (organization.isNotEmpty() && showFields and SHOW_ORGANIZATION_FIELD != 0) {
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/ManageVisibleFieldsDialog.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/ManageVisibleFieldsDialog.kt
index d6444e1f..5dc4af12 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/ManageVisibleFieldsDialog.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/ManageVisibleFieldsDialog.kt
@@ -30,6 +30,7 @@ class ManageVisibleFieldsDialog(val activity: BaseSimpleActivity) {
put(SHOW_WEBSITES_FIELD, R.id.manage_visible_fields_websites)
put(SHOW_GROUPS_FIELD, R.id.manage_visible_fields_groups)
put(SHOW_CONTACT_SOURCE_FIELD, R.id.manage_visible_fields_contact_source)
+ put(SHOW_RINGTONE, R.id.manage_ringtone)
}
val showContactFields = activity.config.showContactFields
@@ -38,11 +39,11 @@ class ManageVisibleFieldsDialog(val activity: BaseSimpleActivity) {
}
AlertDialog.Builder(activity)
- .setPositiveButton(R.string.ok) { dialog, which -> dialogConfirmed() }
- .setNegativeButton(R.string.cancel, null)
- .create().apply {
- activity.setupDialogStuff(view, this)
- }
+ .setPositiveButton(R.string.ok) { dialog, which -> dialogConfirmed() }
+ .setNegativeButton(R.string.cancel, null)
+ .create().apply {
+ activity.setupDialogStuff(view, this)
+ }
}
private fun dialogConfirmed() {
diff --git a/app/src/main/res/layout/activity_view_contact.xml b/app/src/main/res/layout/activity_view_contact.xml
index 52c9c68c..f6ca310f 100644
--- a/app/src/main/res/layout/activity_view_contact.xml
+++ b/app/src/main/res/layout/activity_view_contact.xml
@@ -117,9 +117,9 @@
android:paddingTop="@dimen/normal_margin"
android:paddingEnd="@dimen/normal_margin"
android:paddingBottom="@dimen/normal_margin"
- android:tooltipText="John Doe"
android:singleLine="true"
- android:textSize="@dimen/bigger_text_size" />
+ android:textSize="@dimen/bigger_text_size"
+ android:tooltipText="John Doe" />
+
+
+
+
-
@@ -11,136 +10,144 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingStart="@dimen/activity_margin"
- android:paddingEnd="@dimen/activity_margin"
- android:paddingTop="@dimen/activity_margin">
+ android:paddingTop="@dimen/activity_margin"
+ android:paddingEnd="@dimen/activity_margin">
+ android:paddingBottom="@dimen/activity_margin"
+ android:text="@string/prefix" />
+ android:paddingBottom="@dimen/activity_margin"
+ android:text="@string/first_name" />
+ android:paddingBottom="@dimen/activity_margin"
+ android:text="@string/middle_name" />
+ android:paddingBottom="@dimen/activity_margin"
+ android:text="@string/surname" />
+ android:paddingBottom="@dimen/activity_margin"
+ android:text="@string/suffix" />
+ android:paddingBottom="@dimen/activity_margin"
+ android:text="@string/nickname" />
+ android:paddingBottom="@dimen/activity_margin"
+ android:text="@string/phone_numbers" />
+ android:paddingBottom="@dimen/activity_margin"
+ android:text="@string/emails" />
+ android:paddingBottom="@dimen/activity_margin"
+ android:text="@string/addresses" />
+ android:paddingBottom="@dimen/activity_margin"
+ android:text="@string/instant_messaging" />
+ android:paddingBottom="@dimen/activity_margin"
+ android:text="@string/events" />
+ android:paddingBottom="@dimen/activity_margin"
+ android:text="@string/notes" />
+
+
+ android:paddingBottom="@dimen/activity_margin"
+ android:text="@string/organization" />
+ android:paddingBottom="@dimen/activity_margin"
+ android:text="@string/websites" />
+ android:paddingBottom="@dimen/activity_margin"
+ android:text="@string/groups" />
+ android:paddingBottom="@dimen/activity_margin"
+ android:text="@string/contact_source" />