package Ġsh . fe ar less . orb . adapters Ċ Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . FragmentManager Ċ import Ġandroidx . lifecycle . Lifecycle Ċ import Ġandroidx . view pager 2 . adapter . Fragment State Adapter Ċ import Ġsh . fe ar less . orb . data . Tab Ċ Ċ class ĠView Page Adapter ( ĊĠĠĠ Ġprivate Ġval Ġtabs : ĠArrayList < Tab >, Ġchild FragmentManager : ĠFragment Manager , Ġlifecycle : ĠLifecycle Ċ ): ĠFragment State Adapter ( child FragmentManager , Ġlifecycle ) Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġtabs . size ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Fragment ( position : ĠInt ): ĠFragment Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtabs [ position ]. fragment ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcontains Item ( itemId : ĠLong ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtabs . map Ġ{ Ġit . tab Id Ġ}. contains ( itemId ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Id ( position : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtabs [ position ]. tab Id ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove Item ( index : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtabs . remove At ( index ) ĊĠĠĠĠĠĠĠ Ġnotify Item Removed ( index ) ĊĠĠĠĠĠĠĠ Ġnotify Item Range Changed ( index , Ġtabs . size ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} Ċ }