# {"id":"partitionSourceFiles","fileNameMappings":{"androidx.compose.ui.text.input.CursorAnchorInfoController":"CursorAnchorInfoController.android.kt","androidx.compose.ui.text.input.TextFieldValue":"TextFieldValue.kt","androidx.compose.ui.text.input.FinishComposingTextCommand":"EditCommand.kt","androidx.compose.ui.text.input.ImeAction":"ImeAction.kt","androidx.compose.ui.text.input.TextInputServiceAndroid":"TextInputServiceAndroid.android.kt","kotlin.collections.CollectionsKt___CollectionsKt":"_Collections.kt","androidx.compose.ui.text.AnnotatedString":"AnnotatedString.kt"}}
androidx.compose.ui.text.input.RecordingInputConnection -> e82:
# {"id":"sourceFile","fileName":"RecordingInputConnection.android.kt"}
    androidx.compose.ui.text.input.InputEventCallback2 eventCallback -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lwb1;"}
    boolean autoCorrect -> b
    int batchDepth -> c
    androidx.compose.ui.text.input.TextFieldValue mTextFieldValue -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lby2;"}
    int currentExtractedTextRequestToken -> e
    boolean extractedTextMonitorMode -> f
    java.util.List editCommands -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ljava/util/ArrayList;"}
    boolean isActive -> h
    1:3:void <init>(androidx.compose.ui.text.input.TextFieldValue,androidx.compose.ui.text.input.InputEventCallback2,boolean):44:44 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lby2;Lwb1;Z)V"}
    4:5:void <init>(androidx.compose.ui.text.input.TextFieldValue,androidx.compose.ui.text.input.InputEventCallback2,boolean):50:50 -> <init>
    6:7:void <init>(androidx.compose.ui.text.input.TextFieldValue,androidx.compose.ui.text.input.InputEventCallback2,boolean):51:51 -> <init>
    8:9:void <init>(androidx.compose.ui.text.input.TextFieldValue,androidx.compose.ui.text.input.InputEventCallback2,boolean):58:58 -> <init>
    10:17:void <init>(androidx.compose.ui.text.input.TextFieldValue,androidx.compose.ui.text.input.InputEventCallback2,boolean):82:82 -> <init>
    18:20:void <init>(androidx.compose.ui.text.input.TextFieldValue,androidx.compose.ui.text.input.InputEventCallback2,boolean):84:84 -> <init>
    1:6:boolean beginBatchEditInternal():159:159 -> a
    1:6:void addEditCommandWithBatch(androidx.compose.ui.text.input.EditCommand):139 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lxj0;)V"}
    7:11:void addEditCommandWithBatch(androidx.compose.ui.text.input.EditCommand):141:141 -> a
    12:20:void addEditCommandWithBatch(androidx.compose.ui.text.input.EditCommand):143:143 -> a
    1:8:boolean endBatchEditInternal():171:171 -> b
    9:16:boolean endBatchEditInternal():172:172 -> b
    17:21:java.util.List kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.util.Collection):1366:1366 -> b
    17:21:boolean endBatchEditInternal():173 -> b
    22:27:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onEditCommands(java.util.List):145:145 -> b
    22:27:boolean endBatchEditInternal():173 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    28:29:kotlin.jvm.functions.Function1 androidx.compose.ui.text.input.TextInputServiceAndroid.access$getOnEditCommand$p(androidx.compose.ui.text.input.TextInputServiceAndroid):54:54 -> b
    28:29:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onEditCommands(java.util.List):145 -> b
    28:29:boolean endBatchEditInternal():173 -> b
    30:32:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onEditCommands(java.util.List):145:145 -> b
    30:32:boolean endBatchEditInternal():173 -> b
    33:35:boolean endBatchEditInternal():174:174 -> b
    36:43:boolean endBatchEditInternal():176:176 -> b
    1:4:boolean beginBatchEdit():516:516 -> beginBatchEdit
    5:12:boolean beginBatchEditInternal():159:159 -> beginBatchEdit
    5:12:boolean beginBatchEdit():155 -> beginBatchEdit
    1:9:void sendSynthesizedKeyEvent(int):405:405 -> c
    10:19:void sendSynthesizedKeyEvent(int):406:406 -> c
    1:6:boolean clearMetaKeyStates(int):586:586 -> clearMetaKeyStates
    1:6:void closeConnection():183:183 -> closeConnection
    7:8:void closeConnection():184:184 -> closeConnection
    9:10:void closeConnection():185:185 -> closeConnection
    11:12:void closeConnection():186:186 -> closeConnection
    13:16:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onConnectionClosed(androidx.compose.ui.text.input.RecordingInputConnection):175:175 -> closeConnection
    13:16:void closeConnection():186 -> closeConnection
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:18:java.util.List androidx.compose.ui.text.input.TextInputServiceAndroid.access$getIcs$p(androidx.compose.ui.text.input.TextInputServiceAndroid):54:54 -> closeConnection
    17:18:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onConnectionClosed(androidx.compose.ui.text.input.RecordingInputConnection):175 -> closeConnection
    17:18:void closeConnection():186 -> closeConnection
    19:24:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onConnectionClosed(androidx.compose.ui.text.input.RecordingInputConnection):175:175 -> closeConnection
    19:24:void closeConnection():186 -> closeConnection
    25:40:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onConnectionClosed(androidx.compose.ui.text.input.RecordingInputConnection):176:176 -> closeConnection
    25:40:void closeConnection():186 -> closeConnection
    41:48:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onConnectionClosed(androidx.compose.ui.text.input.RecordingInputConnection):177:177 -> closeConnection
    41:48:void closeConnection():186 -> closeConnection
    1:6:boolean commitCompletion(android.view.inputmethod.CompletionInfo):576:576 -> commitCompletion
    1:6:boolean commitContent(android.view.inputmethod.InputContentInfo,int,android.os.Bundle):596:596 -> commitContent
    1:4:boolean commitCorrection(android.view.inputmethod.CorrectionInfo):581:581 -> commitCorrection
    5:8:boolean commitCorrection(android.view.inputmethod.CorrectionInfo):454:454 -> commitCorrection
    1:4:boolean commitText(java.lang.CharSequence,int):521:521 -> commitText
    5:17:boolean commitText(java.lang.CharSequence,int):197:197 -> commitText
    1:4:boolean deleteSurroundingText(int,int):541:541 -> deleteSurroundingText
    5:15:boolean deleteSurroundingText(int,int):231:231 -> deleteSurroundingText
    1:4:boolean deleteSurroundingTextInCodePoints(int,int):536:536 -> deleteSurroundingTextInCodePoints
    5:9:boolean deleteSurroundingTextInCodePoints(int,int):221:221 -> deleteSurroundingTextInCodePoints
    10:15:boolean deleteSurroundingTextInCodePoints(int,int):220:220 -> deleteSurroundingTextInCodePoints
    1:5:boolean endBatchEdit():167:167 -> endBatchEdit
    1:4:boolean finishComposingText():551:551 -> finishComposingText
    5:6:boolean finishComposingText():247:247 -> finishComposingText
    7:9:void androidx.compose.ui.text.input.FinishComposingTextCommand.<init>():430:430 -> finishComposingText
    7:9:boolean finishComposingText():247 -> finishComposingText
    10:15:boolean finishComposingText():247:247 -> finishComposingText
    1:2:int getCursorCapsMode(int):488:488 -> getCursorCapsMode
    3:4:java.lang.String androidx.compose.ui.text.input.TextFieldValue.getText():82:82 -> getCursorCapsMode
    3:4:int getCursorCapsMode(int):488 -> getCursorCapsMode
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:6:java.lang.String androidx.compose.ui.text.AnnotatedString.getText():50:50 -> getCursorCapsMode
    5:6:java.lang.String androidx.compose.ui.text.input.TextFieldValue.getText():82 -> getCursorCapsMode
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:6:int getCursorCapsMode(int):488 -> getCursorCapsMode
    7:8:long androidx.compose.ui.text.input.TextFieldValue.getSelection-d9O1mEE():88:88 -> getCursorCapsMode
    7:8:int getCursorCapsMode(int):488 -> getCursorCapsMode
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:17:int getCursorCapsMode(int):488:488 -> getCursorCapsMode
    8:13:android.view.inputmethod.ExtractedText getExtractedText(android.view.inputmethod.ExtractedTextRequest,int):354:354 -> getExtractedText
    14:17:android.view.inputmethod.ExtractedText getExtractedText(android.view.inputmethod.ExtractedTextRequest,int):356:356 -> getExtractedText
    18:24:android.view.inputmethod.ExtractedText getExtractedText(android.view.inputmethod.ExtractedTextRequest,int):359:359 -> getExtractedText
    1:2:android.os.Handler getHandler():461:461 -> getHandler
    1:2:java.lang.CharSequence getSelectedText(int):284:284 -> getSelectedText
    3:4:long androidx.compose.ui.text.input.TextFieldValue.getSelection-d9O1mEE():88:88 -> getSelectedText
    3:4:java.lang.CharSequence getSelectedText(int):284 -> getSelectedText
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:12:java.lang.CharSequence getSelectedText(int):284:284 -> getSelectedText
    13:18:java.lang.CharSequence getSelectedText(int):288:288 -> getSelectedText
    19:21:java.lang.String androidx.compose.ui.text.AnnotatedString.toString():327:327 -> getSelectedText
    19:21:java.lang.CharSequence getSelectedText(int):288 -> getSelectedText
    1:6:java.lang.CharSequence getTextAfterCursor(int,int):274:274 -> getTextAfterCursor
    7:9:java.lang.String androidx.compose.ui.text.AnnotatedString.toString():327:327 -> getTextAfterCursor
    7:9:java.lang.CharSequence getTextAfterCursor(int,int):274 -> getTextAfterCursor
    1:6:java.lang.CharSequence getTextBeforeCursor(int,int):265:265 -> getTextBeforeCursor
    7:9:java.lang.String androidx.compose.ui.text.AnnotatedString.toString():327:327 -> getTextBeforeCursor
    7:9:java.lang.CharSequence getTextBeforeCursor(int,int):265 -> getTextBeforeCursor
    1:11:boolean performContextMenuAction(int):566:566 -> performContextMenuAction
    12:17:boolean performContextMenuAction(int):392:392 -> performContextMenuAction
    18:23:boolean performContextMenuAction(int):391:391 -> performContextMenuAction
    24:27:boolean performContextMenuAction(int):390:390 -> performContextMenuAction
    28:31:boolean performContextMenuAction(int):387:387 -> performContextMenuAction
    32:33:java.lang.String androidx.compose.ui.text.input.TextFieldValue.getText():82:82 -> performContextMenuAction
    32:33:boolean performContextMenuAction(int):387 -> performContextMenuAction
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:35:java.lang.String androidx.compose.ui.text.AnnotatedString.getText():50:50 -> performContextMenuAction
    34:35:java.lang.String androidx.compose.ui.text.input.TextFieldValue.getText():82 -> performContextMenuAction
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:35:boolean performContextMenuAction(int):387 -> performContextMenuAction
    36:46:boolean performContextMenuAction(int):387:387 -> performContextMenuAction
    1:10:boolean performEditorAction(int):571:571 -> performEditorAction
    11:42:boolean performEditorAction(int):423:423 -> performEditorAction
    43:44:boolean performEditorAction(int):427:427 -> performEditorAction
    45:48:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onImeAction-KlQnJC8(int):149:149 -> performEditorAction
    45:48:boolean performEditorAction(int):427 -> performEditorAction
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    49:50:kotlin.jvm.functions.Function1 androidx.compose.ui.text.input.TextInputServiceAndroid.access$getOnImeActionPerformed$p(androidx.compose.ui.text.input.TextInputServiceAndroid):54:54 -> performEditorAction
    49:50:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onImeAction-KlQnJC8(int):149 -> performEditorAction
    49:50:boolean performEditorAction(int):427 -> performEditorAction
    51:55:androidx.compose.ui.text.input.ImeAction androidx.compose.ui.text.input.ImeAction.box-impl(int):0:0 -> performEditorAction
    51:55:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onImeAction-KlQnJC8(int):149 -> performEditorAction
    51:55:boolean performEditorAction(int):427 -> performEditorAction
    56:60:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onImeAction-KlQnJC8(int):149:149 -> performEditorAction
    56:60:boolean performEditorAction(int):427 -> performEditorAction
    1:6:boolean performPrivateCommand(java.lang.String,android.os.Bundle):591:591 -> performPrivateCommand
    1:2:boolean reportFullscreenMode(boolean):481:481 -> reportFullscreenMode
    1:20:boolean requestCursorUpdates(int):561:561 -> requestCursorUpdates
    21:80:boolean requestCursorUpdates(int):311:311 -> requestCursorUpdates
    81:82:boolean requestCursorUpdates(int):339:339 -> requestCursorUpdates
    83:86:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onRequestCursorAnchorInfo(boolean,boolean,boolean,boolean,boolean,boolean):164:164 -> requestCursorUpdates
    83:86:boolean requestCursorUpdates(int):339 -> requestCursorUpdates
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    87:88:androidx.compose.ui.text.input.CursorAnchorInfoController androidx.compose.ui.text.input.TextInputServiceAndroid.access$getCursorAnchorInfoController$p(androidx.compose.ui.text.input.TextInputServiceAndroid):54:54 -> requestCursorUpdates
    87:88:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onRequestCursorAnchorInfo(boolean,boolean,boolean,boolean,boolean,boolean):164 -> requestCursorUpdates
    87:88:boolean requestCursorUpdates(int):339 -> requestCursorUpdates
    89:90:void androidx.compose.ui.text.input.CursorAnchorInfoController.requestUpdate(boolean,boolean,boolean,boolean,boolean,boolean):80:80 -> requestCursorUpdates
    89:90:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onRequestCursorAnchorInfo(boolean,boolean,boolean,boolean,boolean,boolean):164 -> requestCursorUpdates
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    89:90:boolean requestCursorUpdates(int):339 -> requestCursorUpdates
    91:92:void androidx.compose.ui.text.input.CursorAnchorInfoController.requestUpdate(boolean,boolean,boolean,boolean,boolean,boolean):80:81 -> requestCursorUpdates
    91:92:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onRequestCursorAnchorInfo(boolean,boolean,boolean,boolean,boolean,boolean):164 -> requestCursorUpdates
    91:92:boolean requestCursorUpdates(int):339 -> requestCursorUpdates
    93:94:void androidx.compose.ui.text.input.CursorAnchorInfoController.requestUpdate(boolean,boolean,boolean,boolean,boolean,boolean):81:82 -> requestCursorUpdates
    93:94:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onRequestCursorAnchorInfo(boolean,boolean,boolean,boolean,boolean,boolean):164 -> requestCursorUpdates
    93:94:boolean requestCursorUpdates(int):339 -> requestCursorUpdates
    95:96:void androidx.compose.ui.text.input.CursorAnchorInfoController.requestUpdate(boolean,boolean,boolean,boolean,boolean,boolean):82:83 -> requestCursorUpdates
    95:96:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onRequestCursorAnchorInfo(boolean,boolean,boolean,boolean,boolean,boolean):164 -> requestCursorUpdates
    95:96:boolean requestCursorUpdates(int):339 -> requestCursorUpdates
    97:98:void androidx.compose.ui.text.input.CursorAnchorInfoController.requestUpdate(boolean,boolean,boolean,boolean,boolean,boolean):83:84 -> requestCursorUpdates
    97:98:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onRequestCursorAnchorInfo(boolean,boolean,boolean,boolean,boolean,boolean):164 -> requestCursorUpdates
    97:98:boolean requestCursorUpdates(int):339 -> requestCursorUpdates
    99:101:void androidx.compose.ui.text.input.CursorAnchorInfoController.requestUpdate(boolean,boolean,boolean,boolean,boolean,boolean):84:84 -> requestCursorUpdates
    99:101:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onRequestCursorAnchorInfo(boolean,boolean,boolean,boolean,boolean,boolean):164 -> requestCursorUpdates
    99:101:boolean requestCursorUpdates(int):339 -> requestCursorUpdates
    102:103:void androidx.compose.ui.text.input.CursorAnchorInfoController.requestUpdate(boolean,boolean,boolean,boolean,boolean,boolean):87:87 -> requestCursorUpdates
    102:103:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onRequestCursorAnchorInfo(boolean,boolean,boolean,boolean,boolean,boolean):164 -> requestCursorUpdates
    102:103:boolean requestCursorUpdates(int):339 -> requestCursorUpdates
    104:107:void androidx.compose.ui.text.input.CursorAnchorInfoController.requestUpdate(boolean,boolean,boolean,boolean,boolean,boolean):88:88 -> requestCursorUpdates
    104:107:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onRequestCursorAnchorInfo(boolean,boolean,boolean,boolean,boolean,boolean):164 -> requestCursorUpdates
    104:107:boolean requestCursorUpdates(int):339 -> requestCursorUpdates
    108:113:void androidx.compose.ui.text.input.CursorAnchorInfoController.requestUpdate(boolean,boolean,boolean,boolean,boolean,boolean):89:89 -> requestCursorUpdates
    108:113:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onRequestCursorAnchorInfo(boolean,boolean,boolean,boolean,boolean,boolean):164 -> requestCursorUpdates
    108:113:boolean requestCursorUpdates(int):339 -> requestCursorUpdates
    114:115:void androidx.compose.ui.text.input.CursorAnchorInfoController.requestUpdate(boolean,boolean,boolean,boolean,boolean,boolean):92:92 -> requestCursorUpdates
    114:115:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onRequestCursorAnchorInfo(boolean,boolean,boolean,boolean,boolean,boolean):164 -> requestCursorUpdates
    114:115:boolean requestCursorUpdates(int):339 -> requestCursorUpdates
    116:120:void androidx.compose.ui.text.input.CursorAnchorInfoController.requestUpdate(boolean,boolean,boolean,boolean,boolean,boolean):80:80 -> requestCursorUpdates
    116:120:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onRequestCursorAnchorInfo(boolean,boolean,boolean,boolean,boolean,boolean):164 -> requestCursorUpdates
    116:120:boolean requestCursorUpdates(int):339 -> requestCursorUpdates
    1:4:boolean sendKeyEvent(android.view.KeyEvent):556:556 -> sendKeyEvent
    5:6:boolean sendKeyEvent(android.view.KeyEvent):255:255 -> sendKeyEvent
    7:10:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onKeyEvent(android.view.KeyEvent):153:153 -> sendKeyEvent
    7:10:boolean sendKeyEvent(android.view.KeyEvent):255 -> sendKeyEvent
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:12:android.view.inputmethod.BaseInputConnection androidx.compose.ui.text.input.TextInputServiceAndroid.getBaseInputConnection():103:103 -> sendKeyEvent
    11:12:android.view.inputmethod.BaseInputConnection androidx.compose.ui.text.input.TextInputServiceAndroid.access$getBaseInputConnection(androidx.compose.ui.text.input.TextInputServiceAndroid):54 -> sendKeyEvent
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:12:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onKeyEvent(android.view.KeyEvent):153 -> sendKeyEvent
    11:12:boolean sendKeyEvent(android.view.KeyEvent):255 -> sendKeyEvent
    13:18:android.view.inputmethod.BaseInputConnection androidx.compose.ui.text.input.TextInputServiceAndroid.getBaseInputConnection():103:103 -> sendKeyEvent
    13:18:android.view.inputmethod.BaseInputConnection androidx.compose.ui.text.input.TextInputServiceAndroid.access$getBaseInputConnection(androidx.compose.ui.text.input.TextInputServiceAndroid):54 -> sendKeyEvent
    13:18:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onKeyEvent(android.view.KeyEvent):153 -> sendKeyEvent
    13:18:boolean sendKeyEvent(android.view.KeyEvent):255 -> sendKeyEvent
    19:24:void androidx.compose.ui.text.input.TextInputServiceAndroid$createInputConnection$1.onKeyEvent(android.view.KeyEvent):153:153 -> sendKeyEvent
    19:24:boolean sendKeyEvent(android.view.KeyEvent):255 -> sendKeyEvent
    1:4:boolean setComposingRegion(int,int):526:526 -> setComposingRegion
    5:13:boolean setComposingRegion(int,int):204:204 -> setComposingRegion
    1:4:boolean setComposingText(java.lang.CharSequence,int):531:531 -> setComposingText
    5:17:boolean setComposingText(java.lang.CharSequence,int):212:212 -> setComposingText
    1:4:boolean setSelection(int,int):546:546 -> setSelection
    5:15:boolean setSelection(int,int):239:239 -> setSelection
