When deleting, make sure we also remove associated extraneous spaces.
A Chip also has trailing spaces. When we delete a chip, make sure
to remove the associated spaces so that everything flows together correctly
and there are no extra spaces.
Change-Id: I87cb3fe0bf6f947549f1da3e617e4c92ed332e28
diff --git a/src/com/android/ex/chips/RecipientEditTextViewInner.java b/src/com/android/ex/chips/RecipientEditTextViewInner.java
index e9a981e..df5023f 100644
--- a/src/com/android/ex/chips/RecipientEditTextViewInner.java
+++ b/src/com/android/ex/chips/RecipientEditTextViewInner.java
@@ -551,11 +551,17 @@
if (this == mSelectedChip) {
mSelectedChip = null;
}
+ Editable text = getText();
+ int toDelete = spanEnd;
+ // Always remove trailing spaces when removing a chip.
+ while (toDelete < text.length() - 1 && text.charAt(toDelete) == ' ') {
+ toDelete++;
+ }
QwertyKeyListener.markAsReplaced(getText(), spanStart, spanEnd, "");
spannable.removeSpan(this);
mRecipients.remove(this);
spannable.setSpan(null, spanStart, spanEnd, 0);
- getText().delete(spanStart, spanEnd);
+ text.delete(spanStart, toDelete);
}
public int getChipStart() {