package Ġcom . cy l . music lake . ui . music . online . presenter Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . util . Log Ċ import Ġcom . cy l . music lake . api . Playlist Api ServiceImpl Ċ import Ġcom . cy l . music lake . api . baidu . B aid u Api ServiceImpl Ċ import Ġcom . cy l . music lake . base . Base Presenter Ċ import Ġcom . cy l . music lake . bean . Music Ċ import Ġcom . cy l . music lake . bean . Playlist Ċ import Ġcom . cy l . music lake . bean . Query Radio Audio List Bean Ċ import Ġcom . cy l . music lake . bean . Spec ail Radio Bean Ċ import Ġcom . cy l . music lake . data . Playlist Loader Ċ import Ġcom . cy l . music lake . data . db . Dao Lite pal Ċ import Ġcom . cy l . music lake . net . Api Manager Ċ import Ġcom . cy l . music lake . net . Request CallBack Ċ import Ġcom . cy l . music lake . ui . music . online . contract . Online Playlist Contract Ċ import Ġcom . cy l . music lake . utils . SP Utils Ċ import Ġcom . cy l . music lake . utils . Toast Utils Ċ import Ġcom . cy l . music lake . utils . Update Utils Ċ import Ġio . reactivex . Observer Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġorg . jetbrains . ank o . do Async Ċ import Ġorg . jetbrains . ank o . ui Thread Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠD 2 2 4 3 4 Ġon Ġ 2 0 1 8 / 1 / 4 . Ċ Ġ*/ Ċ Ċ class ĠOnline Playlist Presenter Ġ@ Inject Ċ constructor () Ġ: ĠBase Presenter < Online Playlist Contract . View >(), ĠOnline Playlist Contract . Presenter Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġload Music List ( a Id : ĠString ?, Ġactivity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm View ?. show Loading () ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġobservable Ġ= ĠPlaylist Api ServiceImpl . Query Radio Audio List ( a Id !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApi Manager . request ( observable , Ġobject Ġ: ĠRequest CallBack < Query Radio Audio List Bean > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsuccess ( result : ĠQuery Radio Audio List Bean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ!= Ġnull Ġ&& Ġresult . code Ġ== Ġ- 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// çĻ» éĻĨ èº«ä»½ å¤± æķĪ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUpdate Utils . logout Dialog (" çĻ»å½ķ åĲİ åį³åı¯ ä½¿çĶ¨ æŃĮ æĽ² æĶ¶ èĹı åĬŁèĥ½ , è¯· çĻ»å½ķ !! ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View . hide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View ?. show Music List ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġerror ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View . hide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm View . hide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . show (" ç½ĳç»ľ å¼Ĥå¸¸ ï¼Į è¯· éĩįæĸ° å°Ŀè¯ķ !") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" load Music List _ error =", Ġe . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload B ai Du Playlist () Ġ{ ĊĠĠĠĠĠĠĠ ĠB aid u Api ServiceImpl . get Online Playlist () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( m View . bind To Life ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( object Ġ: ĠObserver < List < Playlist >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Subscribe ( d : ĠDis posable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View . show Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Next ( result : ĠList < Playlist >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View . show Charts ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View . hide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View . show Error Info ( e . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonComplete () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View . hide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload Top List () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobservable Ġ= ĠPlaylist Api ServiceImpl . get Net ease Rank ( IntArray ( 2 2 ) Ġ{ Ġi Ġ-> Ġi Ġ}, Ġ 3 ) ĊĠĠĠĠĠĠĠ ĠApi Manager . request ( observable , Ġobject Ġ: ĠRequest CallBack < Mutable List < Playlist >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsuccess ( result : ĠMutable List < Playlist >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View ?. show Charts ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġerror ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View . hide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload Spe Data ( get My Favorite : ĠBoolean , Ġactivity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm View . show Loading () ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġobservable Ġ= ĠPlaylist Api ServiceImpl . Query Radio List ( get My Favorite ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApi Manager . request ( observable , Ġobject Ġ: ĠRequest CallBack < Spec ail Radio Bean > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsuccess ( result : ĠSpec ail Radio Bean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ!= Ġnull Ġ&& Ġresult . code Ġ== Ġ- 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// çĻ» éĻĨ èº«ä»½ å¤± æķĪ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUpdate Utils . logout Dialog (" çĻ»å½ķ åĲİ åį³åı¯ ä½¿çĶ¨ æŃĮ æĽ² æĶ¶ èĹı åĬŁèĥ½ , è¯· çĻ»å½ķ !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View . hide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View ?. show List ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġerror ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View . hide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm View . hide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast Utils . show (" ç½ĳç»ľ å¼Ĥå¸¸ ï¼Į è¯· éĩįæĸ° å°Ŀè¯ķ !") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" load Spe Data _ error =", Ġe . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç į ² åıĸ æķ¸ æĵ ļ åº « è£ ı å°į æĩ ī å° Ī è¼ ¯ çļĦ éŁ³ é¢ĳ åĪĹè¡¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Music List DB () Ġ{ ĊĠĠĠĠĠĠĠ Ġdo Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdata : ĠList < Music > Ġ= ĠDao Lite pal . getNew Music List ( SP Utils . getP Id ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data Ġ!= Ġnull Ġ&& Ġ! TextUtils . isEmpty ( SP Utils . getP Id ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" get Music List DB ----- ", Ġdata . size . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View ?. get DB Music List ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View ?. show Empty State () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠæĬ Ĭ éŁ³ é¢ĳ åĪĹè¡¨ æıĴåħ¥ æĪĸ æĽ´æĸ° åľ¨ æķ°æį®åºĵ éĩĮ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġinsert Music List DB ( sId : ĠString ?, Ġlist : ĠList < Music > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġdo Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġs Id ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDao Lite pal . delete All Music ( sId !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPlaylist Loader . add Music List ( sId !! , Ġlist !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data Ġ!= Ġnull Ġ&& Ġ! TextUtils . isEmpty ( sId )) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View ?. show Playlist S ongs ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View ?. show Empty State () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ