fix #537, properly handle non UTF characters at letters scrollbar

This commit is contained in:
tibbi 2020-04-28 09:55:49 +02:00
parent bee5d768b9
commit 9df550a8aa

View File

@ -110,8 +110,8 @@ abstract class MyViewPagerFragment(context: Context, attributeSet: AttributeSet)
fun refreshContacts(contacts: ArrayList<Contact>) { fun refreshContacts(contacts: ArrayList<Contact>) {
if ((config.showTabs and CONTACTS_TAB_MASK == 0 && this is ContactsFragment && activity !is InsertOrEditContactActivity) || if ((config.showTabs and CONTACTS_TAB_MASK == 0 && this is ContactsFragment && activity !is InsertOrEditContactActivity) ||
(config.showTabs and FAVORITES_TAB_MASK == 0 && this is FavoritesFragment) || (config.showTabs and FAVORITES_TAB_MASK == 0 && this is FavoritesFragment) ||
(config.showTabs and GROUPS_TAB_MASK == 0 && this is GroupsFragment)) { (config.showTabs and GROUPS_TAB_MASK == 0 && this is GroupsFragment)) {
return return
} }
@ -261,11 +261,7 @@ abstract class MyViewPagerFragment(context: Context, attributeSet: AttributeSet)
name = contact.getNameToDisplay() name = contact.getNameToDisplay()
} }
var character = if (name.isNotEmpty()) name.substring(0, 1) else "" val character = if (name.isNotEmpty()) name.substring(0, 1) else ""
if (!character.areLettersOnly()) {
character = "#"
}
FastScrollItemIndicator.Text(character.toUpperCase(Locale.getDefault())) FastScrollItemIndicator.Text(character.toUpperCase(Locale.getDefault()))
} catch (e: Exception) { } catch (e: Exception) {
FastScrollItemIndicator.Text("") FastScrollItemIndicator.Text("")