The only use of mDeleteCount is to implement delete
acceleration. It's reset at each non-delete code point, and
is guarded by a timer.
Plus, ultimately we want to remove this completely :
acceleration should be implemented by actually deleting
stuff faster, not by deleting several code points at a time.
Change-Id: Ia3144860b3aa2499034f2a2a7c81f32087af9598
We don't support LOG_FULL_TEXTVIEW_CONTENTS any more, nor do
we have any plans to support it again in the future.
This also is a prelude to removing mIsExpectingUpdateSelection.
Bug: 11226045
Change-Id: Ib68c6daf52993b87225a7ea9e71a414caaecfdb7
cherripick of I9c6a948331726a821bd3ccec9c1d02dec2c4703a
(forward cherrypicking this because the automerger is stuck now.)
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: I1cbf444d8d105416e7de75c16d80b3797f470495
The available space was not computed correctly. This makes the
decision to ellipsize/expand the middle suggestion correct.
Also, the scale was not applied correctly in some cases.
Finally, for some reason ellipsize does not work as we expect.
I'm not sure how to get it to work like we want it to, but
this works around the problem in a simple manner.
Bug: 11158757
Change-Id: I083e7ac56e157f100923733e67b92a6368a526c9
In new format, each bigram entry has flags (1 byte), a terminal id (3 byte),
a time-stamp (4 byte), a counter (1 byte) and a level (1 byte).
Bug: 10920255
Bug: 10920165
Change-Id: I0f7fc125a6178e6d25a07e8462afc41a7f57e3e1
This reverts commit 56402cf10a.
I'll submit this on 10/16 after the final cut for Bayo.
Change-Id: I0fe4ab64fd8dfa1e63e29adf00388743fca6a1ed
bug: 11144401
This reverts commit 220ce8f269.
Sorry, but we are now in the week before the final cut for the next launch. We shouldn't be taking new features like this at this point. Let me revert this change for now. I'll re-revert this after the cut next week.
Change-Id: Ia8b00680c992ec526e6a858945f2380cbcdfdd55
There used to be two "Swiss" keyboard layouts, labelled fr_CH and de_QY,
available in LatinIME. They were, however, not actually Swiss layouts
but instead work-arounds to be able to get French or German with qwertz
or qwerty (instead of azerty and qwertz) layouts, respectively. These
were thus removed by commit f6972561fc
replacing them with the generic fr-qwertz and de-qwerty layouts instead.
Here, now, is a proper Swiss keyboard layout, following Swiss standards
for people accustomed to typing on Swiss keyboards, with the expected
tailorings for French and German.
Change-Id: I9feed752053ecc694c84db713284f69bc1daf155
This is not useful because we're going to call setSelection again
with different values on the connection right away.
Also a preliminary change for
Bug: 10792236
Change-Id: I46c6ef1fbb3624086099bf81afddb0ef5ae85661
This adds all those popup keys that were included in commit
b1cb13292f when the Swedish keyboard was
first added. Many of these definitions were later removed by commit
79b965e04f but most likely by mistake, as
that commit log message doesn't mention anything about removing these.
To help making this file more maintainable, this commit also moves a few
definitions around so that all definitions now appear in alphabetical
order.
Change-Id: Iadef9e3dd1dc7b39fe87b2fc75210d0697b24361
We want to use StringUtils here, but it's full of references to
stuff not accessible host-side like JsonReader and TextUtils
and SettingsValues :/
Bug: 11061476
Change-Id: I3c0194979833ede283b4f9190335dba5376fe6fc
Since loadKeyboard relies on the input connection being
available to give it the auto-caps state, but also can't
be called twice in a row because it needs to save and
restore its state and invalidates it after the restore,
we need to wait until we know we have a valid input
connection to call it.
Bug: 11107229
Change-Id: I1c7baf3215682df6f6ceb357bd37254f9e7418c7
- GC gets failure when the dictionary become empty.
- Useless unigrams are sometimes not removed.
Bug: 10197478
Change-Id: I8d1479c01efba61a81f03bc077da6bcb4797a940
This is not the right way to do it, but it's simple and will kill the
regression. We should investigate why the return values are
wrong in this case.
Bug: 10780091
Change-Id: I808727242c9cb1598df00a7426358dc3a658add4
This also includes a fix that allows this code to read surrogate
pairs in this processing.
Bug: 11070482
Change-Id: If5ef8d6863938252f09128b7e99ea07ece6e7019