/* Ċ Ġ* ĠĠĠ ĠCopyright Ġ 2 0 1 8 - 2 0 2 1 ĠPre bid . org , ĠInc . Ċ Ġ* Ċ Ġ* ĠĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* ĠĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* ĠĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* ĠĠĠ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . pre bid . mobile . rendering test app . plug play . b idding . pp m Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Looper Ċ import Ġandroid . view . View Ċ import Ġkotlinx . android . synt hetic . main . fragment _ native .* Ċ import Ġkotlinx . android . synt hetic . main . ly t _ native _ ad .* Ċ import Ġkotlinx . android . synt hetic . main . ly t _ native _ in _ app _ events .* Ċ import Ġorg . pre bid . mobile . Pre bid Native Ad Ċ import Ġorg . pre bid . mobile . Pre bid Native Ad EventListener Ċ import Ġorg . pre bid . mobile . rendering . b idding . data . Fetch Demand Result Ċ import Ġorg . pre bid . mobile . rendering . b idding . display . Med iation Native Ad Unit Ċ import Ġorg . pre bid . mobile . rendering . utils . nt v . Native Ad Provider Ċ import Ġorg . pre bid . mobile . rendering test app . Ad Fragment Ċ import Ġorg . pre bid . mobile . rendering test app . R Ċ import Ġorg . pre bid . mobile . rendering test app . plug play . config . Ad Configurator Dialog Fragment Ċ import Ġorg . pre bid . mobile . rendering test app . utils . Source Picker Ċ import Ġorg . pre bid . mobile . rendering test app . utils . load Image Ċ Ċ open Ġclass ĠP pm Native Fragment Ġ: ĠAd Fragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠP pm Native Fragment :: class . java . simple Name ĊĊĠĠĠ Ġoverride Ġval Ġlayout Res Ġ= ĠR . layout . fragment _ native ĊĠĠĠ Ġprotected Ġvar Ġnative Ad Unit : ĠMed iation Native Ad Unit ? Ġ= Ġnull ĊĠĠĠ Ġprotected Ġvar Ġextras Ġ= ĠBundle () ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( layout Res Ġ== ĠR . layout . fragment _ native ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Inflater . inflate ( getEvent Button View Id (), Ġcontent Fragment Native , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Ad (): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! Source Picker . use Mock Server ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSource Picker . enable Qa Endpoint ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġconfigure Original Pre bid () ĊĊĠĠĠĠĠĠĠ Ġnative Ad Unit Ġ= ĠMed iation Native Ad Unit ( config Id , Ġextras ) ĊĠĠĠĠĠĠĠ Ġconfigure Native Ad Unit ( native Ad Unit !! ) ĊĠĠĠĠĠĠĠ Ġreturn Ġnative Ad Unit ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload Ad () Ġ{ ĊĠĠĠĠĠĠĠ Ġnative Ad Unit ?. fetch Demand Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ!= ĠFetch Demand Result . SUCCESS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Fetch Demand Result Failure ?. isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ fetch Demand ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Fetch Demand Result Success ?. isEnabled Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnative Ad Ġ= ĠNative Ad Provider . get Native Ad ( extras ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( native Ad Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Get Native Ad Result Failure ?. isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ fetch Demand ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Get Native Ad Result Success ?. isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinf late View Content ( native Ad ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġconfigur ator Mode (): ĠAd Configurator Dialog Fragment . Ad Configurator Mode ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġnative Ad Unit ?. destroy () ĊĠĠĠĠĠĠĠ Ġif Ġ(! Source Picker . use Mock Server ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSource Picker . enable Qa Endpoint ( false ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġget Event Button View Id (): ĠInt Ġ= ĠR . layout . ly t _ native _ in _ app _ events ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġinf late View Content ( native Ad : ĠPre bid Native Ad ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnative Ad . register View List ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad Container , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Native Title , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Native Body , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Native Brand , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Native Action , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv Native Main , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiv Native Icon ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Native Listener () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġtv Native Title ?. text Ġ= Ġnative Ad . title ĊĠĠĠĠĠĠĠ Ġtv Native Body ?. text Ġ= Ġnative Ad . description ĊĠĠĠĠĠĠĠ Ġtv Native Brand ?. text Ġ= Ġnative Ad . sp ons ored By ĊĠĠĠĠĠĠĠ Ġbtn Native Action ?. text Ġ= Ġnative Ad . call ToAction ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . imageUrl . isNotBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload Image ( iv Native Main , Ġnative Ad . imageUrl ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . icon Url . isNotBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload Image ( iv Native Icon , Ġnative Ad . icon Url ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġcreate Native Listener (): ĠPre bid Native Ad EventListener Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠPre bid Native Ad EventListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Clicked () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Ad Clicked ?. isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Imp ression () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo In MainThread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Ad Imp ression ?. isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Expired () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Ad Expired ?. isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdo In MainThread ( function : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhandler Ġ= ĠHandler ( Looper . get Main Looper ()) ĊĠĠĠĠĠĠĠ Ġhandler . post At Front Of Queue ( function ) ĊĠĠĠ Ġ} Ċ Ċ }