package Ġcom . ang cy o . u ic ore . activity Ċ Ċ import Ġandroid . content . Context Ċ 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 . N fc Event Ċ import Ġandroid . os . Bundle Ċ import Ġcom . ang cy o . dsl adapter . dsl Item Ċ import Ġcom . ang cy o . get Origin Intent Ċ import Ġcom . ang cy o . library . L Ċ import Ġcom . ang cy o . library . component . RN fc Ċ import Ġcom . ang cy o . library . component ._ delay Ċ import Ġcom . ang cy o . library . component . to Log Ċ import Ġcom . ang cy o . library . ex . connect Ċ import Ġcom . ang cy o . library . ex . now Time String Ċ import Ġcom . ang cy o . library . ex . random Color Ċ import Ġcom . ang cy o . library . ex . size Ċ import Ġcom . ang cy o . library . toast QQ Ċ import Ġcom . ang cy o . u ic ore . base . App Dsl Fragment Ċ import Ġcom . ang cy o . u ic ore . demo . R Ċ import Ġcom . ang cy o . widget . span . span Ċ Ċ /** Ċ Ġ* Ċ Ġ* ĠEmail : ang cy o @ 1 2 6 . com Ċ Ġ* Ġ@ author Ġang cy o Ċ Ġ* Ġ@ date Ġ 2 0 2 2 / 0 2 / 0 8 Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠSh en Z hen ĠWay to ĠLtd . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ class ĠN fc Info Demo Ġ: ĠApp Dsl Fragment (), ĠN fc Adapter . Create N def Message Callback Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġfragment Title Ġ= Ġ" N fc Info Demo " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġif Ġ( RN fc . is N fc Enable ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRN fc . n fc Adapter ?. set N def Push Message Callback ( this , Ġrequire Activity ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detach () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Detach () ĊĠĠĠĠĠĠĠ Ġ/* if Ġ( RN fc . is N fc Enable ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRN fc . n fc Adapter ?. set N def Push Message Callback ( null , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ}*/ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Base View ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . init Base View ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġarguments ?. get Origin Intent ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Info ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Info ( intent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( view Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Added ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ delay Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Info ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġrender Dsl Adapter ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġd sl Item ( R . layout . n fc _ layout ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Bind Override Ġ= Ġ{ Ġitem Holder , Ġitem Position , Ġadapter Item , Ġpayload s Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Holder . tv ( R . id . state _ view )?. text Ġ= Ġspan Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend (" N FC ç¡¬ ä»¶ :${ RN fc . is N fc Support ()} Ġæ ¿ Ģ æ´» :${ RN fc . is N fc Enable () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( RN fc . is N fc Enable ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Holder . tv ( R . id . tip _ view )?. text Ġ= Ġspan Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend (" è¯· å°Ĩ N FC æłĩçŃ¾ , Ġ éĿ ł è¿ĳ è®¾å¤ĩ N FC è¯» åį¡ åĮºåŁŁ !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ln () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( now Time String ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġforeground Color Ġ= Ġrandom Color () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( intent Ġ!= Ġnull ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Holder . tv ( R . id . info _ view )?. text Ġ= Ġspan Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ("${ intent . extras Ġ?: Ġ"-- "} ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ln () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ln () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend (" action :${ intent . action Ġ?: Ġ"-- "} ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ln () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend (" id :${ RN fc . byte 2 HexString ( intent . get ByteArray Extra ( N fc Adapter . EXTRA _ ID )) }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ln () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ln () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( RN fc . getN fc Tag ( intent ). to Log ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Holder . tv ( R . id . message _ view )?. text Ġ= Ġspan Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend (" N def æ¶Īæģ¯ æķ°éĩı :${ RN fc . getN fc N def Messages ( intent ). size () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ln () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( RN fc . getN fc N def String Messages ( intent )?. connect ("\ n ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Holder . click ( R . id . n fc _ button ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRN fc . start N fc Setting ( require Activity ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Holder . click ( R . id . message _ button ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRN fc . n fc Adapter ?. set N def Push Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġn def Message (" button "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Activity () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Holder . click ( R . id . close _ dispatch _ button ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRN fc . disable N fc Foreground Dispatch ( require Activity ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Holder . click ( R . id . close _ message _ button ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRN fc . disable N fc Foreground N def Push ( require Activity ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Fragment Show ( bundle : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Fragment Show ( bundle ) ĊĠĠĠĠĠĠĠ ĠRN fc . enable N fc Foreground Dispatch ( require Activity ()) ĊĠĠĠĠĠĠĠ ĠRN fc . enable N fc Foreground N def Push ( require Activity (), Ġn def Message (" push ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Fragment Hide () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Fragment Hide () ĊĠĠĠĠĠĠĠ ĠRN fc . disable N fc Foreground Dispatch ( require Activity ()) ĊĠĠĠĠĠĠĠ ĠRN fc . disable N fc Foreground N def Push ( require Activity ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate N def Message ( event : ĠN fc Event ?): ĠN def Message Ġ{ ĊĠĠĠĠĠĠĠ ĠL . w ( event ) ĊĠĠĠĠĠĠĠ Ġtoast QQ (" create N def Message :${ now Time String () }") ĊĠĠĠĠĠĠĠ Ġreturn Ġn def Message (" event ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġn def Message ( message : ĠString ): ĠN def Message Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġ" from :${ message }\ n \ n " ĊĠĠĠĠĠĠĠ Ġ" Beam Ġme Ġup , ĠAndroid !\ n \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Beam ĠTime : Ġ" Ġ+ Ġnow Time String () ĊĠĠĠĠĠĠĠ Ġreturn ĠN def Message ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN def Record . create Mime ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" application / vnd . com . example . android . beam ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext . toByteArray () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN def Record . createText Record (" UTF - 8 ", Ġtext ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠThe ĠAndroid ĠApplication ĠRecord Ġ( A AR ) Ġis Ġcommented Ġout . ĠWhen Ġa Ġdevice ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġreceives Ġa Ġpush Ġwith Ġan ĠA AR Ġin Ġit , Ġthe Ġapplication Ġspecified Ġin Ġthe ĠA AR ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġis Ġguaranteed Ġto Ġrun . ĠThe ĠA AR Ġoverrides Ġthe Ġtag Ġdispatch Ġsystem . ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠYou Ġcan Ġadd Ġit Ġback Ġin Ġto Ġguarantee Ġthat Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġactivity Ġstarts Ġwhen Ġreceiving Ġa Ġbe amed Ġmessage . ĠFor Ġnow , Ġthis Ġcode ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġuses Ġthe Ġtag Ġdispatch Ġsystem . ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* /// , N def Record . create Application Record (" com . example . android . beam ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ Ċ }