@ file : Suppress (" unused ") Ċ Ċ package Ġcom . vas u . app center . ak sh ay . ads helper Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroid . widget .* Ċ import Ġandroidx . annotation . NonNull Ċ import Ġandroidx . card view . widget . Card View Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġcom . google . android . gms . ads .* Ċ import Ġcom . google . android . gms . ads . native ad . Native Ad Ċ import Ġcom . google . android . gms . ads . native ad . Native Ad Options Ċ import Ġcom . google . android . gms . ads . native ad . Native Ad View Ċ import Ġcom . vas u . app center . R Ċ import Ġcom . vas u . app center . ak sh ay . demo . Blur Drawable Ċ Ċ /** Ċ Ġ* Ġ@ author ĠAk sh ay ĠH ars oda Ċ Ġ* Ġ@ since Ġ 0 5 ĠAug Ġ 2 0 2 1 Ċ Ġ* Ċ Ġ* ĠNative Advanced Helper . kt Ġ- ĠSimple Ġobject Ġwhich Ġhas Ġload Ġand Ġhandle Ġyour Ġmultiple Ġsize ĠNative ĠAdvanced ĠAD Ġdata Ċ Ġ*/ Ċ object ĠNative Advanced Helper Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm Native Ad : ĠNative Ad ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" Ad mob _${ java Class . simple Name }" ĊĊĠĠĠ Ġval Ġget Native Ad : ĠNative Ad ? ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġm Native Ad ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCall Ġthis Ġmethod Ġwhen Ġyou Ġneed Ġto Ġload Ġyour ĠNative ĠAdvanced ĠAD ĊĠĠĠĠ Ġ* Ġyou Ġneed Ġto Ġcall Ġthis Ġmethod Ġonly Ġonce Ġin Ġany Ġactivity Ġor Ġfragment ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġthis Ġmethod Ġwill Ġload Ġyour ĠNative ĠAdvanced ĠAD Ġwith Ġ 3 Ġdifferent Ġsize Ġlike Ġ[ Native Ads Size . Small ], Ġ[ Native Ads Size . Medium ], Ġ[ Native Ads Size . Big ] ĊĠĠĠĠ Ġ* Ġfor ĠNative ĠAdvanced ĠAD ĠSize Ġ@ see Ġ[ Native Ads Size ] Ġonce ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġf Context Ġthis Ġis Ġa Ġreference Ġto Ġyour Ġactivity Ġor Ġfragment Ġcontext ĊĠĠĠĠ Ġ* Ġ@ param Ġf Size Ġit Ġindicate Ġyour ĠAd ĠSize ĊĠĠĠĠ Ġ* Ġ@ param Ġf Layout ĠFrame Layout Ġfor Ġadd ĠNative Ad ĠView ĊĠĠĠĠ Ġ* Ġ@ param Ġis Need Layout Show Ġ[ by ĠDefault Ġvalue Ġ= Ġtrue ] Ġpass Ġfalse Ġif Ġyou Ġdo Ġnot Ġneed Ġto Ġshow ĠAD Ġat Ġa Ġtime Ġwhen Ġit 's Ġloaded Ġsuccessfully ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġload Native Advanced Ad ( ĊĠĠĠĠĠĠĠ Ġ@ NonNull Ġf Context : ĠContext , ĊĠĠĠĠĠĠĠ Ġ@ NonNull Ġf Size : ĠNative Ads Size , ĊĠĠĠĠĠĠĠ Ġ@ NonNull Ġf Layout : ĠFrame Layout , ĊĠĠĠĠĠĠĠ Ġis Need Layout Show : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġis Ad Loaded : Ġ() Ġ-> ĠUnit Ġ= Ġ{} ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( TAG , Ġ" load Ad : Ġ") Ċ Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( m Native Ad Ġ== Ġnull ) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠLog . i ( TAG , Ġ" load Ad : Ġnew Ġlive ĠAd ") ĊĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAd Loader . Builder ( f Context , Ġf Context . getString Res ( R . string . ad mob _ native ad _ id )) ĊĊĠĠĠĠĠĠĠ Ġbuilder . for Native Ad Ġ{ Ġunified Native Ad Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload Ad With Per fect Layout ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf Context Ġ= Ġf Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf Size Ġ= Ġf Size , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf Layout Ġ= Ġf Layout , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Ad Ġ= Ġunified Native Ad , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Need Layout Show Ġ= Ġis Need Layout Show , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Ad Loaded Ġ= Ġis Ad Loaded ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/* val Ġvideo Options Ġ= ĠVideo Options . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Start Mut ed ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () */ ĊĊĠĠĠĠĠĠĠ Ġ/* val Ġad Options : ĠNative Ad Options Ġ= ĠNative Ad Options . Builder () Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Video Options ( video Options ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Media AspectRatio ( Native Ad Options . NATIVE _ MEDIA _ AS PECT _ RATIO _ S QUARE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġbuilder . with Native Ad Options ( ad Options ) */ ĊĊĠĠĠĠĠĠĠ Ġval Ġad Loader Ġ= Ġbuilder . with Ad Listener ( object Ġ: ĠAd Listener () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Failed To Load ( error : ĠLoad Ad Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Ad Failed To Load ( error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" on Ad Failed To Load : ĠUn ified Native Ad , ĠAd Ġfailed Ġto Ġload Ġ: Ġ${ error . message }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Clicked () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Ad Clicked () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" on Ad Clicked ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Native Ad Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload Native Advanced Ad ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf Context Ġ= Ġf Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf Size Ġ= Ġf Size , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf Layout Ġ= Ġf Layout , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Need Layout Show Ġ= Ġis Need Layout Show , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Ad Loaded Ġ= Ġis Ad Loaded ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}). build () ĊĊĠĠĠĠĠĠĠ Ġad Loader . load Ad ( Ad Request . Builder (). build ()) Ċ // ĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i ( TAG , Ġ" load Ad : Ġold Ġstored ĠAd ") Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġload Ad With Per fect Layout ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf Context Ġ= Ġf Context , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf Size Ġ= Ġf Size , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf Layout Ġ= Ġf Layout , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Ad Ġ= Ġm Native Ad !! , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Need Layout Show Ġ= Ġis Need Layout Show , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Ad Loaded Ġ= Ġis Ad Loaded Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Inf late Params ") ĊĠĠĠ Ġprivate Ġfun Ġload Ad With Per fect Layout ( ĊĠĠĠĠĠĠĠ Ġ@ NonNull Ġf Context : ĠContext , ĊĠĠĠĠĠĠĠ Ġ@ NonNull Ġf Size : ĠNative Ads Size , ĊĠĠĠĠĠĠĠ Ġ@ NonNull Ġf Layout : ĠFrame Layout , ĊĠĠĠĠĠĠĠ Ġ@ NonNull Ġnative Ad : ĠNative Ad , ĊĠĠĠĠĠĠĠ Ġis Need Layout Show : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġis Ad Loaded : Ġ() Ġ-> ĠUnit Ġ= Ġ{} ĊĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġad View Ġ= Ġwhen Ġ( f Size ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNative Ads Size . Big Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf Context . in flater . inflate ( R . layout . layout _ google _ native _ ad , Ġnull ) Ġas ĠNative Ad View ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNative Ads Size . Medium Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf Context . in flater . inflate ( R . layout . layout _ google _ native _ banner _ ad , Ġnull ) Ġas ĠNative Ad View ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠNative Ads Size . Small Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf Context . in flater . inflate ( R . layout . layout _ google _ native _ banner _ small _ ad , Ġnull ) Ġas ĠNative Ad View ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNative Ads Size . Exit Dialog Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf Context . in flater . inflate ( R . layout . native _ ad _ exit _ dialog , Ġnull ) Ġas ĠNative Ad View ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNative Ads Size . Blur Image Dialog Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( native Ad . price Ġ!= Ġnull Ġ|| Ġnative Ad . store Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf Context . in flater . inflate ( R . layout . native _ ad _ for _ store , Ġnull ) Ġas ĠConstraint Layout ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf Context . in flater . inflate ( R . layout . native _ ad _ for _ store , Ġnull ) Ġas ĠConstraint Layout ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf Context . in flater . inflate ( R . layout . native _ ad _ blur _ image _ ads , Ġnull ) Ġas ĠNative Ad View ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( f Size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNative Ads Size . Blur Image Dialog Ġ-> Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( native Ad . price Ġ!= Ġnull Ġ|| Ġnative Ad . store Ġ!= Ġnull ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopulate Native Ad View ( native Ad , Ġad View ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopulate Blur Image Dialog Native Ad View ( native Ad , Ġad View . findViewById ( R . id . native _ ad _ view )) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNative Ads Size . Exit Dialog Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopulate Exit Dialog Native Ad View ( native Ad , Ġad View . findViewById ( R . id . native _ ad _ view )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopulate Native Ad View ( native Ad , Ġad View Ġas ĠNative Ad View ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġf Layout . removeAll Views () ĊĠĠĠĠĠĠĠ Ġf Layout . addView ( ad View ) ĊĠĠĠĠĠĠĠ Ġif Ġ( is Need Layout Show ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf Layout . visible ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Ad Loaded . invoke () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf Layout . g one ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpopulate Blur Image Dialog Native Ad View ( native Ad : ĠNative Ad , Ġad View : ĠNative Ad View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġm Native Ad Ġ= Ġnative Ad ĊĊĠĠĠĠĠĠĠ Ġad View . headline View Ġ= Ġad View . findViewById ( R . id . ad _ headline ) ĊĠĠĠĠĠĠĠ Ġad View . media View Ġ= Ġad View . findViewById ( R . id . ad _ media ) ĊĠĠĠĠĠĠĠ Ġad View . imageView Ġ= Ġad View . findViewById ( R . id . iv _ bg _ main _ image ) ĊĠĠĠĠĠĠĠ Ġad View . body View Ġ= Ġad View . findViewById ( R . id . ad _ body ) ĊĠĠĠĠĠĠĠ Ġad View . icon View Ġ= Ġad View . findViewById ( R . id . ad _ app _ icon ) ĊĠĠĠĠĠĠĠ Ġad View . star Rating View Ġ= Ġad View . findViewById ( R . id . ad _ stars ) ĊĠĠĠĠĠĠĠ Ġad View . store View Ġ= Ġad View . findViewById ( R . id . ad _ store ) ĊĠĠĠĠĠĠĠ Ġad View . price View Ġ= Ġad View . findViewById ( R . id . ad _ price ) ĊĠĠĠĠĠĠĠ Ġad View . advert iser View Ġ= Ġad View . findViewById ( R . id . ad _ advert iser ) ĊĊĠĠĠĠĠĠĠ Ġad View . call ToAction View Ġ= Ġad View . findViewById ( R . id . ad _ call _ to _ action ) ĊĊĠĠĠĠĠĠĠ Ġ( ad View . headline View Ġas ĠTextView ). text Ġ= Ġnative Ad . headline ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . media Content Ġ!= Ġnull Ġ&& Ġad View . media View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnative Ad . media Content ?. let Ġ{ Ġmedia Content Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġad View . media View ?. set Media Content ( media Content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpopulate Blur Image Dialog Native Ad View ( m Native Ad !! , Ġad View ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . images . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( native Ad . images [ 0 ] Ġ!= Ġnull Ġ&& Ġad View . imageView Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . imageView Ġas ĠImageView ). setImage Drawable ( native Ad . images [ 0 ]. drawable !! ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblur View : ĠView Ġ= Ġad View . findViewById ( R . id . blur _ view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblur Drawable : ĠBl ur Drawable Ġ= ĠBl ur Drawable ( ad View . imageView , Ġ 2 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblur View . background Ġ= Ġblur Drawable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . body Ġ== Ġnull Ġ&& Ġad View . body View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . body View ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . body View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . body View ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . body View Ġas ĠTextView ). text Ġ= Ġnative Ad . body ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . icon Ġ== Ġnull Ġ&& Ġad View . icon View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . icon View ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . icon View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . icon View Ġas ĠImageView ). setImage Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Ad . icon ?. drawable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . icon View ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . star Rating Ġ== Ġnull Ġ&& Ġad View . star Rating View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . star Rating View ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . findViewById ( R . id . txt _ rating ) Ġas ĠTextView ?) ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . star Rating View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . findViewById ( R . id . txt _ rating ) Ġas ĠTextView ?) ?. text Ġ= Ġnative Ad . star Rating !!. toFloat (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . star Rating View Ġas ĠRating Bar ). rating Ġ= Ġnative Ad . star Rating !!. toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . star Rating View ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . findViewById ( R . id . txt _ rating ) Ġas ĠTextView ?) ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . call ToAction Ġ== Ġnull Ġ&& Ġad View . call ToAction View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . call ToAction View ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . call ToAction View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . call ToAction View ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . call ToAction View Ġas ĠButton ). text Ġ= Ġnative Ad . call ToAction ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . store Ġ== Ġnull Ġ&& Ġad View . store View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . store View ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . store View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . store View ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . store View Ġas ĠTextView ). text Ġ= Ġnative Ad . store ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . price Ġ== Ġnull Ġ&& Ġad View . price View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . price View ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . price View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . price View ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . price View Ġas ĠTextView ). text Ġ= Ġnative Ad . price ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . advert iser Ġ== Ġnull Ġ&& Ġad View . advert iser View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . advert iser View ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . advert iser View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . advert iser View ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . advert iser View Ġas ĠTextView ). text Ġ= Ġnative Ad . advert iser ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( ad View . store View ?. visibility Ġ== ĠView . GONE Ġ&& Ġad View . price View ?. visibility Ġ== ĠView . GONE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . findViewById ( R . id . cl _ ad _ price _ store ) Ġas ĠView ?) ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġad View . set Native Ad ( native Ad ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpopulate Exit Dialog Native Ad View ( native Ad : ĠNative Ad , Ġad View : ĠNative Ad View ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( TAG , ĠThrowable (). stack Trace [ 0 ]. methodName ) ĊĊĠĠĠĠĠĠĠ Ġm Native Ad Ġ= Ġnative Ad ĊĊĠĠĠĠĠĠĠ Ġad View . headline View Ġ= Ġad View . findViewById ( R . id . ad _ headline ) ĊĠĠĠĠĠĠĠ Ġad View . media View Ġ= Ġad View . findViewById ( R . id . ad _ media ) ĊĊĠĠĠĠĠĠĠ Ġad View . icon View Ġ= Ġad View . findViewById ( R . id . ad _ app _ icon ) ĊĠĠĠĠĠĠĠ Ġad View . body View Ġ= Ġad View . findViewById ( R . id . ad _ body ) ĊĠĠĠĠĠĠĠ Ġad View . call ToAction View Ġ= Ġad View . findViewById ( R . id . ad _ call _ to _ action ) ĊĊĊĠĠĠĠĠĠĠ Ġ( ad View . headline View Ġas ĠTextView ). text Ġ= Ġnative Ad . headline ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . media Content Ġ!= Ġnull Ġ&& Ġad View . media View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . media View !!. set Media Content ( native Ad . media Content !! ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . media View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpopulate Exit Dialog Native Ad View ( native Ad , Ġad View ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġad View . media View ?. setImage Scale Type ( ImageView . Scale Type . CENTER _ C ROP ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . body Ġ== Ġnull Ġ&& Ġad View . body View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . body View !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . body View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . body View !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . body View Ġas ĠTextView ). text Ġ= Ġnative Ad . body ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . icon Ġ== Ġnull Ġ&& Ġad View . icon View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . icon View !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . icon View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . icon View Ġas ĠImageView ). setImage Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Ad . icon !!. drawable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . icon View !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . call ToAction Ġ== Ġnull Ġ&& Ġad View . call ToAction View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . call ToAction View !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . call ToAction View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . call ToAction View !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . call ToAction View Ġas ĠButton ). text Ġ= Ġnative Ad . call ToAction ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġad View . set Native Ad ( native Ad ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpopulate Native Ad View ( native Ad : ĠNative Ad , Ġad View : ĠNative Ad View ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . i ( TAG , ĠThrowable (). stack Trace [ 0 ]. methodName ) ĊĠĠĠĠĠĠĠ Ġ// ĠYou Ġmust Ġcall Ġdestroy Ġon Ġold Ġads Ġwhen Ġyou Ġare Ġdone Ġwith Ġthem , ĊĠĠĠĠĠĠĠ Ġ// Ġotherwise Ġyou Ġwill Ġhave Ġa Ġmemory Ġleak . Ċ // ĠĠĠĠĠĠĠ Ġm Native Ad ?. destroy () ĊĠĠĠĠĠĠĠ Ġm Native Ad Ġ= Ġnative Ad ĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġthe Ġmedia Ġview . ĊĠĠĠĠĠĠĠ Ġad View . media View Ġ= Ġad View . findViewById ( R . id . ad _ media ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġother Ġad Ġassets . ĊĠĠĠĠĠĠĠ Ġad View . headline View Ġ= Ġad View . findViewById ( R . id . ad _ headline ) ĊĠĠĠĠĠĠĠ Ġad View . body View Ġ= Ġad View . findViewById ( R . id . ad _ body ) ĊĠĠĠĠĠĠĠ Ġad View . call ToAction View Ġ= Ġad View . findViewById ( R . id . ad _ call _ to _ action ) ĊĠĠĠĠĠĠĠ Ġad View . icon View Ġ= Ġad View . findViewById ( R . id . ad _ app _ icon ) ĊĠĠĠĠĠĠĠ Ġad View . price View Ġ= Ġad View . findViewById ( R . id . ad _ price ) ĊĠĠĠĠĠĠĠ Ġad View . star Rating View Ġ= Ġad View . findViewById ( R . id . ad _ stars ) ĊĠĠĠĠĠĠĠ Ġad View . store View Ġ= Ġad View . findViewById ( R . id . ad _ store ) ĊĠĠĠĠĠĠĠ Ġad View . advert iser View Ġ= Ġad View . findViewById ( R . id . ad _ advert iser ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠThe Ġheadline Ġand Ġmedia Ġcontent Ġare Ġguaranteed Ġto Ġbe Ġin Ġevery ĠUn ified Native Ad . ĊĠĠĠĠĠĠĠ Ġ( ad View . headline View Ġas ĠTextView ). text Ġ= Ġnative Ad . headline ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . media Content Ġ!= Ġnull Ġ&& Ġad View . media View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . media View !!. set Media Content ( native Ad . media Content !! ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpopulate Native Ad View ( m Native Ad !! , Ġad View ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠThese Ġassets Ġaren 't Ġguaranteed Ġto Ġbe Ġin Ġevery ĠUn ified Native Ad , Ġso Ġit 's Ġimportant Ġto ĊĠĠĠĠĠĠĠ Ġ// Ġcheck Ġbefore Ġtrying Ġto Ġdisplay Ġthem . ĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . body Ġ== Ġnull Ġ&& Ġad View . body View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . body View !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . body View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . body View !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . body View Ġas ĠTextView ). text Ġ= Ġnative Ad . body ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . call ToAction Ġ== Ġnull Ġ&& Ġad View . call ToAction View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . call ToAction View !!. visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . call ToAction View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . call ToAction View !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . call ToAction View Ġas ĠButton ). text Ġ= Ġnative Ad . call ToAction ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . icon Ġ== Ġnull Ġ&& Ġad View . icon View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . icon View !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . icon View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . icon View Ġas ĠImageView ). setImage Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnative Ad . icon !!. drawable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . icon View !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . price Ġ== Ġnull Ġ&& Ġad View . price View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . price View !!. visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . price View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . price View !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . price View Ġas ĠTextView ). text Ġ= Ġnative Ad . price ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . store Ġ== Ġnull Ġ&& Ġad View . store View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . store View !!. visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . store View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . store View !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . store View Ġas ĠTextView ). text Ġ= Ġnative Ad . store ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġ// Ġfor Ġcustom Ġview ĊĠĠĠĠĠĠĠ Ġif Ġ( ad View . price View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . price View !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( ad View . store View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . store View !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . star Rating Ġ== Ġnull Ġ&& Ġad View . star Rating View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . star Rating View !!. visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . star Rating View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . star Rating View Ġas ĠRating Bar ). rating Ġ= Ġnative Ad . star Rating !!. toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . star Rating View !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( native Ad . advert iser Ġ== Ġnull Ġ&& Ġad View . advert iser View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . advert iser View !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ad View . advert iser View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ad View . advert iser View Ġas ĠTextView ). text Ġ= Ġnative Ad . advert iser ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . advert iser View !!. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠThis Ġmethod Ġtells Ġthe ĠGoogle ĠMobile ĠA ds ĠSDK Ġthat Ġyou Ġhave Ġfinished Ġpop ulating Ġyour ĊĠĠĠĠĠĠĠ Ġ// Ġnative Ġad Ġview Ġwith Ġthis Ġnative Ġad . ĊĠĠĠĠĠĠĠ Ġad View . set Native Ad ( native Ad ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdestroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Native Ad ?. destroy () ĊĠĠĠĠĠĠĠ Ġm Native Ad Ġ= Ġnull ĊĠĠĠ Ġ} Ċ }