mirror of
https://github.com/keymanapp/keyman.git
synced 2026-09-14 11:37:43 +00:00
fix(android): fixes inverted selection-range handling
This commit is contained in:
parent
54006efe3f
commit
517d9f3bbf
1 changed files with 5 additions and 5 deletions
|
|
@ -204,13 +204,13 @@ final class KMKeyboard extends WebView {
|
|||
*/
|
||||
|
||||
// Count the number of characters which are surrogate pairs.
|
||||
int pairsAtStart = CharSequenceUtil.countSurrogatePairs(rawText.substring(0, selStart), rawText.length());
|
||||
String selectedText = rawText.substring(selStart, selEnd);
|
||||
int pairsAtStart = CharSequenceUtil.countSurrogatePairs(rawText.substring(0, selMin), rawText.length());
|
||||
String selectedText = rawText.substring(selMin, selMax);
|
||||
int pairsSelected = CharSequenceUtil.countSurrogatePairs(selectedText, selectedText.length());
|
||||
|
||||
selStart -= pairsAtStart;
|
||||
selEnd -= (pairsAtStart + pairsSelected);
|
||||
this.loadJavascript(KMString.format("updateKMSelectionRange(%d,%d)", selStart, selEnd));
|
||||
selMin -= pairsAtStart;
|
||||
selMax -= (pairsAtStart + pairsSelected);
|
||||
this.loadJavascript(KMString.format("updateKMSelectionRange(%d,%d)", selMin, selMax));
|
||||
}
|
||||
result = true;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue