JsonUtils knows how to output MotionEvents into json; that mechanism
should be reused for SuddenJumpingTouchEventHandler.
Change-Id: Id4c36c05533a3a329bf43ba33d57c0830dc4d196
With this change, the phone keyboard layout use quite similar one of
the oridinal PC. The differences from the ordinal PC keyboard layout
are:
- Add letter JEH between letter TAH and ZAIN at 3rd row.
- Move letter TCHEN from the most left of 1st row to the most left of
3rd row.
The tablet keyboard layout is the same of of the phone except:
- Add letter ALEF with MADDA above between letter WAW and letter TCHEN
at 3rd row.
This change also moves the delete key and the enter key on tablet to
1st and 2nd row respectively.
Bug: 9371393
Change-Id: I964589055eb15549fe20e5ec45e02f7dc6b5686e
With this change, the tablet keyboard layout both 7inch and 10inch use
quite similar one of the ordinal PC. The differences from the ordinal
PC keyboard layout are:
- Move letter THAL from the most left of digits' row to the most left
of 3rd row.
- Move letter DAL from the most right of 1st row to the most right of
3rd row.
- Omit ligature LAM with ALEF from 3rd row and move to more keys of
letter LAM on 2nd row.
The phone keyboard layout is the same one of the tablet except:
- Omit letter YEH with HAMZA avobe from 3rd row and move to more keys
of letter ALEF MAKSURA on 3rd row.
Bug: 9371393
Change-Id: I1cd164ce7c1c3a5cae67b9985f1b167aef028ca0
This change also eliminates a reference of
AudioAndHapticFeedbackManager from KeyboardSwitcher and MainKeyboard.
Bug: 6522943
Change-Id: Iac42ec8ff00c66deb76a660ffc07477923a58959
This patch does two things:
- If there is no URL to download new data from, then the
Refresh button is not shown.
- Even if for some reason refresh starts for a client for
which there is no URL, loading correctly finishes.
Bug: 9388602
Change-Id: I3fd9214da50faa4b59d0bd3e775293dd34f07547
This is much better interface-wise. It eliminates all blinking
of the line in the practice.
Bug: 8874148
Bug: 8864306
Change-Id: I87754e44784327c2e9c8b162d598d145e20668e8
There is no reason not to contact the dictionary provider
when we don't have internet permission or when the URL
is empty. It knows how to handle both these cases.
Bug: 9388602
Change-Id: I30c4540551ad2f5e527d3acd1842bbd749feca89
This change records the number of words entered in every LogUnit.
This metric is helpful for determining how much multi-word gestures
and spaceless tapping is used.
Change-Id: I4c6d0f9d78e4ac2dd63fd53ed2ec70b368366f15
I548d899b introduced a new method to fix a sync miss between
the cursor position and the cached cursor position, but did not
take into account that it should also update the cached text
before and after the cursor in this case and that there was
already a method for doing this.
Change-Id: I31bd741893207c822827304e77791b1159774e1a
When there is only one suggestion, this code does
not work. The reason for that is, it's not homogeneous
at all and takes indices of one thing into another.
Not completely related to b/8839763, but realized
working on this and needed to have it addressed.
Bug: 8839763
Change-Id: I422730cc7eebb69ff421a171025af0390ebcdf92
in the hope of avoiding UnsatisfiedLinkError. This is definitely not a
confident fix as we still don't know the root cause of the issue.
bug: 9325110
Change-Id: I1abf8031b98509f63fce6a2d069d497895ea712c
SpannableStrings are not the only type of Spanned, they are
only the mutable kind. SpannedString is the immutable one.
Spanned is the correct class to use there.
Bug: 8839763
Bug: 8862327
Change-Id: Ic5e6199a51f22368914f2748ac2d0d1ca6a33f78
This changes how the Range class stores its data, but not its
functionality. It also improves encapsulation a bit.
Bug: 8839763
Bug: 8862327
Change-Id: I5bd583b3fc96a99b93a2632882d8fd587c03ab76
The documentation for setComposingRegion states explicitly
that it does not move the cursor. This is just a bug.
This does not have any ill effects right now, but it will have
in later changes if not fixed.
As for the selection handling, the specific test that this code
removes used to serve a purpose, but it does not any more because
the code using the value has been much sanitized. Now the variable
can just take the obvious value, and become so self-explanatory
that the comments are unnecessary.
Change-Id: I548d899b38776bd3ab5f5361aab0d89d98f12e73
This cuts the time spent in computeNearestNeigbors by
a factor of 6 to 20, with an average at about 8.
This method representing about 25% of the total time
spent when switching keyboards, this change is a
20% improvement in layout switching time.
Bug: 8689779
Change-Id: Icb465f6010b317c7156057891c3341e51a198688
As a preparation to show "system default" in the settings. LatinIME
can't know the actual system default value.
Bug: 9468462
Change-Id: I0b7898d1ca29ded7a619dd636d2ad16eb0db292e
This will spare a lot of IPC for Latin IME at the cost of very little
retained memory.
This improves the loading by potentially a lot - between 15 and 30%
when the layout is cached (which should now be the case almost every
time), and half that if it's not. More importantly, it makes the
load time less sensitive to high device load, which is one of the
sore points.
Bug: 8689779
Change-Id: I2e07736f1a92c38eed0e203bc690761a181da8b9
If the logger feedback screen is up and the user hits the home button or the
keyboard otherwise closes, the system won't let the user enter feedback again,
because it is waiting for the user to finish the first one.
With this change, the state associated with the feedback screen is
cleared when the user closes the keyboard.
b/9398772
Change-Id: I832a82793ad42e31b6b3fdb04fabcea75facde7d