package Ġcom . bb q . base . base Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bb q . base . R Ċ import Ġcom . bb q . base . utils . get Res String Ċ Ċ /** Ċ Ġ* Ġ è¿ĻéĩĮ åıª ä¼łåħ¥ Ġdatab ind ing Ġæĺ¯ çĶ±äºİ Ġview model è¦ģ ä½¿çĶ¨çļĦ è¯Ŀ Ġåı¯ä»¥ çĽ´æİ¥ éĢļè¿ĩ k oin æ³¨è§£ Ċ Ġ*/ Ċ abstract Ġclass ĠBase V MA ct ivity < T Ġ: ĠView Data Binding > Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġä¸º è¯¥ é¡µéĿ¢ ç»ĳå®ļ æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġlateinit Ġvar Ġm Binding : ĠT ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġm Binding Ġ= ĠData Binding Util . set ContentView ( this , Ġget Layout Id ()) ĊĠĠĠĠĠĠĠ Ġm Binding . lifecycle Owner Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġinit View ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit Data () ĊĠĠĠĠĠĠĠ Ġstart Observer () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĿå§ĭåĮĸ è¢« è§Ĥ å¯Ł æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġstart Observer () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĿå§ĭåĮĸ æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġinit Data () Ġ{} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĿå§ĭåĮĸ è§ĨåĽ¾ çĽ¸åħ³ ĊĠĠĠĠ Ġ* Ġ@ param ĠsavedInstanceState ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun Ġinit View ( savedInstanceState : ĠBundle ? ); ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġm Binding . unbind () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè¿ĶåĽŀ é¡µéĿ¢ å¸ĥå±Ģ èµĦæºĲ ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun Ġget Layout Id (): ĠInt ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ ç©º æķ°æį®çļĦ view ĊĠĠĠĠ Ġ* Ġ@ param Ġparent ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Click Empty Data View ( parent : ĠRecyclerView ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnot Data View : ĠView Ġ= Ġlayout Inflater . inflate ( R . layout . empty _ view , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġnot Data View . setOnClickListener Ġ{ ĠonClick Retry () Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġnot Data View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ ç½ĳç»ľ éĶĻè¯¯ çļĦ view ĊĠĠĠĠ Ġ* Ġ@ param Ġparent ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Click Error View ( parent : ĠRecyclerView ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror View : ĠView Ġ= Ġlayout Inflater . inflate ( R . layout . error _ view , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġerror View . setOnClickListener Ġ{ ĠonClick Retry () Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġerror View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ ç©º æķ°æį® å¹¶ è®¾ç½® æıĲç¤º çļĦ view ĊĠĠĠĠ Ġ* Ġ@ param Ġparent ĊĠĠĠĠ Ġ* Ġ@ param Ġmsg Ġè®¾ç½® çļĦ æıĲç¤º åĨħå®¹ ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Msg Empty Data View ( ĊĠĠĠĠĠĠĠ Ġparent : ĠRecyclerView , ĊĠĠĠĠĠĠĠ Ġmsg : ĠString ? Ġ= ĠR . string . base _ no _ data . get Res String () ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnot Data View : ĠView Ġ= Ġlayout Inflater . inflate ( R . layout . empty _ view , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġnot Data View . findViewById < TextView >( R . id . tv _ nod ata ). text Ġ= Ġmsg ĊĠĠĠĠĠĠĠ Ġreturn Ġnot Data View ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ å¼Ĥå¸¸ æıĲç¤º æķ°æį® å¹¶ è®¾ç½® æıĲç¤º çļĦ view ĊĠĠĠĠ Ġ* Ġ@ param Ġparent ĊĠĠĠĠ Ġ* Ġ@ param Ġmsg Ġè®¾ç½® çļĦ æıĲç¤º åĨħå®¹ ĊĠĠĠĠ Ġ* Ġ@ return ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Msg Error View ( ĊĠĠĠĠĠĠĠ Ġparent : ĠRecyclerView , ĊĠĠĠĠĠĠĠ Ġmsg : ĠString ? Ġ= ĠR . string . base _ net _ error . get Res String () ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror View : ĠView Ġ= Ġlayout Inflater . inflate ( R . layout . error _ view , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġerror View . findViewById < TextView >( R . id . tv _ error _ msg ). text Ġ= Ġmsg ĊĠĠĠĠĠĠĠ Ġreturn Ġerror View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ éĩį è¯ķ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun ĠonClick Retry () Ġ{ ĊĊĠĠĠ Ġ} Ċ Ċ }