/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 . ĠBoost Tag ĠE . I . R . L . ĠR ome ll ĠD . Z . Ċ Ġ* ĠAll Ġrights Ġreserved Ċ Ġ* Ġpor file . rome l lf udi . com Ċ Ġ*/ Ċ package Ġcom . rome l lf udi . f ud in fc . gear Ċ Ċ import Ġandroid . app . Pending Intent Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . Intent Filter Ċ import Ġandroid . n fc . N def Message Ċ import Ġandroid . n fc . N fc Adapter Ċ import Ġandroid . n fc . N fc Adapter . Create N def Message Callback Ċ import Ġandroid . n fc . N fc Event Ċ import Ġandroid . n fc . tech . N def Ċ import Ġandroid . n fc . tech . N def Format able Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . util . Sparse Array Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . rome l lf udi . f ud in fc . util . interfaces . N fc Message Utility Ċ import Ġcom . rome l lf udi . f ud in fc . util . interfaces . N fc Read Utility Ċ import Ġcom . rome l lf udi . f ud in fc . util . sync . N fc Message Utility Impl Ċ import Ġcom . rome l lf udi . f ud in fc . util . sync . N fc Read Utility Impl Ċ import Ġjava . util .* Ċ Ċ abstract Ġclass ĠN fc Act Ġ: ĠAppCompatActivity (), ĠCreate N def Message Callback Ġ{ ĊĠĠĠ Ġprotected Ġvar Ġn fc Adapter : ĠN fc Adapter ? Ġ= Ġnull ĊĠĠĠ Ġprotected Ġvar Ġn fc Messages : ĠList < String ?> ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġval Ġn fc Message Utility : ĠN fc Message Utility Ġ= ĠN fc Message Utility Impl () ĊĠĠĠ Ġval Ġn fc Read Utility : ĠN fc Read Utility Ġ= ĠN fc Read Utility Impl () ĊĠĠĠ Ġprivate Ġvar Ġpending Intent : ĠPending Intent ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Intent Filters : ĠArray < Intent Filter > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Tech Lists : ĠArray < Array < String >> ĊĠĠĠ Ġprivate Ġvar Ġm Beam Enabled Ġ= Ġfalse ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit Adapter () ĊĠĠĠĠĠĠĠ Ġinit Fields () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Restore InstanceState ( savedInstanceState : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Restore InstanceState ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġif Ġ( savedInstanceState . getBoolean ( beam Enabled )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Beam () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisable Beam () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġinit Adapter () ĊĠĠĠĠĠĠĠ Ġif Ġ( n fc Adapter Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn fc Adapter !!. enable Foreground Dispatch ( this , Ġpending Intent , Ġm Intent Filters , Ġm Tech Lists ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" F GD Ġenabled ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon New Intent ( intent : ĠIntent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on New Intent ( intent ) ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Received Ġintent !") ĊĠĠĠĠĠĠĠ Ġset Intent ( intent ) ĊĠĠĠĠĠĠĠ Ġif Ġ( get Intent () Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( N fc Adapter . ACTION _ N DEF _ DIS COVER ED Ġ== Ġintent . action Ġ|| ĠN fc Adapter . ACTION _ TE CH _ DIS COVER ED Ġ== Ġintent . action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġn fc Messages Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransform Sparse Array To ArrayList ( n fc Read Utility . read From Tag With Sparse Array ( intent )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( out State ) ĊĠĠĠĠĠĠĠ Ġout State . put Boolean ( beam Enabled , Ġm Beam Enabled ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġif Ġ( n fc Adapter Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn fc Adapter !!. disable Foreground Dispatch ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" F GD Ġdisabled ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate N def Message ( event : ĠN fc Event ): ĠN def Message Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠN fc Message Utility Impl (). createText (" You 're Ġseeing Ġthis Ġmessage Ġbecause Ġyou Ġhave Ġnot Ġoverridden Ġthe Ġcreate N def Message ( N fc Event Ġevent ) Ġin Ġyour Ġactivity .") !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Fields () Ġ{ ĊĠĠĠĠĠĠĠ Ġpending Intent Ġ= ĠPending Intent . getActivity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( this , Ġjava Class ). add Flags ( Intent . FLAG _ ACTIVITY _ SINGLE _ TOP ), ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġm Intent Filters Ġ= ĠarrayOf ( Intent Filter ( N fc Adapter . ACTION _ N DEF _ DIS COVER ED )) ĊĠĠĠĠĠĠĠ Ġm Tech Lists Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( N def :: class . java . name ), ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN def Format able :: class . java . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Adapter () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( n fc Adapter Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn fc Adapter Ġ= ĠN fc Adapter . getDefault Adapter ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Adapter Ġinitialized ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġenable Beam () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( n fc Adapter Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn fc Adapter !!. set N def Push Message Callback ( this , Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Beam Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Beam Ġenabled ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġbeam Enabled (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Beam Enabled ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġdisable Beam () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( n fc Adapter Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn fc Adapter !!. set N def Push Message Callback ( null , Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Beam Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Beam Ġdisabled ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġtransform Sparse Array To ArrayList ( sparse Array : ĠSparse Array < String ?> ?): ĠList < String ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist : ĠMutable List < String ?> Ġ= ĠArrayList ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsparse Array !!. size () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġsparse Array . size ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( sparse Array . value At ( i )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠN fc Act :: class . java . name ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġbeam Enabled Ġ= Ġ" android Beam Enabled " ĊĠĠĠ Ġ} Ċ }