Skip to content

Commit

Permalink
Dialer: Fix LetterTileDrawable for all languages
Browse files Browse the repository at this point in the history
* Currently alphabet tile is rendered only for english language.
  However, Google Dialer / Googler Contacts do support rendering
  for all languages. Let's do same here!
* Also, following Google, we do not want to handle numbers.
* Fixes: crdroidandroid/android_packages_apps_Dialer#9

Signed-off-by: Pranav Vashi <[email protected]>
Signed-off-by: strwbrry143 <[email protected]>
Change-Id: I6aaf7a0c1436634a080b338e60ab295cd9b73a59
Signed-off-by: Mohammad Hasan Keramat J <[email protected]>
  • Loading branch information
neobuddy89 authored and SakthivelNadar committed Apr 2, 2023
1 parent e7431f4 commit 7009125
Showing 1 changed file with 2 additions and 5 deletions.
7 changes: 2 additions & 5 deletions java/com/android/dialer/lettertile/LetterTileDrawable.java
Original file line number Diff line number Diff line change
Expand Up @@ -173,10 +173,6 @@ private Drawable getDrawableForContactType(int contactType) {
}
}

private static boolean isEnglishLetter(final char c) {
return ('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z');
}

@Override
public void draw(@NonNull final Canvas canvas) {
final Rect bounds = getBounds();
Expand Down Expand Up @@ -335,7 +331,8 @@ public Character getLetter() {

private LetterTileDrawable setLetterAndColorFromContactDetails(
final String displayName, final String identifier) {
if (!TextUtils.isEmpty(displayName) && isEnglishLetter(displayName.charAt(0))) {
if (displayName != null && !TextUtils.isEmpty(displayName)
&& Character.isLetter(displayName.charAt(0))) {
letter = Character.toUpperCase(displayName.charAt(0));
} else {
letter = null;
Expand Down

0 comments on commit 7009125

Please sign in to comment.