package Ġcom . yo yi yi . sole il . mvp . presenter . home ĊĊ Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . Json Parser Ċ import Ġcom . yo yi yi . sole il . base . Base Subscriber Ċ import Ġcom . yo yi yi . sole il . base . Rx Presenter Ċ import Ġcom . yo yi yi . sole il . bean . dynamic . Dynamic Ċ import Ġcom . yo yi yi . sole il . bean . dynamic . Mul Dynamic Ċ import Ġcom . yo yi yi . sole il . mvp . contract . home . Dynamic Contract Ċ import Ġcom . yo yi yi . sole il . network . helper . Ret rofit Helper Ċ import Ġcom . yo yi yi . sole il . rx . rx Scheduler Helper Ċ import Ġcom . yo yi yi . sole il . utils . Json Utils Ċ import Ġio . reactivex . Flow able Ċ import Ġjava . util .* Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* Ġ@ author Ġzz q Ġ Ġä½ľèĢħ ĠE - mail : ĠĠ Ġsole ily o yi yi @ gmail . com Ċ Ġ* Ġ* Ċ Ġ* Ġ@ date ĠåĪĽå»º æĹ¶éĹ´ ï¼ļ 2 0 1 7 / 5 / 1 7 Ġ 1 8 : 0 0 Ċ Ġ* Ġ* Ġæı ı è¿° : çĽ´ æĴŃ Presenter Ċ Ġ*/ Ċ Ċ class ĠDynamic Presenter Ġ@ Inject Ġconstructor ( private Ġval Ġretrofit Helper : ĠRet rofit Helper ) Ġ: ĠRx Presenter < Dynamic Contract . View >(), ĠDynamic Contract . Presenter < Dynamic Contract . View > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Mul Dynamic Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġadd Subscribe ( Flow able . just ( Json Utils . read Json (" dynamic . json ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgson Ġ= ĠGson () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ` object ` Ġ= ĠJson Parser (). parse ( it ). as JsonObject ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġ` object `. getAs JsonObject (" data "). getAs JsonArray (" item ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Beans Ġ= Ġitem . map To ( ArrayList < Dynamic . Item Bean >()) Ġ{ Ġgson . fromJson ( it , ĠDynamic . Item Bean :: class . java ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Beans ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmul Dynamics Ġ= Ġmutable ListOf < Mul Dynamic >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . forEach Ġ{ Ġitem Bean Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdynamic Ġ= ĠMul Dynamic ( group Ġ= Ġitem Bean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Type z Ġ= ĠMul Dynamic . TYPE _ LV 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlv Ġ= ĠMul Dynamic . TYPE _ LV 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflag Ġ= Ġget Recent ( item Bean ). isNotEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdynamic . child Ġ= Ġget Recent ( item Bean ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmul Dynamics Ġ+= Ġdynamic ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmul Dynamics ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( rx Scheduler Helper ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe With ( object Ġ: ĠBase Subscriber < List < Mul Dynamic >>( m View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( t : ĠList < Mul Dynamic >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View ?. show Mul Dynamic ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ})) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Recent ( item Bean : ĠDynamic . Item Bean ): ĠList < Mul Dynamic > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrecent Ġ= Ġitem Bean . recent ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠArrayList < Mul Dynamic >() ĊĠĠĠĠĠĠĠ Ġrecent ?. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdynamic Ġ= ĠMul Dynamic ( item Type z Ġ= ĠMul Dynamic . TYPE _ LV 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecent Ġ= Ġit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlv Ġ= ĠMul Dynamic . TYPE _ LV 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġ+= Ġdynamic ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} Ċ } Ċ