/* Ċ Ġ* ĠĠĠ Ġ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 Ċ Ċ // ĠTODO : ĠUncomment Ġwhen Ġnative Ġmodule Ġwill Ġbe Ġmerged Ċ // import Ġandroid . os . Bundle Ċ // import Ġandroid . util . Log Ċ // import Ġandroid . view . View Ċ // import Ġkotlinx . android . synt hetic . main . fragment _ native .* Ċ // import Ġkotlinx . android . synt hetic . main . fragment _ native . view .* Ċ // import Ġkotlinx . android . synt hetic . main . ly t _ native _ ad .* Ċ // import Ġkotlinx . android . synt hetic . main . ly t _ native _ ad _ events .* Ċ // import Ġkotlinx . android . synt hetic . main . ly t _ native _ in _ app _ events .* Ċ // import Ġorg . pre bid . mobile . rendering . b idding . data . Fetch Demand Result Ċ // import Ġorg . pre bid . mobile . rendering . b idding . data . nt v . Native Ad Ċ // import Ġorg . pre bid . mobile . rendering . b idding . display . Native Ad Unit Ċ // import Ġorg . pre bid . mobile . rendering . b idding . listeners . Native Ad Listener Ċ // import Ġorg . pre bid . mobile . rendering . models . nt v . Native Event Tracker Ċ // import Ġorg . pre bid . mobile . rendering . models . open rt b . bid Requests . assets . Native Asset Data Ċ // import Ġorg . pre bid . mobile . rendering . utils . nt v . Native Utils Ċ // 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 (), ĠNative Ad Listener Ġ{ Ċ // ĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠP pm Native Fragment :: class . java . simple Name Ċ // Ċ // ĠĠĠ Ġoverride Ġval Ġlayout Res : ĠInt Ġ= ĠR . layout . fragment _ native Ċ // ĠĠĠ Ġprotected Ġvar Ġnative Ad Unit : ĠNative Ad Unit ? Ġ= Ġnull Ċ // ĠĠĠ Ġprotected Ġvar Ġnative Ad : ĠNative Ad ? Ġ= Ġnull Ċ // Ċ // ĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) Ċ // ĠĠĠĠĠĠĠ Ġif Ġ(! Source Picker . use Mock Server ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠSource Picker . enable Qa Endpoint ( true ) Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( layout Res Ġ== ĠR . layout . fragment _ native ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Inflater . inflate ( getEvent Button View Id (), Ġcontent Fragment Native , Ġtrue ) Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġoverride Ġfun Ġinit Ad (): ĠAny ? Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġnative Ad Unit Ġ= ĠNative Ad Unit ( context , Ġconfig Id , Ġget Native Ad Config () !! ) Ċ // ĠĠĠĠĠĠĠ Ġreturn Ġnative Ad Unit Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġoverride Ġfun Ġload Ad () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġnative Ad Unit ?. fetch Demand Ġ{ Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . fetch Demand Result Ġ!= ĠFetch Demand Result . SUCCESS ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Fetch Demand Result Failure ?. isEnabled Ġ= Ġtrue Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ fetch Demand Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Fetch Demand Result Success ?. isEnabled Ġ= Ġtrue Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠNative Utils . find Native Ad ( it ) Ġ{ Ġnative Ad Ġ-> Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( native Ad Ġ== Ġnull ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Get Native Ad Result Failure ?. isEnabled Ġ= Ġtrue Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ find Native Ad Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ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 () Ċ // ĠĠĠĠĠĠĠ Ġnative Ad ?. destroy () Ċ // ĠĠĠĠĠĠĠ Ġif Ġ(! Source Picker . use Mock Server ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠSource Picker . enable Qa Endpoint ( false ) Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġoverride Ġfun Ġon Ad Clicked ( native Ad : ĠNative Ad ?) Ġ{ Ċ // ĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" on Ad Clicked () Ġcalled Ġwith : Ġnative Ad Ġ= Ġ$ native Ad ") Ċ // ĠĠĠĠĠĠĠ Ġbtn Ad Clicked ?. isEnabled Ġ= Ġtrue Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġoverride Ġfun Ġon Ad Event ( native Ad : ĠNative Ad ?, ĠeventType : ĠNative Event Tracker . EventType ?) Ġ{ Ċ // ĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" on Ad Event () Ġcalled Ġwith : Ġnative Ad Ġ= Ġ$ native Ad , ĠeventType Ġ= Ġ$ eventType ") Ċ // ĠĠĠĠĠĠĠ ĠeventType Ġ?: Ġreturn Ċ // Ċ // ĠĠĠĠĠĠĠ Ġwhen Ġ( eventType ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠNative Event Tracker . EventType . IMP RESS ION Ġ-> Ġbtn Ad Event Imp ression ?. isEnabled Ġ= Ġtrue Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠNative Event Tracker . EventType . VIEW ABLE _ M RC 5 0 Ġ-> Ġbtn Ad Event M rc 5 0 ?. isEnabled Ġ= Ġtrue Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠNative Event Tracker . EventType . VIEW ABLE _ M RC 1 0 0 Ġ-> Ġbtn Ad Event M rc 1 0 0 ?. isEnabled Ġ= Ġtrue Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠNative Event Tracker . EventType . VIEW ABLE _ VIDEO 5 0 Ġ-> Ġbtn Ad Event Video 5 0 ?. isEnabled Ġ= Ġtrue Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠLog . d ( TAG , Ġ" on Ad Event : Ġevent Ġignored Ġ$ eventType ") Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġ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 : ĠNative Ad ?) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġnative Ad Ġ?: Ġreturn Ċ // Ċ // ĠĠĠĠĠĠĠ Ġthis . native Ad Ġ= Ġnative Ad Ċ // Ċ // ĠĠĠĠĠĠĠ Ġnative Ad . set Native Ad Listener ( this ) Ċ // Ċ // ĠĠĠĠĠĠĠ Ġnative Ad . register View ( ad Container , Ġbtn Native Action ) Ċ // Ċ // ĠĠĠĠĠĠĠ Ġtv Native Title ?. text Ġ= Ġnative Ad . title Ċ // ĠĠĠĠĠĠĠ Ġtv Native Body ?. text Ġ= Ġnative Ad . text Ċ // ĠĠĠĠĠĠĠ Ġtv Native Brand ?. text Ġ= Ġnative Ad . get Native Ad DataList ( Native Asset Data . DataType . SP ON SO RED ). first OrNull ()?. value Ċ // ĠĠĠĠĠĠĠ Ġbtn Native Action ?. text Ġ= Ġnative Ad . call ToAction Ċ // Ċ // ĠĠĠĠĠĠĠ Ġload Image ( iv Native Main , Ġnative Ad . imageUrl ) Ċ // ĠĠĠĠĠĠĠ Ġload Image ( iv Native Icon , Ġnative Ad . icon Url ) Ċ // ĠĠĠ Ġ} Ċ //}