package Ġcom . example . sz yf ry 0 Ċ Ċ import Ġandroid . content . Clip Data Ċ import Ġandroid . content . Clipboard Manager Ċ import Ġandroid . content . Context Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . preference . Preference Manager Ċ import Ġkotlinx . android . synt hetic . main . activity _ d _ m orse .* Ċ Ċ class ĠDM orse Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġint xt Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġcopy Unicode Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġfun Ġupdate M orse () Ġ{ ĊĠĠĠĠĠĠĠ Ġin Text D . setText ( int xt . replace (".", Ġ"\ u 2 0 2 2 "). replace ("- ", Ġ"\ u 2 2 1 2 ")) ĊĠĠĠĠĠĠĠ Ġout Text D . setText ( M orse . decode ( int xt )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ d _ m orse ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpreferences Ġ= ĠPreference Manager . getDefault SharedPreferences ( this ) ĊĠĠĠĠĠĠĠ Ġcopy Unicode Ġ= Ġpreferences . getBoolean (" m orse _ copy _ unicode ", Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġint xt Ġ= ĠsavedInstanceState ?. getString (" In Txt ", Ġ"") Ġ?: Ġ"" ĊĊĠĠĠĠĠĠĠ Ġbtn Dot . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġint xt Ġ+= Ġ'.' ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate M orse () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn Line . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġint xt Ġ+= Ġ'-' ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate M orse () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn Slash . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġint xt Ġ+= Ġ'/' ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate M orse () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn Back . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġint xt Ġ= Ġint xt . drop Last ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate M orse () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġout State . putString (" In Txt ", Ġint xt ) ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( out State ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ copy , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate Options Menu ( menu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( item . itemId Ġ== ĠR . id . menu Copy S ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclipboard Ġ= Ġget System Service ( Context . CLIP BOARD _ SERVICE ) Ġas ĠClip board Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclipboard . set Primary Clip ( Clip Data . new Plain Text (" From ĠM orse ", Ġout Text D . text . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , ĠR . string . copy _ toast , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif ( item . itemId Ġ== ĠR . id . menu Paste S ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclipboard Ġ= Ġget System Service ( Context . CLIP BOARD _ SERVICE ) Ġas ĠClip board Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtext Ġ= Ġclipboard . primary Clip ?. getItem At ( 0 )?. text ?. toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( text Ġ!= Ġnull Ġ&& Ġtext . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( copy Unicode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġtext . replace ('\ u 2 0 2 2 ', Ġ'. '). replace ('\ u 2 2 1 2 ', Ġ'-') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġtext . replace ("[ ^ ./ - ] ". to Regex (), Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint xt Ġ= Ġtext ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate M orse () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} Ċ }