package Ġcom . if m vo . together ad . cs j . native _. view Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . by ted ance . sdk . open ad sdk . TT Ad Constant Ċ import Ġcom . by ted ance . sdk . open ad sdk . TT App Download Listener Ċ import Ġcom . by ted ance . sdk . open ad sdk . T TF eed Ad Ċ import Ġcom . by ted ance . sdk . open ad sdk . TT Native Ad Ċ import Ġcom . if m vo . together ad . core . To gether Ad Ċ import Ġcom . if m vo . together ad . core . listener . Native View Listener Ċ Ċ abstract Ġclass ĠBase Native View Cs j ( onClose : Ġ(( ad Provider Type : ĠString ) Ġ-> ĠUnit )? Ġ= Ġnull ) Ġ: ĠBase Native View Cs j Feed ( onClose ) Ġ{ ĊĠĠĠ Ġ// åħ³éĹŃ æĮīéĴ® çļĦ åĽŀè°ĥ ĊĠĠĠ Ġprivate Ġvar Ġm On Close Ġ= ĠonClose ĊĊĠĠĠ Ġoverride Ġfun Ġshow Native ( ad Provider Type : ĠString , Ġad Object : ĠAny , Ġcontainer : ĠViewGroup , Ġlistener : ĠNative View Listener ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( ad Object Ġis ĠT TF eed Ad ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . show Native ( ad Provider Type , Ġad Object , Ġcontainer , Ġlistener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( ad Object Ġ! is ĠTT Native Ad ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcontainer . removeAll Views () ĊĠĠĠĠĠĠĠ Ġ// find View ĊĠĠĠĠĠĠĠ Ġroot View Ġ= ĠView . inflate ( container . context , Ġget Layout Res (), Ġcontainer ) ĊĠĠĠĠĠĠĠ Ġ// Ad Logo ĊĠĠĠĠĠĠĠ Ġget Ad Logo ImageView ()?. setImage Bitmap ( ad Object . ad Logo ) ĊĠĠĠĠĠĠĠ Ġ// Icon ĊĠĠĠĠĠĠĠ Ġget Icon ImageView ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTo gether Ad . m Image Loader ?. load Image ( container . context , Ġit , Ġad Object . icon . imageUrl ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Close Btn ĊĠĠĠĠĠĠĠ Ġget Close Button ()?. visibility Ġ= Ġif Ġ( m On Close Ġ== Ġnull ) ĠView . GONE Ġelse ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġget Close Button ()?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm On Close ?. invoke ( ad Provider Type ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// æłĩé¢ĺ åĴĮ æııè¿° ĊĠĠĠĠĠĠĠ Ġget Title TextView ()?. text Ġ= Ġad Object . title ĊĠĠĠĠĠĠĠ Ġget Desc TextView ()?. text Ġ= Ġad Object . description ĊĠĠĠĠĠĠĠ Ġget Source TextView ()?. text Ġ= Ġif Ġ( ad Object . source ?. isNotEmpty () Ġ== Ġtrue ) Ġad Object . source Ġelse Ġ" å¹¿åĳĬ æĿ¥ æºĲ " ĊĠĠĠĠĠĠĠ Ġget ActionButton ()?. text Ġ= Ġget Action Btn Text ( ad Object ) ĊĠĠĠĠĠĠĠ Ġad Object . set Download Listener ( object Ġ: ĠTT App Download Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Idle () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget ActionButton ()?. text Ġ= Ġ" å¼Ģå§ĭ ä¸ĭè½½ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Download Paused ( total Bytes : ĠLong , Ġcurr Bytes : ĠLong , ĠfileName : ĠString ?, ĠappName : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget ActionButton ()?. text Ġ= Ġ" ä¸ĭè½½ æļĤ åģľ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Download Failed ( total Bytes : ĠLong , Ġcurr Bytes : ĠLong , ĠfileName : ĠString ?, ĠappName : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget ActionButton ()?. text Ġ= Ġ" éĩįæĸ° ä¸ĭè½½ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Download Active ( p 0 : ĠLong , Ġp 1 : ĠLong , Ġp 2 : ĠString ?, Ġp 3 : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget ActionButton ()?. text Ġ= Ġ" ä¸ĭè½½ ä¸Ń " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Download Finished ( total Bytes : ĠLong , ĠfileName : ĠString ?, ĠappName : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget ActionButton ()?. text Ġ= Ġ" çĤ¹åĩ» å®īè£ħ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Installed ( fileName : ĠString ?, ĠappName : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget ActionButton ()?. text Ġ= Ġ" çĤ¹åĩ» æīĵå¼Ģ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ æ³¨åĨĮ æĻ®éĢļ çĤ¹åĩ» åĮºåŁŁ ï¼Į åĪĽ æĦı çĤ¹åĩ» åĮºåŁŁ ãĢĤ éĩįè¦ģ ! Ġ è¿Ļä¸ª æ¶ ī åıĬ åĪ° å¹¿åĳĬ è®¡ è´¹ åıĬ äº¤ äºĴ ï¼Į å¿ħé¡» æŃ£ç¡® è°ĥçĶ¨ ãĢĤ convert View å¿ħé¡» ä½¿çĶ¨ ViewGroup ãĢĤ ĊĠĠĠĠĠĠĠ Ġad Object . register View For Interaction ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View Ġas ĠViewGroup , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Clickable Views () Ġ?: Ġmutable ListOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Creative Views () Ġ?: Ġmutable ListOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠTT Native Ad . Ad Interaction Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Clicked ( view : ĠView , Ġad : ĠTT Native Ad ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ çĤ¹åĩ» æĻ®éĢļ åĮºåŁŁ çļĦ åĽŀè°ĥ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Creative Click ( view : ĠView , Ġad : ĠTT Native Ad ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ çĤ¹åĩ» åĪĽ æĦı åĮºåŁŁ çļĦ åĽŀè°ĥ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ?. on Ad Clicked ( ad Provider Type ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Show ( ad : ĠTT Native Ad ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ å¹¿åĳĬ æĽ Ŀ åħī å±ķç¤º çļĦ åĽŀè°ĥ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ?. on Ad Ex posed ( ad Provider Type ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( ad Object . image Mode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// è§Ĩé¢ĳ ç±»åŀĭ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTT Ad Constant . IMAGE _ MODE _ VIDEO , ĠTT Ad Constant . IMAGE _ MODE _ VIDEO _ VERTICAL Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetImage Container ()?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Video Container ()?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Main ImageView _ 2 ()?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Main ImageView _ 3 ()?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvideo Cover Image Ġ= Ġad Object . video Cover Image ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ä¿¡æģ¯ æµģ å¦Ĥæŀľ æĺ¯ è§Ĩé¢ĳ çļĦè¯Ŀ ï¼Į å°± åıª å±ķç¤º è§Ĩé¢ĳ å°ģ éĿ¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( video Cover Image Ġ!= Ġnull Ġ&& Ġvideo Cover Image . imageUrl Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Main ImageView _ 1 ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTo gether Ad . m Image Loader ?. load Image ( container . context , Ġit , Ġvideo Cover Image . imageUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// åįķ ä¸ª åĽ¾çīĩ çļĦ ç±»åŀĭ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTT Ad Constant . IMAGE _ MODE _ LARGE _ IMG , ĠTT Ad Constant . IMAGE _ MODE _ SMALL _ IMG , ĠTT Ad Constant . IMAGE _ MODE _ VERTICAL _ IMG Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetImage Container ()?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Video Container ()?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Main ImageView _ 2 ()?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Main ImageView _ 3 ()?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimage List Ġ= Ġad Object . image List ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( image List . isNotEmpty () Ġ&& Ġimage List [ 0 ] Ġ!= Ġnull Ġ&& Ġimage List [ 0 ]. isValid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Main ImageView _ 1 ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTo gether Ad . m Image Loader ?. load Image ( container . context , Ġit , Ġimage List [ 0 ]. imageUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¤ļä¸ª åĽ¾çīĩ çļĦ ç±»åŀĭ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTT Ad Constant . IMAGE _ MODE _ GROUP _ IMG Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetImage Container ()?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Video Container ()?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Main ImageView _ 2 ()?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Main ImageView _ 3 ()?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimage List Ġ= Ġad Object . image List ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( image List . isNotEmpty () Ġ&& Ġimage List [ 0 ] Ġ!= Ġnull Ġ&& Ġimage List [ 0 ]. isValid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Main ImageView _ 1 ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTo gether Ad . m Image Loader ?. load Image ( container . context , Ġit , Ġimage List [ 0 ]. imageUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( image List . isNotEmpty () Ġ&& Ġimage List . size Ġ> Ġ 1 Ġ&& Ġimage List [ 1 ] Ġ!= Ġnull Ġ&& Ġimage List [ 1 ]. isValid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Main ImageView _ 2 ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTo gether Ad . m Image Loader ?. load Image ( container . context , Ġit , Ġimage List [ 1 ]. imageUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( image List . isNotEmpty () Ġ&& Ġimage List . size Ġ> Ġ 2 Ġ&& Ġimage List [ 2 ]. isValid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Main ImageView _ 3 ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTo gether Ad . m Image Loader ?. load Image ( container . context , Ġit , Ġimage List [ 2 ]. imageUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }