mirror of
https://github.com/SimpleMobileTools/Simple-Contacts.git
synced 2025-02-10 16:40:40 +01:00
improving the handling of None ringtone
This commit is contained in:
parent
fa1a69311f
commit
3448b7d9eb
@ -47,7 +47,7 @@ abstract class ContactActivity : SimpleActivity() {
|
|||||||
} else if (requestCode == INTENT_SELECT_RINGTONE && resultCode == Activity.RESULT_OK && resultData != null) {
|
} else if (requestCode == INTENT_SELECT_RINGTONE && resultCode == Activity.RESULT_OK && resultData != null) {
|
||||||
val extras = resultData.extras
|
val extras = resultData.extras
|
||||||
if (extras?.containsKey(RingtoneManager.EXTRA_RINGTONE_PICKED_URI) == true) {
|
if (extras?.containsKey(RingtoneManager.EXTRA_RINGTONE_PICKED_URI) == true) {
|
||||||
val uri = extras.getParcelable<Uri>(RingtoneManager.EXTRA_RINGTONE_PICKED_URI) ?: return
|
val uri = extras.getParcelable<Uri>(RingtoneManager.EXTRA_RINGTONE_PICKED_URI)
|
||||||
try {
|
try {
|
||||||
systemRingtoneSelected(uri)
|
systemRingtoneSelected(uri)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
@ -59,7 +59,7 @@ abstract class ContactActivity : SimpleActivity() {
|
|||||||
|
|
||||||
abstract fun customRingtoneSelected(ringtonePath: String)
|
abstract fun customRingtoneSelected(ringtonePath: String)
|
||||||
|
|
||||||
abstract fun systemRingtoneSelected(uri: Uri)
|
abstract fun systemRingtoneSelected(uri: Uri?)
|
||||||
|
|
||||||
fun showPhotoPlaceholder(photoView: ImageView) {
|
fun showPhotoPlaceholder(photoView: ImageView) {
|
||||||
val placeholder = BitmapDrawable(resources, getBigLetterPlaceholder(contact?.getNameToDisplay() ?: "A"))
|
val placeholder = BitmapDrawable(resources, getBigLetterPlaceholder(contact?.getNameToDisplay() ?: "A"))
|
||||||
@ -88,7 +88,13 @@ abstract class ContactActivity : SimpleActivity() {
|
|||||||
.apply(options)
|
.apply(options)
|
||||||
.override(wantedWidth, wantedHeight)
|
.override(wantedWidth, wantedHeight)
|
||||||
.listener(object : RequestListener<Drawable> {
|
.listener(object : RequestListener<Drawable> {
|
||||||
override fun onResourceReady(resource: Drawable?, model: Any?, target: Target<Drawable>?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
|
override fun onResourceReady(
|
||||||
|
resource: Drawable?,
|
||||||
|
model: Any?,
|
||||||
|
target: Target<Drawable>?,
|
||||||
|
dataSource: DataSource?,
|
||||||
|
isFirstResource: Boolean
|
||||||
|
): Boolean {
|
||||||
photoView.background = ColorDrawable(0)
|
photoView.background = ColorDrawable(0)
|
||||||
bottomShadow.beVisible()
|
bottomShadow.beVisible()
|
||||||
return false
|
return false
|
||||||
@ -152,12 +158,14 @@ abstract class ContactActivity : SimpleActivity() {
|
|||||||
return if (type == BaseTypes.TYPE_CUSTOM) {
|
return if (type == BaseTypes.TYPE_CUSTOM) {
|
||||||
label
|
label
|
||||||
} else {
|
} else {
|
||||||
getString(when (type) {
|
getString(
|
||||||
Email.TYPE_HOME -> R.string.home
|
when (type) {
|
||||||
Email.TYPE_WORK -> R.string.work
|
Email.TYPE_HOME -> R.string.home
|
||||||
Email.TYPE_MOBILE -> R.string.mobile
|
Email.TYPE_WORK -> R.string.work
|
||||||
else -> R.string.other
|
Email.TYPE_MOBILE -> R.string.mobile
|
||||||
})
|
else -> R.string.other
|
||||||
|
}
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -165,11 +173,13 @@ abstract class ContactActivity : SimpleActivity() {
|
|||||||
return if (type == BaseTypes.TYPE_CUSTOM) {
|
return if (type == BaseTypes.TYPE_CUSTOM) {
|
||||||
label
|
label
|
||||||
} else {
|
} else {
|
||||||
getString(when (type) {
|
getString(
|
||||||
StructuredPostal.TYPE_HOME -> R.string.home
|
when (type) {
|
||||||
StructuredPostal.TYPE_WORK -> R.string.work
|
StructuredPostal.TYPE_HOME -> R.string.home
|
||||||
else -> R.string.other
|
StructuredPostal.TYPE_WORK -> R.string.work
|
||||||
})
|
else -> R.string.other
|
||||||
|
}
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -177,16 +187,18 @@ abstract class ContactActivity : SimpleActivity() {
|
|||||||
return if (type == Im.PROTOCOL_CUSTOM) {
|
return if (type == Im.PROTOCOL_CUSTOM) {
|
||||||
label
|
label
|
||||||
} else {
|
} else {
|
||||||
getString(when (type) {
|
getString(
|
||||||
Im.PROTOCOL_AIM -> R.string.aim
|
when (type) {
|
||||||
Im.PROTOCOL_MSN -> R.string.windows_live
|
Im.PROTOCOL_AIM -> R.string.aim
|
||||||
Im.PROTOCOL_YAHOO -> R.string.yahoo
|
Im.PROTOCOL_MSN -> R.string.windows_live
|
||||||
Im.PROTOCOL_SKYPE -> R.string.skype
|
Im.PROTOCOL_YAHOO -> R.string.yahoo
|
||||||
Im.PROTOCOL_QQ -> R.string.qq
|
Im.PROTOCOL_SKYPE -> R.string.skype
|
||||||
Im.PROTOCOL_GOOGLE_TALK -> R.string.hangouts
|
Im.PROTOCOL_QQ -> R.string.qq
|
||||||
Im.PROTOCOL_ICQ -> R.string.icq
|
Im.PROTOCOL_GOOGLE_TALK -> R.string.hangouts
|
||||||
else -> R.string.jabber
|
Im.PROTOCOL_ICQ -> R.string.icq
|
||||||
})
|
else -> R.string.jabber
|
||||||
|
}
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -533,7 +533,9 @@ class EditContactActivity : ContactActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val ringtone = contact!!.ringtone
|
val ringtone = contact!!.ringtone
|
||||||
if (ringtone != null && ringtone.isNotEmpty()) {
|
if (ringtone?.isEmpty() == true) {
|
||||||
|
contact_ringtone.text = getString(R.string.no_sound)
|
||||||
|
} else if (ringtone?.isNotEmpty() == true) {
|
||||||
if (ringtone == SILENT) {
|
if (ringtone == SILENT) {
|
||||||
contact_ringtone.text = getString(R.string.no_sound)
|
contact_ringtone.text = getString(R.string.no_sound)
|
||||||
} else {
|
} else {
|
||||||
@ -1317,8 +1319,8 @@ class EditContactActivity : ContactActivity() {
|
|||||||
contact_ringtone.text = ringtonePath.getFilenameFromPath()
|
contact_ringtone.text = ringtonePath.getFilenameFromPath()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun systemRingtoneSelected(uri: Uri) {
|
override fun systemRingtoneSelected(uri: Uri?) {
|
||||||
contact!!.ringtone = uri.toString()
|
contact!!.ringtone = uri?.toString()
|
||||||
val contactRingtone = RingtoneManager.getRingtone(this, uri)
|
val contactRingtone = RingtoneManager.getRingtone(this, uri)
|
||||||
contact_ringtone.text = contactRingtone.getTitle(this)
|
contact_ringtone.text = contactRingtone.getTitle(this)
|
||||||
}
|
}
|
||||||
|
@ -613,7 +613,9 @@ class ViewContactActivity : ContactActivity() {
|
|||||||
contact_ringtone.beVisible()
|
contact_ringtone.beVisible()
|
||||||
|
|
||||||
val ringtone = contact!!.ringtone
|
val ringtone = contact!!.ringtone
|
||||||
if (ringtone != null && ringtone.isNotEmpty()) {
|
if (ringtone?.isEmpty() == true) {
|
||||||
|
contact_ringtone.text = getString(R.string.no_sound)
|
||||||
|
} else if (ringtone?.isNotEmpty() == true) {
|
||||||
if (ringtone == SILENT) {
|
if (ringtone == SILENT) {
|
||||||
contact_ringtone.text = getString(R.string.no_sound)
|
contact_ringtone.text = getString(R.string.no_sound)
|
||||||
} else {
|
} else {
|
||||||
@ -703,7 +705,7 @@ class ViewContactActivity : ContactActivity() {
|
|||||||
ringtoneUpdated(ringtonePath)
|
ringtoneUpdated(ringtonePath)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun systemRingtoneSelected(uri: Uri) {
|
override fun systemRingtoneSelected(uri: Uri?) {
|
||||||
val contactRingtone = RingtoneManager.getRingtone(this, uri)
|
val contactRingtone = RingtoneManager.getRingtone(this, uri)
|
||||||
contact_ringtone.text = contactRingtone.getTitle(this)
|
contact_ringtone.text = contactRingtone.getTitle(this)
|
||||||
ringtoneUpdated(uri.toString())
|
ringtoneUpdated(uri.toString())
|
||||||
|
@ -1097,7 +1097,7 @@ class ContactsHelper(val context: Context) {
|
|||||||
val uri = Uri.withAppendedPath(Contacts.CONTENT_URI, contact.contactId.toString())
|
val uri = Uri.withAppendedPath(Contacts.CONTENT_URI, contact.contactId.toString())
|
||||||
val contentValues = ContentValues(2)
|
val contentValues = ContentValues(2)
|
||||||
contentValues.put(Contacts.STARRED, contact.starred)
|
contentValues.put(Contacts.STARRED, contact.starred)
|
||||||
contentValues.put(Contacts.CUSTOM_RINGTONE, contact.ringtone)
|
contentValues.put(Contacts.CUSTOM_RINGTONE, contact.ringtone ?: "")
|
||||||
context.contentResolver.update(uri, contentValues, null, null)
|
context.contentResolver.update(uri, contentValues, null, null)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
context.showErrorToast(e)
|
context.showErrorToast(e)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user