package Ġcom . example . dream less Ċ Ċ import Ġandroid . app . Pending Intent Ċ import Ġandroid . content . Intent Ċ import Ġandroid . n fc . N def Message Ċ import Ġandroid . n fc . N def Record Ċ import Ġandroid . n fc . N fc Adapter Ċ import Ġandroid . n fc . Tag Ċ import Ġandroid . n fc . tech . N def Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Parcelable Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . EditText Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . example . dream less . tools . Toast Utils Ċ import Ġjava . io . Unsupported EncodingException Ċ import Ġjava . lang . Exception Ċ Ċ class ĠN fc Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġn fc Adapter : ĠN fc Adapter ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġpending Intent : ĠPending Intent ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġis Read : ĠBoolean Ġ= Ġtrue ĊĠĠĠ Ġprivate Ġval Ġmine Type Ġ= Ġ" application / fis n fc " ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġedit Text : ĠEditText ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġread Button : ĠButton ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġwriter Button : ĠButton ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ n fc ) ĊĠĠĠĠĠĠĠ Ġedit Text Ġ= ĠfindViewById ( R . id . et _ text ) ĊĠĠĠĠĠĠĠ Ġread Button Ġ= ĠfindViewById ( R . id . btn _ read ) ĊĠĠĠĠĠĠĠ Ġwriter Button Ġ= ĠfindViewById ( R . id . btn _ writer ) ĊĊĠĠĠĠĠĠĠ Ġread Button . setOnClickListener Ġ{ Ġis Read Ġ= Ġtrue Ġ} ĊĠĠĠĠĠĠĠ Ġwriter Button . setOnClickListener Ġ{ Ġis Read Ġ= Ġfalse Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġinit N fc () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon New Intent ( intent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on New Intent ( intent ) ĊĠĠĠĠĠĠĠ Ġif Ġ( is Read ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġread N def Message ( intent !! ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter N fc ( intent !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwriter N fc ( intent : ĠIntent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis Read Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġtag Ġ= Ġintent . get Parcelable Extra ( N fc Adapter . EXTRA _ TAG ) Ġas ĠTag ĊĠĠĠĠĠĠĠ Ġ// Display Message (_ intent Msg ); ĊĠĠĠĠĠĠĠ Ġval Ġmime Record Ġ= ĠN def Record ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN def Record . T NF _ MIME _ MEDIA , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmine Type . toByteArray ( Charsets . US _ ASCII ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbyte ArrayOf ( 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text . text . toString (). toByteArray ( Charsets . UTF _ 8 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġa ar Ġ= ĠN def Record . create Application Record (" dream less . android ") ĊĠĠĠĠĠĠĠ Ġval Ġn def Message Ġ= ĠN def Message ( mime Record , Ġa ar ) ĊĠĠĠĠĠĠĠ Ġval Ġn def Ġ= ĠN def . get ( tag ) ĊĠĠĠĠĠĠĠ Ġn def . connect () ĊĠĠĠĠĠĠĠ Ġif Ġ(! ndef . is Writable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . long (" æłĩçŃ¾ æĺ¯ åıª è¯» çļĦ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ndef . maxSize Ġ< Ġn def Message . byteArray Length ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . long (" åĨĻåħ¥ ä¿¡æģ¯ å¤ª éķ¿ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġn def . write N def Message ( ndef Message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . long (" åĨĻ åį¡ æĪĲåĬŁ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġex . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġn fc Adapter ?. disable Foreground Dispatch ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġn fc Adapter ?. enable Foreground Dispatch ( this , Ġpending Intent , Ġnull , Ġnull ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġinit N fc () Ġ{ ĊĠĠĠĠĠĠĠ Ġn fc Adapter Ġ= ĠN fc Adapter . getDefault Adapter ( this ) ĊĠĠĠĠĠĠĠ Ġif Ġ( n fc Adapter Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . long (" è®¾å¤ĩ ä¸į æĶ¯æĮģ N FC åĬŁèĥ½ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! n fc Adapter !!. isEnabled ) Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , Ġthis . java Class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ SINGLE _ TOP ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpending Intent Ġ= ĠPending Intent . getActivity ( this , Ġ 0 , Ġintent , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Throws ( Unsupported EncodingException :: class ) ĊĠĠĠ Ġprivate Ġfun Ġread N def Message ( intent : ĠIntent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtag From Intent Ġ= Ġintent . get Parcelable Extra < Tag >( N fc Adapter . EXTRA _ TAG ) ĊĠĠĠĠĠĠĠ Ġif Ġ( tag From Intent Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . long (" è®¾å¤ĩ æĹł ä»»ä½ķ åĢ¼ ") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġraw Messages : ĠArray < Parcelable > Ġ= Ġintent . get Parcelable Array Extra ( N fc Adapter . EXTRA _ N DEF _ MESSAGES ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= Ġraw Messages [ 0 ] Ġas ĠN def Message ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhom in id Record Ġ= Ġmsg . records [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhom in id Name Ġ= ĠString ( hom in id Record . payload ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text . setText ( hom in id Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . long ( hom in id Name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ