package Ġcom . pr 0 gram m . app . ui Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Parcelable Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . util . Sparse Array Ċ import Ġcom . pr 0 gram m . app . ui . views . Tags View Ċ Ċ class ĠStateful RecyclerView Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , Ġattrs : ĠAttributeSet ? Ġ= Ġnull , Ġdef Style Attr : ĠInt Ġ= Ġ 0 Ċ ) Ġ: Ġandroidx . recyclerview . widget . RecyclerView ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġsaved Hierarchy State : ĠSparse Array < Parcelable >? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġdispatch Save InstanceState ( container : ĠSparse Array < Parcelable > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . dispatch Save InstanceState ( container ) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( idx Ġin Ġ 0 Ġuntil Ġchild Count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchild Ġ= Ġget Child At ( idx ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( child Ġis ĠTags View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchild . save Hierarchy State ( container ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġdispatch Restore InstanceState ( container : ĠSparse Array < Parcelable > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . dispatch Restore InstanceState ( container ) ĊĠĠĠĠĠĠĠ Ġsaved Hierarchy State Ġ= Ġcontainer ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠLinearLayoutManager ( context : ĠContext ?) Ġ: Ġandroidx . recyclerview . widget . Linear LayoutManager ( context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Layout Completed ( state : ĠState ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Layout Completed ( state ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsaved Hierarchy State ?. let Ġ{ Ġcontainer Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( idx Ġin Ġ 0 Ġuntil Ġchild Count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchild Ġ= Ġget Child At ( idx ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchild ?. restore Hierarchy State ( container ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsaved Hierarchy State Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ