From 8d71635489e52c7995ee377d54c554b1a315d1fd Mon Sep 17 00:00:00 2001 From: Chinmay Dhodapkar Date: Thu, 7 Jul 2022 20:27:17 +0000 Subject: [PATCH] Fix tts span on Editable Make sure we clear any previously set TTS spans before calling ttsSpanAsPhoneNumber. Bug: 237511525 Change-Id: I89a4b190d9b8ebeeb19d0e693d1b1364b1ac9763 Test: on device test of blocked numbers with Talkback enabled --- .../telephony/PhoneNumberFormattingTextWatcher.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/telephony/java/android/telephony/PhoneNumberFormattingTextWatcher.java b/telephony/java/android/telephony/PhoneNumberFormattingTextWatcher.java index 24dfbd028d038..a004cc3a1642b 100644 --- a/telephony/java/android/telephony/PhoneNumberFormattingTextWatcher.java +++ b/telephony/java/android/telephony/PhoneNumberFormattingTextWatcher.java @@ -21,6 +21,7 @@ import android.os.Build; import android.text.Editable; import android.text.Selection; import android.text.TextWatcher; +import android.text.style.TtsSpan; import com.android.i18n.phonenumbers.AsYouTypeFormatter; import com.android.i18n.phonenumbers.PhoneNumberUtil; @@ -119,6 +120,13 @@ public class PhoneNumberFormattingTextWatcher implements TextWatcher { } mSelfChange = false; } + + //remove previous TTS spans + TtsSpan[] ttsSpans = s.getSpans(0, s.length(), TtsSpan.class); + for (TtsSpan ttsSpan : ttsSpans) { + s.removeSpan(ttsSpan); + } + PhoneNumberUtils.ttsSpanAsPhoneNumber(s, 0, s.length()); }