package Ġio . github . g ust av ob arb os ab . commons . widget . scroll able movie Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Typed Array Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . widget . Frame Layout Ċ import Ġandroidx . core . view . is G one Ċ import Ġandroidx . core . view . isIn visible Ċ import Ġandroidx . core . view . isVisible Ċ import Ġio . github . g ust av ob arb os ab . commons . R Ċ import Ġio . github . g ust av ob arb os ab . commons . databinding . Component Scroll able Movies Binding Ċ import Ġio . github . g ust av ob arb os ab . commons . widget . scroll able movie . Scroll able Movies View . Scroll able Visibility States .* Ċ Ċ class ĠScroll able Movies View Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġattrs : ĠAttributeSet ? Ġ= Ġnull , ĊĠĠĠ Ġdef Style Attr : ĠInt Ġ= Ġ 0 Ċ ) Ġ: ĠFrame Layout ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġbinding : ĠComponent Scroll able Movies Binding Ġ= ĊĠĠĠĠĠĠĠ ĠComponent Scroll able Movies Binding ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( context ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġvar Ġadapter : ĠScroll able Movie RecyclerView Adapter ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . movies RecyclerView . adapter Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtyped Array Ġ= Ġcontext . obtain Styled Attributes ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattrs , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . style able . Scroll able Movies View , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdef Style Attr , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġread Attributes ( typed Array ) ĊĠĠĠĠĠĠĠ Ġtyped Array . recycle () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġread Attributes ( typed Array : ĠTyped Array ) Ġ= Ġwith ( typed Array ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= ĠgetString ( R . style able . Scroll able Movies View _ title ). or Empty () ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= ĠgetString ( R . style able . Scroll able Movies View _ try Again Message ). or Empty () ĊĠĠĠĠĠĠĠ Ġval Ġbutton Text Ġ= ĠgetString ( R . style able . Scroll able Movies View _ try Again Button ). or Empty () ĊĊĠĠĠĠĠĠĠ Ġbinding . movies Title . text Ġ= Ġtitle ĊĠĠĠĠĠĠĠ Ġbinding . try Again . setMessage ( message ) ĊĠĠĠĠĠĠĠ Ġbinding . try Again . set ButtonText ( button Text ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Sh im mer () Ġ{ ĊĠĠĠĠĠĠĠ Ġset View Visibility State ( Sh im mer Visible ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Movie List () Ġ{ ĊĠĠĠĠĠĠĠ Ġset View Visibility State ( RecyclerView Visible ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġreload Listener ( listener : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . try Again . button Listener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Try Again () Ġ{ ĊĠĠĠĠĠĠĠ Ġset View Visibility State ( Try Again Visible ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset View Visibility State ( state : ĠScroll able Visibility States ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( state ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRecyclerView Visible Ġ-> Ġre cyclerView Visible () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSh im mer Visible Ġ-> Ġshim mer Visible () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTry Again Visible Ġ-> Ġtry Again Visible () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġre cyclerView Visible () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmovies RecyclerView . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Again . is G one Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshim mer Layout . is G one Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshim mer Visible () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshim mer Layout . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmovies RecyclerView . isIn visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Again . is G one Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtry Again Visible () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Again . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmovies RecyclerView . isIn visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshim mer Layout . is G one Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsealed Ġclass ĠScroll able Visibility States Ġ{ ĊĠĠĠĠĠĠĠ Ġobject ĠSh im mer Visible Ġ: ĠScroll able Visibility States () ĊĠĠĠĠĠĠĠ Ġobject ĠTry Again Visible Ġ: ĠScroll able Visibility States () ĊĠĠĠĠĠĠĠ Ġobject ĠRecyclerView Visible Ġ: ĠScroll able Visibility States () ĊĠĠĠ Ġ} Ċ }