package Ġcom . man uel bl anco . open demo . ui . base Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . appcompat . widget . Toolbar Ċ import Ġcom . man uel bl anco . open demo . R Ċ import Ġcom . man uel bl anco . open demo . common . view Lifecycle Ċ import Ġcom . man uel bl anco . open demo . databinding . Fragment List Binding Ċ Ċ /** Ċ Ġ* ĠBase Ġfragment Ġfor Ġlists , Ġboth Ġin ĠF avorites Ġand ĠChar acters . Ċ Ġ*/ Ċ abstract Ġclass ĠBase List Fragment Ġ: ĠBase Fragment () Ġ{ ĊĊĠĠĠ Ġprotected Ġvar Ġbinding : ĠFragment List Binding Ġby Ġview Lifecycle () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠFragment List Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠsetUp Toolbar ( binding . toolbar ) ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġbinding . root ĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit Swipe Refresh () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun ĠsetUp Adapter () ĊĊĠĠĠ Ġabstract Ġfun Ġon Refresh () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCustom Ġtoolbar Ġfor Ġfragments . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠsetUp Toolbar ( toolbar : ĠToolbar ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( activity Ġas ĠAppCompatActivity ). set Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġval Ġaction Bar Ġ= Ġ( activity Ġas ĠAppCompatActivity ). support ActionBar ĊĠĠĠĠĠĠĠ Ġaction Bar ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠgetString ( R . string . app _ name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Display Show Title Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Home As Up Indicator ( R . drawable . logo _ toolbar ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġinit Swipe Refresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . swipe Refresh . setColor Scheme Resources ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . color . holo _ blue _ bright , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . color . holo _ green _ light , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . color . holo _ orange _ light , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . color . holo _ red _ light ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdismiss Swipe Refresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . swipe Refresh . is Refresh ing Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġshow Progress ( is From Update : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdismiss Swipe Refresh () ĊĠĠĠĠĠĠĠ Ġif Ġ( is From Update ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . progress Bar . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . emptyList . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . swipe Refresh . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . progress Bar . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġhide Progress () Ġ{ ĊĠĠĠĠĠĠĠ Ġdismiss Swipe Refresh () ĊĠĠĠĠĠĠĠ Ġbinding . emptyList . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġbinding . swipe Refresh . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġbinding . progress Bar . visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġempty View () Ġ{ ĊĠĠĠĠĠĠĠ Ġdismiss Swipe Refresh () ĊĠĠĠĠĠĠĠ Ġbinding . emptyList . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġbinding . swipe Refresh . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġbinding . progress Bar . visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} Ċ }