Add text-to-speech annotations to emergency dialer edit field

Bug: 18659148
Change-Id: Idbb85f0bdc5af6081ded2a5e7268f3a9e657912f
diff --git a/src/com/android/phone/EmergencyDialer.java b/src/com/android/phone/EmergencyDialer.java
index 106484b..424ddde 100644
--- a/src/com/android/phone/EmergencyDialer.java
+++ b/src/com/android/phone/EmergencyDialer.java
@@ -36,6 +36,7 @@
 import android.text.TextUtils;
 import android.text.TextWatcher;
 import android.text.method.DialerKeyListener;
+import android.text.style.TtsSpan;
 import android.util.Log;
 import android.view.KeyEvent;
 import android.view.MenuItem;
@@ -154,6 +155,7 @@
         }
 
         updateDialAndDeleteButtonStateEnabledAttr();
+        updateTtsSpans();
     }
 
     @Override
@@ -632,4 +634,14 @@
             mDigits.getText().delete(currentPosition - 1, currentPosition);
         }
     }
+
+    /**
+     * Update the text-to-speech annotations in the edit field.
+     */
+    private void updateTtsSpans() {
+        for (Object o : mDigits.getText().getSpans(0, mDigits.getText().length(), TtsSpan.class)) {
+            mDigits.getText().removeSpan(o);
+        }
+        PhoneNumberUtils.ttsSpanAsPhoneNumber(mDigits.getText(), 0, mDigits.getText().length());
+    }
 }