package Ġcom . alle ver . android . dependency . lib Ċ Ċ import Ġandroid . animation .* Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . LinearLayout Ċ import Ġcom . alle ver . lib . comment . Comment Dialog Ċ import Ġcom . alle ver . lib . comment . Comment Helper Ċ import Ġcom . alle ver . lib . comment . Comment Listener Ċ import Ġcom . alle ver . lib . common . app . Base Activity Ċ import Ġcom . alle ver . lib . common . util . Activity Collector Ċ import Ġcom . alle ver . lib . common . util . toast Ċ import Ġcom . alle ver . lib . recommend . Recommend Activity Ċ import Ġcom . alle ver . lib . recommend . Recommend Dialog Helper Ċ import Ġcom . alle ver . lib . recommend . Recommend Dialog Listener Ċ import Ġcom . facebook . shim mer . Sh im mer Ċ import Ġcom . facebook . shim mer . Sh im mer Frame Layout Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjava . util .* Ċ Ċ class ĠMainActivity Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Iv : ĠImageView ĊĊĠĠĠ Ġprivate Ġvar Ġm Ad Anim A : ĠObject Animator ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Ad Anim B : Object Animator ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Ad Anim C : Object Animator ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Ad Anim D : Object Animator ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Image Ad a : ĠImageView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Image A db : ImageView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Image Ad c : ImageView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Image Add : ImageView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġm Obj Animator List Ġ= ĠArrayList < Object Animator >() ĊĠĠĠ Ġprivate Ġvar Ġm Random : ĠRandom ? Ġ= Ġnull Ċ // ĠĠĠ Ġprivate Ġvar Ġm Ad Model List : ĠList < Ad Model >? Ġ= ĠLinkedList < Ad Model >() ĊĠĠĠ Ġprivate Ġval Ġm Iv List Ġ= ĠArrayList < ImageView >() ĊĠĠĠ Ġprivate Ġvar Ġrecommend Layout : ĠLinearLayout ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) Ċ // ĠĠĠĠĠĠĠ Ġm Iv Ġ= ĠfindViewById ( R . id . main _ iv ) Ċ // ĠĠĠĠĠĠĠ ĠImage Loader . set Proxy ( G lide Proxy ()) Ċ // ĠĠĠĠĠĠĠ ĠImage Loader . load Image ( this , Ġ" https :// www . baidu . com / img / bd _ logo 1 . png ", Ġm Iv ) ĊĊĊĠĠĠĠĠĠĠ Ġbtn Recommend . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= Ġet Channel . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRecommend Activity . start ( this , Ġchannel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġshim mer Layout Ġ= ĠfindViewById < Sh im mer Frame Layout >( R . id . shim mer Layout ) ĊĠĠĠĠĠĠĠ Ġval Ġshim mer Ġ= ĠSh im mer . Alpha Highlight Builder () ĊĠĠĠĠĠĠĠ Ġshim mer . set Duration ( 1 5 0 0 ) Ċ // ĠĠĠĠĠĠĠ Ġshim mer . set Base Alpha ( 0 . 9 f ) ĊĠĠĠĠĠĠĠ Ġshim mer Layout . set Sh im mer ( shim mer . build ()) ĊĠĠĠĠĠĠĠ Ġshim mer Layout . start Sh im mer () ĊĊĠĠĠĠĠĠĠ Ġm Comment Dialog Ġ= ĠComment Helper . create Comment Dialog ( this , Ġobject Ġ: ĠComment Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Comment ( dialog : ĠDialog ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ?. dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Reject ( dialog : ĠDialog ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ?. dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Back Press ( dialog : ĠDialog ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Comment Dialog ?. dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGlobal Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) Ġas ĠComment Dialog ĊĊĊĠĠĠĠĠĠĠ Ġm Image Ad a Ġ= ĠfindViewById ( R . id . iv 1 ) ĊĠĠĠĠĠĠĠ Ġm Image A db Ġ= ĠfindViewById ( R . id . iv 2 ) ĊĠĠĠĠĠĠĠ Ġm Image Ad c Ġ= ĠfindViewById ( R . id . iv 3 ) ĊĠĠĠĠĠĠĠ Ġm Image Add Ġ= ĠfindViewById ( R . id . iv 4 ) ĊĠĠĠĠĠĠĠ Ġrecommend Layout Ġ= ĠfindViewById ( R . id . ll Recommend ) ĊĠĠĠĠĠĠĠ Ġm Iv List . add ( m Image Ad a !! ) ĊĠĠĠĠĠĠĠ Ġm Iv List . add ( m Image A db !! ) ĊĠĠĠĠĠĠĠ Ġm Iv List . add ( m Image Ad c !! ) ĊĠĠĠĠĠĠĠ Ġm Iv List . add ( m Image Add !! ) ĊĊĠĠĠĠĠĠĠ Ġm Random Ġ= ĠRandom () ĊĊĠĠĠĠĠĠĠ Ġ// åĪĿå§ĭåĮĸ åĬ¨çĶ» èµĦæºĲ ĊĠĠĠĠĠĠĠ Ġinit Animation () ĊĊĠĠĠĠĠĠĠ Ġstart ( m Obj Animator List [ m Random ?. nextInt ( 4 ) !! ]) ĊĊĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠArrayList < String >() ĊĊĠĠĠĠĠĠĠ Ġlist . add (" 3 3 3 3 ") ĊĠĠĠĠĠĠĠ Ġlist . add (" 1 ") ĊĠĠĠĠĠĠĠ Ġlist . add (" 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ") ĊĠĠĠĠĠĠĠ Ġlist . add (" æ¸ħ ç©º ä¸ĩ éĩĮ ") ĊĠĠĠĠĠĠĠ Ġlist . add (" ä¸¤ æĿ¡ çĽ¸ äº¤ çº¿ ") ĊĠĠĠĠĠĠĠ Ġlist . add (" çŁŃ éĢ Ķ ") ĊĠĠĠĠĠĠĠ Ġlist . add (" å¸ĮæľĽ åľ¨ æĺİ å¤© ä¼ļ æĽ´ å¥½ ") ĊĊĠĠĠĠĠĠĠ Ġval Ġauto Adapter Ġ= ĠMy Auto Adapter ( this ) ĊĠĠĠĠĠĠĠ Ġauto Adapter . setOn ItemClickListener Ġ{ Ġview , Ġtext Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast ( text ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġauto Adapter . setData ( list ) ĊĠĠĠĠĠĠĠ Ġauto Layout . setAdapter ( auto Adapter ) ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" https :// sh ou ji . baidu . com / software / 2 6 7 9 9 7 0 5 . html " ĊĠĠĠĠĠĠĠ Ġrecommend ImageView . set Recommend Data ( R . drawable . ic _ logo , Ġ" com . alle ver . app . virtual . call ", Ġurl ) ĊĊĠĠĠĠĠĠĠ Ġbtn Start . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Collector . startActivity < Second Activity >( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra (" extra _ a ", Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra (" extra _ b ", Ġ" hello ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠSecond Activity . start ( this , Ġ 1 , Ġ" hello ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġrecommend ImageView . refresh () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġm Comment Dialog : ĠDialog ? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Comment Dialog ?. is Showing Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġm Comment Dialog ?. show () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrecommend Dialog Ġ= ĠRecommend Dialog Helper . create Recommend Dialog ( this , Ġobject Ġ: ĠRecommend Dialog Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon More ( dialog : ĠDialog ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ?. dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Reject ( dialog : ĠDialog ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ?. dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Back Press ( dialog : ĠDialog ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Comment Dialog ?. dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGlobal Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRecommend Dialog Helper . show ( this , Ġrecommend Dialog ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġinit Animation () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Ad Anim A Ġ= Ġset Anim ( m Image Ad a , Ġ 1 f , Ġ 2 0 0 0 , Ġ 1 5 0 0 ) ĊĠĠĠĠĠĠĠ Ġm Ad Anim B Ġ= Ġset Anim ( m Image A db , Ġ 1 f , Ġ 2 0 0 0 , Ġ 1 5 0 0 ) ĊĠĠĠĠĠĠĠ Ġm Ad Anim C Ġ= Ġset Anim ( m Image Ad c , Ġ 1 f , Ġ 2 0 0 0 , Ġ 1 5 0 0 ) ĊĠĠĠĠĠĠĠ Ġm Ad Anim D Ġ= Ġset Anim ( m Image Add , Ġ 1 f , Ġ 2 0 0 0 , Ġ 1 5 0 0 ) ĊĠĠĠĠĠĠĠ Ġm Obj Animator List . add ( m Ad Anim A !! ) ĊĠĠĠĠĠĠĠ Ġm Obj Animator List . add ( m Ad Anim B !! ) ĊĠĠĠĠĠĠĠ Ġm Obj Animator List . add ( m Ad Anim C !! ) ĊĠĠĠĠĠĠĠ Ġm Obj Animator List . add ( m Ad Anim D !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Anim ( ĊĠĠĠĠĠĠĠ Ġview : ĠView ?, ĊĠĠĠĠĠĠĠ Ġsh ake Factor : ĠFloat , ĊĠĠĠĠĠĠĠ Ġstart Delay : ĠInt , ĊĠĠĠĠĠĠĠ Ġduration : ĠInt ĊĠĠĠ Ġ): ĠObject Animator Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġp vh Rotate Ġ= ĠProperty Values Holder . of Keyframe ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView . ROT ATION , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKey frame . of Float ( 0 f , Ġ 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKey frame . of Float (. 1 f , Ġ- 3 f Ġ* Ġsh ake Factor ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKey frame . of Float (. 2 f , Ġ- 3 f Ġ* Ġsh ake Factor ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKey frame . of Float (. 3 f , Ġ 3 f Ġ* Ġsh ake Factor ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKey frame . of Float (. 4 f , Ġ- 3 f Ġ* Ġsh ake Factor ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKey frame . of Float (. 5 f , Ġ 3 f Ġ* Ġsh ake Factor ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKey frame . of Float (. 6 f , Ġ- 3 f Ġ* Ġsh ake Factor ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKey frame . of Float (. 7 f , Ġ 3 f Ġ* Ġsh ake Factor ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKey frame . of Float (. 8 f , Ġ- 3 f Ġ* Ġsh ake Factor ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKey frame . of Float (. 9 f , Ġ 3 f Ġ* Ġsh ake Factor ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKey frame . of Float ( 1 f , Ġ 0 f ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġobject Animator Ġ= ĠObject Animator . of Property Values Holder ( view , Ġp vh Rotate ) ĊĠĠĠĠĠĠĠ Ġobject Animator . duration Ġ= Ġduration . to Long () ĊĠĠĠĠĠĠĠ Ġobject Animator . start Delay Ġ= Ġstart Delay . to Long () ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Animator ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart ( object Animator : ĠObject Animator ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġanim ator Set Ġ= ĠAn imator Set () ĊĠĠĠĠĠĠĠ Ġanim ator Set . play ( object Animator ) ĊĠĠĠĠĠĠĠ Ġanim ator Set . addListener ( object Ġ: ĠAn imator Listener Adapter () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Animation End ( animation : ĠAn imator ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart ( m Obj Animator List [ m Random ?. nextInt ( 4 ) !! ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġanim ator Set . start () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġm Ad Anim A ?. cancel () ĊĠĠĠĠĠĠĠ Ġm Ad Anim B ?. cancel () ĊĠĠĠĠĠĠĠ Ġm Ad Anim C ?. cancel () ĊĠĠĠĠĠĠĠ Ġm Ad Anim D ?. cancel () ĊĠĠĠ Ġ} Ċ } Ċ