package Ġcz . ik em . d ci . z scanner Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . View ĊĊ Ċ class ĠEmpty View RecyclerView Ġ: Ġandroidx . recyclerview . widget . RecyclerView Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġm Empty View : ĠView ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġm Data Observer Ġ= Ġobject Ġ: Ġandroidx . recyclerview . widget . RecyclerView . Adapter Data Observer () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Range Removed ( position Start : ĠInt , Ġitem Count : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Item Range Removed ( position Start , Ġitem Count ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Empty View () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonChanged () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Changed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Empty View () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Range Moved ( from Position : ĠInt , Ġto Position : ĠInt , Ġitem Count : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Item Range Moved ( from Position , Ġto Position , Ġitem Count ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Empty View () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Range Inserted ( position Start : ĠInt , Ġitem Count : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Item Range Inserted ( position Start , Ġitem Count ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Empty View () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Range Changed ( position Start : ĠInt , Ġitem Count : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Item Range Changed ( position Start , Ġitem Count ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Empty View () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Range Changed ( position Start : ĠInt , Ġitem Count : ĠInt , Ġpayload : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Item Range Changed ( position Start , Ġitem Count , Ġpayload ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Empty View () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ) Ġ: Ġsuper ( context , Ġattrs ) ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet , Ġdef Style : ĠInt ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDesign ate Ġa Ġview Ġas Ġthe Ġempty Ġview . ĠWhen Ġthe Ġbacking Ġadapter Ġhas Ġno ĊĠĠĠĠ Ġ* Ġdata Ġthis Ġview Ġwill Ġbe Ġmade Ġvisible Ġand Ġthe Ġre cycler Ġview Ġhidden . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Empty View ( empty View : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Empty View Ġ= Ġempty View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Adapter ( adapter : Ġandroidx . recyclerview . widget . RecyclerView . Adapter < *> ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( get Adapter () Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Adapter () !!. unregister Adapter Data Observer ( m Data Observer ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġadapter ?. register Adapter Data Observer ( m Data Observer ) ĊĠĠĠĠĠĠĠ Ġsuper . setAdapter ( adapter ) ĊĠĠĠĠĠĠĠ Ġupdate Empty View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Empty View () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Empty View Ġ!= Ġnull Ġ&& Ġadapter Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshow Empty View Ġ= Ġadapter !!. item Count Ġ== Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Empty View !!. visibility Ġ= Ġif Ġ( show Empty View ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġif Ġ( show Empty View ) ĠView . GONE Ġelse ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }