package Ġcom . kw un ai . github . common . pager Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġcom . kw un ai . github . Github App Ċ import Ġcom . kw un ai . github . R Ċ import Ġcom . kw un ai . github . common . Github Fragment Ċ import Ġcom . kw un ai . github . data . Prefs Helper Ċ import Ġcom . kw un ai . github . databinding . Fragment Pager Binding Ċ import Ġcom . kw un ai . github . entity . User Rsp Ċ import Ġcom . kw un ai . github . repo . Auth Repository Ċ import Ġcom . kw un ai . github . repo . On Auth State ChangeListener Ċ import Ġcom . kw un ai . github . ui . main . MainActivity Ċ import Ġcom . kw un ai . github . ui . main . main Module Ċ import Ġkotlinx . android . synt hetic . main . fragment _ pager .* Ċ import Ġorg . kode in . di . K ode in Ċ import Ġorg . kode in . di . generic . bind Ċ import Ġorg . kode in . di . generic . instance ĊĊ Ċ abstract Ġclass ĠGithub Pager Fragment Ġ: ĠGithub Fragment < Fragment Pager Binding >(), ĊĠĠĠĠĠĠĠ ĠGithub Pager Config , ĠOn Auth State ChangeListener Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġlayout Id : ĠInt Ġ= ĠR . layout . fragment _ pager ĊĊĠĠĠ Ġoverride Ġval Ġk ode in : ĠK ode in Ġ= ĠK ode in . lazy Ġ{ ĊĠĠĠĠĠĠĠ Ġextend ( Github App . INSTANCE . kode in ) ĊĠĠĠĠĠĠĠ Ġimport ( main Module ) ĊĠĠĠĠĠĠĠ Ġbind < Github Pager Fragment >() Ġwith Ġinstance ( this @ Github Pager Fragment ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġadapter Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠGithub Pager Adapter ( child FragmentManager ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġauth Repository : ĠAuth Repository Ġby Ġinstance () ĊĊĠĠĠ Ġprotected Ġval Ġhelper : ĠP refs Helper Ġby Ġinstance () ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġm ViewPager . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġ( activity Ġas ĠMainActivity ). action Bar Controller . setup With ViewPager ( m ViewPager ) ĊĠĠĠĠĠĠĠ Ġadapter . fragment Pages . addAll ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( helper . is LoggedIn ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Fragment Pages LoggedIn () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Fragment Pages Logged Out () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġauth Repository . on Auth StateChange Listeners . add ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Login ( user : ĠUser Rsp ) Ġ{ ĊĠĠĠĠĠĠĠ Ġadapter . fragment Pages . clear () ĊĠĠĠĠĠĠĠ Ġadapter . fragment Pages . addAll ( get Fragment Pages LoggedIn ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Logout () Ġ{ ĊĠĠĠĠĠĠĠ Ġadapter . fragment Pages . clear () ĊĠĠĠĠĠĠĠ Ġadapter . fragment Pages . addAll ( get Fragment Pages Logged Out ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġauth Repository . on Auth StateChange Listeners . remove ( this ) ĊĠĠĠ Ġ} Ċ Ċ }