diff options
author | Masanori Ogino <ogino.masanori@sharp.co.jp> | 2012-08-23 14:06:45 +0900 |
---|---|---|
committer | Masanori Ogino <ogino.masanori@sharp.co.jp> | 2012-08-23 14:06:45 +0900 |
commit | 08bab56f687a354a436925ec44567da434c10cbb (patch) | |
tree | a54f103523ddc374bbe248724047f5fb9df030a0 | |
parent | 9f7fa4c4177c405566445760ec7f4c27e812cd7f (diff) | |
download | frameworks_base-08bab56f687a354a436925ec44567da434c10cbb.zip frameworks_base-08bab56f687a354a436925ec44567da434c10cbb.tar.gz frameworks_base-08bab56f687a354a436925ec44567da434c10cbb.tar.bz2 |
fix wrong substring
The tokenOffsets is the offset from trimed contentLine.
But it is used in substring as the offset from un-trimed contentLine.
How to reproduce bug (ICS and before):
1. Add a contact record with name and a phone number (ex. 090-1111-2222)
2. Search by "0" in Contacts app
3. Contacts shows a wrong number something like "0900111102222"
Change-Id: I1e1cb2f3bd135d98e1573a50aa6ddc021af35b9f
-rwxr-xr-x[-rw-r--r--] | core/java/android/provider/ContactsContract.java | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java index 8e123ac..e7b0579 100644..100755 --- a/core/java/android/provider/ContactsContract.java +++ b/core/java/android/provider/ContactsContract.java @@ -8362,7 +8362,7 @@ public final class ContactsContract { // Line contains the query string - now search for it at the start of tokens. List<String> lineTokens = new ArrayList<String>(); List<Integer> tokenOffsets = new ArrayList<Integer>(); - split(contentLine.trim(), lineTokens, tokenOffsets); + split(contentLine, lineTokens, tokenOffsets); // As we find matches against the query, we'll populate this list with the marked // (or unchanged) tokens. |