package Ġcom . m ichael fl is ar . settings . core . classes Ċ Ċ import Ġandroid . os . Parcelable Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġandroidx . view pager . widget . ViewPager Ċ import Ġandroidx . view pager 2 . widget . ViewPager 2 Ċ import Ġcom . m ichael fl is ar . settings . core . Settings Ċ import Ġkotlinx . parcel ize . Parcel ize Ċ Ċ @ Parcel ize Ċ data Ġclass ĠSettings State ( ĊĠĠĠĠĠĠĠ Ġvar Ġfilter : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġval Ġexpanded Ids : ĠArrayList < Long > Ġ= ĠArrayList (), ĊĠĠĠĠĠĠĠ Ġ// ĠList ĊĠĠĠĠĠĠĠ Ġval Ġcurrent List Position : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġ// ĠP ager ĊĠĠĠĠĠĠĠ Ġval Ġpage : ĠInt ? Ġ= Ġnull Ċ ) Ġ: ĠParcel able Ġ{ ĊĊĠĠĠ Ġconstructor ( setting : ĠSettings , Ġdefinition : ĠSettings . Definition . List Definitions ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetting . filter , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefinition . get Expanded Ids (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefinition . rv . compute Vertical Scroll Offset () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġconstructor ( setting : ĠSettings , Ġdefinition : ĠSettings . Definition . Pager Def init ons ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetting . filter , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Ġ= Ġdefinition . view Pager . currentItem ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġconstructor ( setting : ĠSettings , Ġdefinition : ĠSettings . Definition . Pager Def init ons 2 ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetting . filter , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Ġ= Ġdefinition . view Pager . currentItem ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġrestore ( settings : ĠSettings , Ġrv : ĠRecyclerView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsettings . filter ( filter ) ĊĠĠĠĠĠĠĠ Ġcurrent List Position ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrv . scrollTo ( 0 , Ġit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrestore ( settings : ĠSettings , Ġvp : ĠView Pager ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsettings . filter ( filter ) ĊĠĠĠĠĠĠĠ Ġpage ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvp . currentItem Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrestore ( settings : ĠSettings , Ġvp : ĠView Pager 2 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsettings . filter ( filter ) ĊĠĠĠĠĠĠĠ Ġpage ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvp . currentItem Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }