package Ġcn . nic ol ite . hut helper . view . presenter Ċ Ċ import Ġandroid . text . TextUtils Ċ import Ġcn . nic ol ite . hut helper . base . Base Presenter Ċ import Ġcn . nic ol ite . hut helper . db . dao . Grade Dao Ċ import Ġcn . nic ol ite . hut helper . model . bean . Grade Ċ import Ġcn . nic ol ite . hut helper . model . bean . Http Result Ċ import Ġcn . nic ol ite . hut helper . network . API Utils Ċ import Ġcn . nic ol ite . hut helper . network . exception . Exception Engine Ċ import Ġcn . nic ol ite . hut helper . utils . List Utils Ċ import Ġcn . nic ol ite . hut helper . view . activity . Grade List Activity Ċ import Ġcn . nic ol ite . hut helper . view . iv iew . IG r ade ListView Ċ import Ġio . reactivex . Observer Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ import Ġio . reactivex . functions . Function Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġn icol ite Ġon Ġ 1 7 - 1 1 - 1 3 . Ċ Ġ*/ Ċ Ċ class ĠGr ade List Presenter ( view : ĠI Grade ListView , Ġactivity : ĠGr ade List Activity ) Ġ: ĠBase Presenter < IG r ade ListView , ĠGr ade List Activity >( view , Ġactivity ) Ġ{ ĊĊĠĠĠ Ġfun Ġshow Grade List () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgrade Dao Ġ= Ġdao Session . grade Dao ĊĠĠĠĠĠĠĠ Ġval Ġgrade List Ġ= Ġgrade Dao . query Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. where ( Grade Dao . Properties . UserId . eq ( userId )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. list () ĊĠĠĠĠĠĠĠ Ġif Ġ(! List Utils . isEmpty ( grade List )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget View ()?. show Grade List ( grade List ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget View ()?. show Loading () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠAPI Utils . get Grade API (). grade List ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( activity . bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( Function < Http Result < List < Grade >>, ĠList < Grade >> Ġ{ Ġlist Http Result Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġlist : ĠList < Grade > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( list Http Result . code Ġ!= Ġ 2 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ Function Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġ= Ġlist Http Result . data ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCollections . sort ( list ) Ġ{ Ġgrade , Ġt 1 Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp 1 Ġ= ĠInteger . parseInt ( grade . xn . split ("- ". to Regex ()). drop Last While Ġ{ Ġit . isEmpty () Ġ}. to Typed Array ()[ 0 ] Ġ+ Ġgrade . xq ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp 2 Ġ= ĠInteger . parseInt ( t 1 . xn . split ("- ". to Regex ()). drop Last While Ġ{ Ġit . isEmpty () Ġ}. to Typed Array ()[ 0 ] Ġ+ Ġt 1 . xq ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp 2 Ġ- Ġtemp 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! List Utils . isEmpty ( grade List )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( grade Ġin Ġgrade List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgrade Dao . delete ( grade ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( grade Ġin Ġlist ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgrade . userId Ġ= ĠuserId ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgrade Dao . insert ( grade ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( object Ġ: ĠObserver < List < Grade >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Subscribe ( d : ĠDis posable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Next ( grade List : ĠList < Grade >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget View ()?. close Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! List Utils . isEmpty ( grade List )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget View ()?. show Grade List ( grade List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget View ()?. showMessage (" æ²¡æľī æī¾åĪ° ä½łçļĦ æĪĲ ç» © ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget View ()?. close Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget View ()?. showMessage (" èİ·åıĸ æķ°æį® éĶĻè¯¯ ï¼Į " Ġ+ ĠException Engine . handle Exception ( e ). msg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonComplete () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġchange Grade List ( grade List : ĠList < Grade >, Ġx uen ian : ĠString , Ġx ue qi : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( TextUtils . isEmpty ( xu en ian ) Ġ|| ĠText Utils . isEmpty ( x ue qi )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget View ()?. change Grade List ( grade List ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠArrayList < Grade >() ĊĠĠĠĠĠĠĠ Ġfor Ġ( grade Ġin Ġgrade List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( grade . xn Ġ== Ġx uen ian Ġ&& Ġgrade . xq Ġ== Ġx ue qi ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( grade ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġget View ()?. change Grade List ( list ) ĊĠĠĠ Ġ} Ċ }