package Ġcom . f sk . flow bindings . core . text Ċ Ċ import Ġandroid . view . KeyEvent Ċ import Ġandroid . widget . TextView Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . channels . await Close Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . callback Flow ĊĊ Ċ /** Ċ Ġ* ĠCreate Ġa Ġflow Ġfor Ġthe Ġeditor Ġaction Ġevents Ċ Ġ* Ċ Ġ* Ġ@ return Ġa Ġflow Ġfor Ġthe Ġeditor Ġaction Ġevents . Ċ Ġ*/ Ċ @ Experimental Cor outines Api Ċ fun ĠTextView . editor Actions ( callback : Ġ( Int ) Ġ-> ĠBoolean Ġ= Ġ{ Ġtrue Ġ}): ĠFlow < Editor ActionEvent > Ġ= ĊĠĠĠ Ġcallback Flow Ġ{ ĊĠĠĠĠĠĠĠ Ġthis @ editor Actions . setOn Editor ActionListener Ġ{ ĠtextView , Ġi , Ġkey Event Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( callback ( i )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoffer ( Editor ActionEvent ( textView , Ġi , Ġkey Event )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġawait Close Ġ{ Ġthis @ editor Actions . setOn Editor ActionListener ( null ) Ġ} ĊĠĠĠ Ġ} Ċ Ċ /** Ċ Ġ* ĠEvent Ġfor Ġthe Ġeditor Ġaction Ċ Ġ* Ċ Ġ* Ġ@ property ĠtextView Ġthe Ġview Ġthat Ġchanged Ċ Ġ* Ġ@ property Ġaction Ġthe Ġaction Ġperformed Ċ Ġ* Ġ@ property Ġkey Event Ġthe Ġkey Ġevent Ġfor Ġthe Ġaction . Ċ Ġ*/ Ċ data Ġclass ĠEditor ActionEvent ( ĊĠĠĠ Ġval ĠtextView : ĠTextView , ĊĠĠĠ Ġval Ġaction : ĠInt , ĊĠĠĠ Ġval Ġkey Event : ĠKeyEvent Ċ ) Ċ