package Ġcom . met am or f osis _ labs . flutter _ iron source _ x Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Frame Layout Ċ import Ġandroid . widget . LinearLayout Ċ import Ġcom . iron source . medi ations dk . IS Banner Size Ċ import Ġcom . iron source . medi ations dk . I ron Source Ċ import Ġcom . iron source . medi ations dk . I ron Source Banner Layout Ċ import Ġcom . iron source . medi ations dk . logger . I ron Source Error Ċ import Ġcom . iron source . medi ations dk . sdk . Banner Listener Ċ import Ġio . flutter . plugin . common . Binary Messenger Ċ import Ġio . flutter . plugin . common . Method Channel Ċ import Ġio . flutter . plugin . platform . Platform View Ċ import Ġjava . util .* ĊĊ Ċ class ĠI ron Source Banner View Ġinternal Ġconstructor ( context : ĠContext , Ġid : ĠInt , Ġargs : ĠHashMap < *, Ġ* >, Ġmess enger : ĠBinary Messenger ?, Ġactivity : ĠActivity ) Ġ: ĠPlatform View , ĠBanner Listener Ġ{ ĊĠĠĠ Ġprivate Ġval Ġad View : ĠFrame Layout ĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" I ron Source Banner View " ĊĠĠĠ Ġprivate Ġval Ġchannel : ĠMethod Channel ĊĠĠĠ Ġprivate Ġval Ġargs : ĠHashMap < *, Ġ*> ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext ĊĠĠĠ Ġprivate Ġval Ġactivity : ĠActivity ĊĠĠĠ Ġprivate Ġval Ġm I ron Source Banner Layout : ĠI ron Source Banner Layout ĊĠĠĠ Ġprivate Ġfun Ġload Banner () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( ad View . child Count Ġ> Ġ 0 ) Ġad View . removeAll Views () ĊĠĠĠĠĠĠĠ Ġval Ġlayout Params Ġ= ĠFrame Layout . LayoutParams ( Frame Layout . LayoutParams . MATCH _ PARENT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFrame Layout . LayoutParams . WRAP _ CONTENT ) ĊĠĠĠĠĠĠĠ Ġad View . addView ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm I ron Source Banner Layout , Ġ 0 , Ġlayout Params ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġad View . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ ĠI ron Source . load Banner ( m I ron Source Banner Layout ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget View (): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġad View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdispose () Ġ{ ĊĠĠĠĠĠĠĠ Ġad View . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġm I ron Source Banner Layout . remove Banner Listener () ĊĠĠĠĠĠĠĠ ĠI ron Source . destroy Banner ( m I ron Source Banner Layout ) ĊĠĠĠĠĠĠĠ Ġchannel . set MethodCall Handler ( null ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Banner Ad Loaded () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity . run On Ui Thread Ġ{ Ġchannel . invoke Method ( I ron Source Consts . ON _ BAN NER _ AD _ LOADED , Ġnull ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Banner Ad Load Failed ( iron Source Error : ĠI ron Source Error ) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity . run On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarguments : ĠMutable Map < String , ĠAny > Ġ= ĠHashMap () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarguments [" errorCode "] Ġ= Ġir on Source Error . errorCode ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarguments [" errorMessage "] Ġ= Ġir on Source Error . errorMessage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . invoke Method ( I ron Source Consts . ON _ BAN NER _ AD _ LOAD _ FAILED , Ġarguments ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Banner Ad Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity . run On Ui Thread Ġ{ Ġchannel . invoke Method ( I ron Source Consts . ON _ BAN NER _ AD _ CLICK ED , Ġnull ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Banner Ad Screen Present ed () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity . run On Ui Thread Ġ{ Ġchannel . invoke Method ( I ron Source Consts . ON _ BAN NER _ AD _ SCREEN _ PRESENT ED , Ġnull ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Banner Ad Screen Dis missed () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity . run On Ui Thread Ġ{ Ġchannel . invoke Method ( I ron Source Consts . ON _ BAN NER _ AD _ s CRE EN _ DIS MIS SED , Ġnull ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Banner Ad Left Application () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity . run On Ui Thread Ġ{ Ġchannel . invoke Method ( I ron Source Consts . ON _ BAN NER _ AD _ LEFT _ APPLICATION , Ġnull ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġchannel Ġ= ĠMethod Channel ( messenger , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠI ron Source Consts . BAN NER _ AD _ CHANNEL Ġ+ Ġid ) ĊĠĠĠĠĠĠĠ Ġthis . activity Ġ= Ġactivity ĊĠĠĠĠĠĠĠ Ġthis . args Ġ= Ġargs ĊĠĠĠĠĠĠĠ Ġthis . context Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġad View Ġ= ĠFrame Layout ( context ) ĊĠĠĠĠĠĠĠ Ġ// Ġchoose Ġbanner Ġsize ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= ĠIS Banner Size . SM ART ĊĠĠĠĠĠĠĠ Ġval Ġheight Ġ= Ġargs [" height "] Ġas ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġwidth Ġ= Ġargs [" height "] Ġas ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġlp Ġ= ĠLinearLayout . LayoutParams ( width , Ġheight ) ĊĠĠĠĠĠĠĠ Ġ// Ġinstantiate ĠI ron Source Banner Ġobject , Ġusing Ġthe ĠI ron Source . create Banner ĠAPI ĊĠĠĠĠĠĠĠ Ġm I ron Source Banner Layout Ġ= ĠI ron Source . create Banner ( activity , Ġsize ) ĊĠĠĠĠĠĠĠ Ġm I ron Source Banner Layout . banner Listener Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġload Banner () ĊĠĠĠ Ġ} Ċ } Ċ