package Ġcom . if m vo . together ad . demo . banner Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . view . View Ċ import Ġcom . if m vo . together ad . core . helper . Ad Helper Banner Ċ import Ġcom . if m vo . together ad . core . listener . Banner Listener Ċ import Ġcom . if m vo . together ad . core . utils . Screen Util Ċ import Ġcom . if m vo . together ad . core . utils . px 2 dp Ċ import Ġcom . if m vo . together ad . cs j . provider . Cs j Provider Ċ import Ġcom . if m vo . together ad . demo . R Ċ import Ġcom . if m vo . together ad . demo . app . Ad Provider Type Ċ import Ġcom . if m vo . together ad . demo . app . To gether Ad Alias Ċ import Ġkotlinx . android . synt hetic . main . activity _ banner . ad Container Ċ import Ġkotlinx . android . synt hetic . main . activity _ banner . btn Request Show Ċ import Ġkotlinx . android . synt hetic . main . activity _ banner . info Ċ import Ġkotlinx . android . synt hetic . main . activity _ banner . log Ċ Ċ /** Ċ Ġ* ĠBanner Ġæ¨ ª å¹ ħ å¹¿åĳĬ Ċ Ġ* Ċ Ġ* ĠCreated Ġby ĠMat thew ĠChen Ġon Ġ 2 0 2 0 / 5 / 2 6 . Ċ Ġ*/ Ċ class ĠBanner Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġfun Ġaction ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠ Ġcontext . startActivity ( Intent ( context , ĠBanner Activity :: class . java )) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠ ĠsetContentView ( R . layout . activity _ banner ) ĊĊĠĠĠ Ġbtn Request Show . setOnClickListener Ġ{ ĊĠĠĠĠĠ Ġshow Banner Ad () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġshow Banner Ad () ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġshow Banner Ad () Ġ{ ĊĊĠĠĠ Ġad Container . removeAll Views () ĊĊĠĠĠ Ġval Ġratio Map Banner Ġ= Ġlinked Map Of ( ĊĠĠĠĠĠ ĠAd Provider Type . G DT . type Ġto Ġ 1 , ĊĠĠĠĠĠ ĠAd Provider Type . CS J . type Ġto Ġ 1 , ĊĠĠĠĠĠ ĠAd Provider Type . BA ID U . type Ġto Ġ 1 ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ// è®¾ç½® Ġ ç© ¿ å±± çĶ ² ĠBanner Ġ åĪ·æĸ° éĹ´ éļĶ æĹ¶éĹ´ ms ï¼Į åı¯ä»¥ ä¸į è®¾ç½® ï¼Į é»ĺè®¤ä¸º Ġ 3 0 Ġ* Ġ 1 0 0 0 Ġms ĊĠĠĠ ĠC sj Provider . Banner . slide Interval Time Ġ= Ġ 3 0 Ġ* Ġ 1 0 0 0 ĊĊĠĠĠ Ġ// è®¾ç½® Ġ ç© ¿ å±± çĶ ² ĠBanner Ġ å° º å¯ ¸ ĊĠĠĠ ĠC sj Provider . Banner . set Express View Accepted Size ( ĊĠĠĠĠĠ Ġpx 2 dp ( this , ĠScreen Util . getDisplay Metrics Width ( this )), ĊĠĠĠĠĠ Ġpx 2 dp ( this , ĠScreen Util . getDisplay Metrics Width ( this ) Ġ/ Ġ 8 ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠAd Helper Banner . show ( activity Ġ= Ġthis , Ġalias Ġ= ĠTo gether Ad Alias . AD _ BAN NER , ĊĠĠĠĠĠ Ġcontainer Ġ= Ġad Container , Ġ/* ratio Map Ġ= Ġratio Map Banner , */ Ġlistener Ġ= Ġobject Ġ: ĠBanner Listener Ġ{ ĊĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Start Request ( provider Type : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// åľ¨ å¼Ģå§ĭ è¯·æ±Ĥ ä¹ĭåīį ä¼ļ åĽŀè°ĥ æŃ¤ æĸ¹æ³ķ ï¼Į å¤±è´¥ åĪĩæį¢ çļĦ æĥħåĨµ ä¼ļ åĽŀè°ĥ å¤ļ æ¬¡ ĊĠĠĠĠĠĠĠ Ġadd Log ("\ n å¼Ģå§ĭ è¯·æ±Ĥ äºĨ ï¼Į $ provider Type ") ĊĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ çĻ¾ åº¦ ï¼ļ è®¾ç½® ' å¹¿åĳĬ çĿĢ éĻĨ é¡µ ' åĬ¨ ä½ľ æłı çļĦ é¢ľèī² ä¸»é¢ĺ ï¼Į çĽ®åīį å¼Ģ æĶ¾ äºĨ ä¸ĥ å¤§ ä¸»é¢ĺ ï¼ļ é»ĳ èī² ãĢģ èĵĿ èī² ãĢģ åĴ ĸ åķ ¡ èī² ãĢģ ç» ¿ èī² ãĢģ èĹı éĿĴ èī² ãĢģ çº¢ èī² ãĢģ çĻ½ èī² ( é»ĺè®¤ ) Ġ ä¸»é¢ĺ ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( provider Type Ġ== ĠAd Provider Type . BA ID U . type ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Activity . set ActionBar Color Theme ( App Activity . ActionBar Color Theme . ACTION _ BAR _ RED _ THEME ) ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Loaded ( provider Type : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// å¹¿åĳĬ è¯·æ±Ĥ æĪĲåĬŁ çļĦ åĽŀè°ĥ ï¼Į æ¯ıæ¬¡ è¯·æ±Ĥ åıª åĽŀè°ĥ ä¸Ģæ¬¡ ĊĠĠĠĠĠĠĠ Ġadd Log (" è¯·æ±Ĥ åĪ°äºĨ ï¼Į $ provider Type ") ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Failed ( ĊĠĠĠĠĠĠĠ Ġprovider Type : ĠString , ĊĠĠĠĠĠĠĠ Ġfailed Msg : ĠString ? ĊĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// è¯·æ±Ĥ å¤±è´¥ çļĦ åĽŀè°ĥ ï¼Į å¤±è´¥ åĪĩæį¢ çļĦ æĥħåĨµ ä¼ļ åĽŀè°ĥ å¤ļ æ¬¡ ĊĠĠĠĠĠĠĠ Ġadd Log (" åįķ ä¸ª å¹¿åĳĬ è¯·æ±Ĥ å¤±è´¥ , Ġ$ provider Type , Ġ$ failed Msg ") ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Failed All ( failed Msg : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// æīĢæľī éħįç½® çļĦ å¹¿åĳĬ åķĨ éĥ½ è¯·æ±Ĥ å¤±è´¥ äºĨ ï¼Į åıªæľī åľ¨ åħ¨éĥ¨ å¤±è´¥ ä¹ĭåĲİ ä¼ļ åĽŀè°ĥ ä¸Ģæ¬¡ ĊĠĠĠĠĠĠĠ Ġadd Log (" åħ¨éĥ¨ è¯·æ±Ĥ å¤±è´¥ äºĨ ") ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Clicked ( provider Type : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// çĤ¹åĩ» å¹¿åĳĬ çļĦ åĽŀè°ĥ ĊĠĠĠĠĠĠĠ Ġadd Log (" çĤ¹åĩ» äºĨ ï¼Į $ provider Type ") ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Expose ( provider Type : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// å¹¿åĳĬ å±ķç¤º æĽ Ŀ åħī çļĦ åĽŀè°ĥ ï¼Ľ çĶ±äºİ ĠBanner Ġ å¹¿åĳĬ åŃĺåľ¨ èĩªåĬ¨ åĪ·æĸ° åĬŁèĥ½ ï¼Į æīĢä»¥ æĽ Ŀ åħī ä¼ļ åĽŀè°ĥ å¤ļ æ¬¡ ï¼Į æ¯ıæ¬¡ åĪ·æĸ° éĥ½ä¼ļ åĽŀè°ĥ ĊĠĠĠĠĠĠĠ Ġadd Log (" æĽ Ŀ åħī äºĨ ï¼Į $ provider Type ") ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Close ( provider Type : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// å¹¿åĳĬ è¢« åħ³éĹŃ çļĦ åĽŀè°ĥ ĊĠĠĠĠĠĠĠ Ġadd Log (" åħ³éĹŃ äºĨ ï¼Į $ provider Type ") ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ// éĶĢ æ¯ ģ ï¼Į éģ¿åħį åĨħåŃĺ æ³ Ħ æ¼ı ĊĠĠĠ Ġad Container ?. removeAll Views () Ġ// å®¹åĻ¨ éľĢè¦ģ æ¸ħ ç©º ï¼Į åĲ¦åĪĻ å¹¿ çĤ¹ éĢļ çļĦ Banner ä¼ļ ä¸ĢçĽ´ è¯·æ±Ĥ ï¼Ī Ġg dt çļĦ bug Ġ ï¼ī ĊĠĠĠ ĠAd Helper Banner . destroy () ĊĠ Ġ} ĊĊĠ Ġprivate Ġvar Ġlog Str Ġ= Ġ" æĹ¥å¿Ĺ : Ġ\ n " ĊĊĠ Ġprivate Ġfun Ġadd Log ( content : ĠString ?) Ġ{ ĊĠĠĠ Ġlog Str Ġ= Ġlog Str Ġ+ Ġcontent Ġ+ Ġ"\ n " ĊĠĠĠ Ġlog . text Ġ= Ġlog Str ĊĊĠĠĠ Ġinfo . post Ġ{ Ġinfo . full Scroll ( View . FOCUS _ DOWN ) Ġ} ĊĠ Ġ} Ċ }