LatinIME/java
Ken Wakasa b9ce842142 mExpectingUpdateSelection was out of sync when nothing to delete.
This bug was leading to corrupted rendering of surrogate pairs in the following
scenario.

1. Type some emojis
2. Move the cursor at the beginning of the text field
3. Hit backspace even though there's nothing to delete
4. Move the cursor after some emoji
5. Hit backspace

The root cause of this issue was the out-of-sync mExpectingUpdateSelection if
handleBackspace() gets called when the cursor reaches at the beginning of the
TextView. In such case, mExpectingUpdateSelection shouldn't be set true because
there's nothing to delete, so there will be no onUpdateSelection() calls associated
with it. Due to this bug, the cache in RichInputConnection could get stale at step 4
described above. Then the following handleBackspace() that should delete a surrogate
pair was not working correctly because of the stale cache.

bug: 11181913
Change-Id: I9c6a948331726a821bd3ccec9c1d02dec2c4703a
2013-10-14 17:57:48 +09:00
..
res Import translations. DO NOT MERGE 2013-10-12 09:43:32 -07:00
src/com/android/inputmethod mExpectingUpdateSelection was out of sync when nothing to delete. 2013-10-14 17:57:48 +09:00
Android.mk
AndroidManifest.xml Try decaying user history at hourly intervals. 2013-10-02 18:06:08 +09:00
MODULE_LICENSE_APACHE2
NOTICE Add notice for Lexiteria dictionaries. 2012-10-05 11:08:31 +09:00
proguard.flags Follow-up to I97df1c3d4076fe97657ebc3b086cccd2b97e9a9a 2013-06-26 18:09:34 +09:00