diff options
author | Dmitri Plotnikov <dplotnikov@google.com> | 2010-03-03 14:48:34 -0800 |
---|---|---|
committer | Dmitri Plotnikov <dplotnikov@google.com> | 2010-03-03 14:48:34 -0800 |
commit | 4b2aeb8073512909db336dd297563f6d07df7537 (patch) | |
tree | a2bc9b0683cee5a1e9a0f2d0ca5ccbf84da904c2 /android/sqlite3_android.cpp | |
parent | 3a74962298118ee138e290c3458bccb895854b47 (diff) |
Implementing traditional grouping of Hiragana characters in contacts lists
Bug: 2407129
Change-Id: I8d83f9012846f61484b76f718e8127090eba39ec
Diffstat (limited to 'android/sqlite3_android.cpp')
-rw-r--r-- | android/sqlite3_android.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/android/sqlite3_android.cpp b/android/sqlite3_android.cpp index 6b253c1..cdcc97b 100644 --- a/android/sqlite3_android.cpp +++ b/android/sqlite3_android.cpp @@ -95,17 +95,25 @@ static void get_phonebook_index( UCharIterator iter; uiter_setUTF8(&iter, src, -1); - UChar index = android::GetPhonebookIndex(&iter, locale); - if (index == 0) { + UBool isError = FALSE; + UChar index[SMALL_BUFFER_SIZE]; + uint32_t len = android::GetPhonebookIndex(&iter, locale, index, sizeof(index), &isError); + if (isError) { sqlite3_result_null(context); return; } uint32_t outlen = 0; uint8_t out[SMALL_BUFFER_SIZE]; - UBool isError = FALSE; - U8_APPEND(out, outlen, SMALL_BUFFER_SIZE * sizeof(uint8_t), index, isError); - if (isError || outlen == 0) { + for (uint32_t i = 0; i < len; i++) { + U8_APPEND(out, outlen, sizeof(out), index[i], isError); + if (isError) { + sqlite3_result_null(context); + return; + } + } + + if (outlen == 0) { sqlite3_result_null(context); return; } |