Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9aad5b39 authored by Danny Baumann's avatar Danny Baumann
Browse files

Show formatted number in T9 result list.

Fixes issue CYAN-346

Change-Id: Ic4a30118f4223ccf341e7ead49ccee3aeb585487
parent f5951668
Loading
Loading
Loading
Loading
+21 −5
Original line number Diff line number Diff line
@@ -593,15 +593,31 @@ public class T9SearchCache implements ComponentCallbacks2 {
                }

                SpannableStringBuilder numberBuilder = new SpannableStringBuilder();
                numberBuilder.append(o.normalNumber);
                numberBuilder.append(o.number);
                numberBuilder.append(" (");
                numberBuilder.append(o.groupType);
                numberBuilder.append(")");
                if (o.numberMatchId != -1) {
                    int numberStart = o.numberMatchId;
                    int numberStart = -1, numberEnd = -1;
                    int formattedNumberLength = o.number.length();

                    for (int i = 0, normalIndex = 0; i < formattedNumberLength; i++) {
                        if (o.number.charAt(i) != o.normalNumber.charAt(normalIndex)) {
                            continue;
                        }

                        if (normalIndex == o.numberMatchId) {
                            numberStart = i;
                        } else if (normalIndex == o.numberMatchId + mPrevInput.length()) {
                            numberEnd = i;
                            break;
                        }
                        normalIndex++;
                    }
                    if (numberStart >= 0 && numberEnd >= 0) {
                        numberBuilder.setSpan(new ForegroundColorSpan(mHighlightColor),
                            numberStart, numberStart + mPrevInput.length(),
                            Spannable.SPAN_INCLUSIVE_INCLUSIVE);
                                numberStart, numberEnd, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
                    }
                }

                holder.name.setText(nameBuilder);