package Ġcom . ch ic ag or ob oto . features . info Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . Intent . ACTION _ VIEW Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . core . view . update LayoutParams Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView . VERTICAL Ċ import Ġcom . ch ic ag or ob oto . R Ċ import Ġcom . ch ic ag or ob oto . databinding . Info Binding Ċ import Ġcom . ch ic ag or ob oto . ext . getApp Component Ċ import Ġcom . ch ic ag or ob oto . ext . present ations Ċ import Ġcom . ch ic ag or ob oto . features . info . Info Presenter . Event . Clicked Library Ċ import Ġcom . ch ic ag or ob oto . features . shared . Presentation Ċ import Ġcom . ch ic ag or ob oto . features . shared . start Presentation Ċ import Ġdev . chr is ban es . in setter . do On Apply Window Insets Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . flow . collect Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Provider Ċ Ċ class ĠInfo Fragment Ġ: ĠFragment ( R . layout . info ) Ġ{ ĊĊĠ Ġprivate Ġval Ġpresentation : ĠPresentation < Info Presenter > Ġby Ġpresent ations Ġ{ ĊĠĠĠ Ġpresenter Provider . get (). start Presentation ( Dispatch ers . Main ) ĊĠ Ġ} ĊĊĠ Ġ@ Inject Ġlateinit Ġvar Ġpresenter Provider : ĠProvider < Info Presenter > ĊĊĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠInfo Binding ĊĠ Ġprivate Ġval Ġadapter Ġ= ĠInfo Adapter Ġ{ Ġlibrary Ġ-> ĊĠĠĠ Ġpresentation . presenter . events . offer ( Clicked Library ( library )) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠ Ġbinding Ġ= ĠInfo Binding . bind ( view ) ĊĠĠĠ Ġbinding . list . apply Ġ{ ĊĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( context , ĠV ERT ICAL , Ġfalse ) ĊĠĠĠĠĠ Ġadapter Ġ= Ġthis @ Info Fragment . adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġbinding . in set . do On Apply Window Insets Ġ{ Ġview , Ġin sets , ĠinitialState Ġ-> ĊĠĠĠĠĠ Ġview . update LayoutParams Ġ{ Ġheight Ġ= Ġin sets . system Window Inset Top Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġbinding . contributor Invite . setOnClickListener Ġ{ ĊĠĠĠĠĠ ĠstartActivity ( Intent ( ACTION _ VIEW , ĠUri . parse ( getString ( R . string . github _ link )))) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠ Ġcontext !!. getApp Component (). info Component (). inject ( this ) ĊĊĠĠĠ Ġlifecycle Scope . launch When Started Ġ{ ĊĠĠĠĠĠ Ġpresentation . presenter . models . collect Ġ{ ĊĠĠĠĠĠĠĠ Ġadapter . set Libraries ( it . libraries ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ