- Allow changing of contact name also when only case of letters differ.

- When restoring contacts, do not require that URI is surrounded by
  angle brackets.
This commit is contained in:
Juha Heinanen
2019-06-06 17:18:14 +03:00
parent 091eaed747
commit a1038c6908
2 changed files with 12 additions and 5 deletions

View File

@ -62,8 +62,13 @@ class ContactActivity : AppCompatActivity() {
String.format(getString(R.string.invalid_contact), newName))
return false
}
if ((new || (Contact.contacts()[index].name != newName)) &&
ContactsActivity.nameExists(newName)) {
var alert = false
if (new)
alert = ContactsActivity.nameExists(newName, true)
else
alert = (Contact.contacts()[index].name != newName) &&
ContactsActivity.nameExists(newName, false)
if (alert) {
Utils.alertView(this, getString(R.string.error),
String.format(getString(R.string.contact_already_exists), newName))
return false

View File

@ -109,7 +109,9 @@ class ContactsActivity : AppCompatActivity() {
val parts = it.split("\"")
if (parts.size == 3) {
val name = parts[1]
val uri = parts[2].trim().substringAfter("<").substringBefore(">")
var uri = parts[2].trim()
if (uri.startsWith("<"))
uri = uri.substringAfter("<").substringBefore(">")
// Currently no need to make baresip aware of the contact
// Api.contact_add("\"$name\" $uri")
Contact.contacts().add(Contact(name, uri))
@ -127,9 +129,9 @@ class ContactsActivity : AppCompatActivity() {
return name
}
fun nameExists(name: String): Boolean {
fun nameExists(name: String, ignoreCase: Boolean): Boolean {
for (c in Contact.contacts())
if (c.name.equals(name, ignoreCase = true)) return true
if (c.name.equals(name, ignoreCase = ignoreCase)) return true
return false
}