package Ġfr . cop per nic . fix gain a . rf id Ċ Ċ import Ġandroid . content . Context Ċ import Ġfr . cop per nic . sdk . ask . Defines Ċ import Ġfr . cop per nic . sdk . ask . Reader Ċ import Ġfr . cop per nic . sdk . ask . Reader . getInstance Ċ import Ġfr . cop per nic . sdk . power . impl . cone . Con e Per ipheral Ċ import Ġfr . cop per nic . sdk . utils . core . C pc Definitions Ċ import Ġfr . cop per nic . sdk . utils . io . Instance Listener Ċ import Ġio . reactivex . Comp letable Ċ import Ġio . reactivex . Comp letable Emitter Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠAsk Interactor Ġ@ Inject Ġconstructor (): R fid Interactor Ġ{ ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġcontext : Context ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġinstance Emitter : Comp letable Emitter ĊĠĠĠ Ġprivate Ġvar Ġreader : ĠReader ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠsetUp (): ĠComp letable Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( reader Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠComp letable . complete () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠgetInstance ( context , Ġobject : Instance Listener < Reader > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Disposed ( p 0 : ĠReader ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Created ( p 0 : ĠReader ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreader Ġ= Ġp 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Emitter . onComplete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠComp letable . create Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Emitter Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpower ( on : ĠBoolean ): ĠComp letable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠComp letable . from Single ( Con e Per ipheral . RF ID _ ASK _ U CM 1 0 8 _ GPIO . descriptor . power ( context , Ġon )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġopen (): ĠComp letable Ġ{ ĊĠĠĠĠĠĠĠ Ġreader . let { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠComp letable . error ( Throwable (" reader Ġis Ġnull ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġres Ġ= Ġit . csc Open ( C pc Definitions . ASK _ READ ER _ PORT , Ġ 1 1 5 2 0 0 , Ġfalse ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( res Ġ!= ĠDefines . RC SC _ Ok ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠComp letable . error ( Throwable (" open Ġfailed ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Ġ= Ġit . csc Version C sc ( sb ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( res Ġ!= ĠDefines . RC SC _ Ok Ġ|| Ġ! sb . toString (). contains (" GEN 5 XX ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp letable . error ( Throwable (" get Ġversion Ġfailed ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp letable . complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclose () Ġ{ ĊĠĠĠĠĠĠĠ Ġreader . let { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit ?. csc Close () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Gain A Values (): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdb Values Ġ= Ġmutable ListOf < String >() ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( t Ġin ĠDefines . C sc M if are N xp Gain . values ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdb Values . add ( t . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġdb Values ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Gain A ( value : ĠString ): Boolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreader . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġit ?. m if are N xp Set Gain A ( Defines . C sc M if are N xp Gain . valueOf ( value )) Ġ== ĠDefines . RC SC _ Ok ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }