package Ġcom . y zy . example . component . comm Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . y zy . base library . base .* Ċ import Ġcom . y zy . example . component . dialog . Action Dialog Ċ import Ġcom . y zy . example . repository . Token StateManager ĊĊ Ċ abstract Ġclass ĠCom m Fragment < VM Ġ: ĠBase ViewModel <* >, DB Ġ: ViewData Binding > Ġ: ĠBase Fragment < VM , DB >() Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¡« åħħ å¸ĥå±Ģ Ġ ç©º å¸ĥå±Ģ Ġloading Ġ ç½ĳç»ľ å¼Ĥå¸¸ çŃī ĊĠĠĠĠ Ġ*/ Ċ // ĠĠ Ġprivate Ġlateinit Ġvar Ġview Controller : ĠView Controller ĊĠĠĠ Ġoverride Ġfun Ġinit View ( saved S ate : ĠBundle ?) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( root View Ġ!= Ġnull ){ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġview Controller Ġ= ĠView Controller ( root View !! ) Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// æ³¨åĨĮ ĠUI äºĭä»¶ ĊĠĠĠĠĠĠĠ Ġregist or Def UI Change () ĊĠĠĠĠĠĠĠ Ġinit ContentView () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æ³¨åĨĮ ĠUI Ġ äºĭä»¶ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġregist or Def UI Change () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . loading Change . show Dialog . observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Loading View () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ ĠviewModel . loading Change . dismiss Dialog . observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss Loading View () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ ĠviewModel . loading Change . token Error . observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToken StateManager . instance . m Network State Callback . post Value ( true ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĠĠĠ Ġopen Ġfun Ġhandle Event ( i : Int ) Ġ{} ĊĊĠĠĠ Ġabstract Ġfun Ġinit ContentView () ĊĊĊĠĠĠ Ġ// ################################ # éķ ¶ åµ Į åľ¨ é¡µéĿ¢ ä¸ŃçļĦ loading -> Start ################################ # // ĊĠĠĠ Ġ// æĺ¾ç¤º json åĬ¨çĶ» çļĦ loading ĊĠĠĠ Ġfun Ġshow Loading View () Ġ{ ĊĠĠĠĠĠ Ġshow Action Loading () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// åħ³éĹŃ loading View ĊĠĠĠ Ġfun Ġdismiss Loading View () Ġ{ ĊĠĠĠĠĠĠ Ġdismiss Action Loading () ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// ################################ # éķ ¶ åµ Į åľ¨ é¡µéĿ¢ ä¸ŃçļĦ loading <- END ################################ # // ĊĊĠĠĠ Ġprivate Ġvar Ġm Action Dialog : ĠAction Dialog ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġshow Action Loading ( text : ĠString ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Action Dialog Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Action Dialog Ġ= ĠAction Dialog . newInstance ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Action Dialog ?. on Dismiss Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Action Dialog Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Action Dialog ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! text . isNull Or Blank ()) Ġit . hint Text Ġ= Ġtext ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . show ( require Activity (). support FragmentManager ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdismiss Action Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Action Dialog ?. dismiss Allow ing State Loss () ĊĠĠĠ Ġ} Ċ }