package Ġcom . s cha ffer . base . kotlin . common . base Ċ Ċ import Ġandroid . os . Build Ċ import Ġcom . s cha ffer . base . kotlin . common . utils . App Utils Ċ import Ġcom . s cha ffer . base . kotlin . common . utils . Encrypt Utils Ċ import Ġcom . s cha ffer . base . kotlin . common . utils . Lt Utils Ċ import Ġcom . s cha ffer . base . kotlin . common . utils . StringUtils Ċ import Ġcom . z hy . http . okhttp . builder . Ok HttpRequest Builder Ċ import Ġrx . Observable Ċ import Ġrx . android . schedul ers . Android Schedulers Ċ import Ġrx . schedul ers . Schedulers Ċ import Ġrx . subscriptions . Composite Subscription Ċ import Ġjava . net . Socket TimeoutException ĊĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby ĠS cha ffer W ang Ġon Ġ 2 0 1 7 / 5 / 1 3 . Ċ Ġ*/ Ċ Ċ open Ġclass ĠBase Presenter < V Ġ: ĠBase View > Ġ{ ĊĊĊĠĠĠ Ġprotected Ġvar Ġcomposite Subscription : ĠComposite Subscription ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġtag : ĠString ĊĠĠĠ Ġprotected Ġvar Ġm View : ĠV ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġcomposite Subscription Ġ= ĠComposite Subscription () ĊĠĠĠĠĠĠĠ Ġtag Ġ= Ġjava Class . simple Name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġattach ( view : ĠV ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( composite Subscription Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomposite Subscription Ġ= ĠComposite Subscription () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . m View Ġ= Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdetach () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( composite Subscription Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomposite Subscription !!. unsubscribe () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcomposite Subscription Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġm View Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Log ( content : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠL t Utils . w ( tag , Ġcontent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Toast ( content : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. show Toast ( content ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġloading () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. show Loading (" åĬłè½½ ä¸Ń ...") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġdismiss Load () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. dismiss Loading () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠĠĠ Ġprotected Ġboolean Ġon Response ( Base Bean Ġbean ) Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġif Ġ( m View Ġ!= Ġnull ) Ġm View . dismiss Loading (); ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġif Ġ( bean . get Err code () Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m View Ġ!= Ġnull ) Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bean . get Err str (). contains (" å¿ħè¦ģ åıĤæķ° ")) Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View . show Log ( bean . get Err str ()); ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View . show Toast ( bean . get Err str ()); ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ// ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġreturn Ġbean . get Err code () Ġ== Ġ 0 ; ĊĠĠĠ Ġ// ĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġ< T Ġ: ĠOk HttpRequest Builder <* >> Ġadd Header ( builder : ĠT ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġs Ġ= ĠStringUtils . generate Short Uuid () ĊĠĠĠĠĠĠĠ Ġval Ġt Ġ= ĠSystem . currentTimeMillis () Ġ/ Ġ 1 0 0 0 ĊĠĠĠĠĠĠĠ Ġval Ġsign _ str Ġ= Ġt . toString () Ġ+ Ġ" Constants . WITH DRAW _ INFO " Ġ+ Ġs ĊĠĠĠĠĠĠĠ Ġval Ġsign Ġ= ĠEncrypt Utils . encrypt MD 5 ToString ( sign _ str . toUpperCase ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġbuilder . add Header (" v ", App Utils . getVersion Name ( My Application . instance )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" sv ", ĠBuild . MAN U FACT UR ER Ġ+ Ġ" Ġ" Ġ+ ĠBuild . VERSION . SDK ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" sign ", Ġsign ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" t ", Ġt . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" s ", Ġs ) Ġas ĠT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġon Failed ( t : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( t Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. dismiss Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. show Log ( t . message Ġ+ Ġ" --> \ n \ t \ t " Ġ+ Ġt . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( t Ġis ĠSocket TimeoutException Ġ&& Ġm View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. show Toast (" ç½ĳç»ľ çĬ¶ åĨµ å¥½ åĥı ä¸į å¤ª å¥½ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm View !!. show Toast (" ç½ĳç»ľ çĬ¶ åĨµ å¥½ åĥı ä¸į å¤ª å¥½ ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinner Ġclass ĠScheduler Transformer < T > Ġ: ĠObservable . Transformer < T , ĠT > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcall ( observable : ĠObservable < T >): ĠObservable < T > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġobservable . subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. unsubscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ