package Ġeu . kan ade . t ach iy omi . ui . manga . external Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . google . android . material . bottom sheet . Bottom Sheet Behavior Ċ import Ġcom . google . android . material . bottom sheet . Bottom Sheet Dialog Ċ import Ġcom . mike pen z . fast adapter . Fast Adapter Ċ import Ġcom . mike pen z . fast adapter . adapters . Item Adapter Ċ import Ġeu . kan ade . t ach iy omi . R Ċ import Ġeu . kan ade . t ach iy omi . ui . manga . M anga Details Controller Ċ import Ġeu . kan ade . t ach iy omi . util . system . dp To Px Ċ import Ġeu . kan ade . t ach iy omi . util . view . Recycler Window Insets Listener Ċ import Ġeu . kan ade . t ach iy omi . util . view . set Edge To Edge Ċ import Ġkotlinx . android . synt hetic . main . external _ bottom _ sheet .* Ċ Ċ class ĠExternal Bottom Sheet ( private Ġval Ġcontroller : ĠM anga Details Controller ) Ġ: ĠBottom Sheet Dialog Ċ ( controller . activity !! , ĠR . style . Bottom Sheet Dialog Theme ) Ġ{ ĊĊĠĠĠ Ġval Ġactivity Ġ= Ġcontroller . activity !! ĊĊĠĠĠ Ġprivate Ġvar Ġsheet Behavior : ĠBottom Sheet Behavior < *> ĊĊĠĠĠ Ġval Ġpresenter Ġ= Ġcontroller . presenter ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠUse Ġactivity Ġtheme Ġfor Ġthis Ġlayout ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġactivity . layout Inflater . inflate ( R . layout . external _ bottom _ sheet , Ġnull ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( view ) ĊĊĠĠĠĠĠĠĠ Ġsheet Behavior Ġ= ĠBottom Sheet Behavior . from ( view . parent Ġas ĠViewGroup ) ĊĠĠĠĠĠĠĠ Ġset Edge To Edge ( activity , Ġview ) ĊĠĠĠĠĠĠĠ Ġval Ġheight Ġ= Ġactivity . window . decor View . root Window Insets . system Window Inset Bottom ĊĠĠĠĠĠĠĠ Ġsheet Behavior . peek Height Ġ= Ġ 3 8 0 . dp To Px Ġ+ Ġheight ĊĊĠĠĠĠĠĠĠ Ġsheet Behavior . add Bottom Sheet Callback ( object Ġ: ĠBottom Sheet Behavior . Bottom Sheet Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Slide ( bottom Sheet : ĠView , Ġprogress : ĠFloat ) Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon StateChanged ( p 0 : ĠView , Ġstate : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( state Ġ== ĠBottom Sheet Behavior . STATE _ EXP AN DED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsheet Behavior . skip Collapsed Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġsheet Behavior . skip Collapsed Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCalled Ġwhen Ġthe Ġsheet Ġis Ġcreated . ĠIt Ġinitializes Ġthe Ġlisteners Ġand Ġvalues Ġof Ġthe Ġpreferences . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġitem Adapter Ġ= ĠItem Adapter < External Item >() ĊĠĠĠĠĠĠĠ Ġval Ġfast Adapter Ġ= ĠFast Adapter . with ( item Adapter ) ĊĠĠĠĠĠĠĠ Ġexternal _ recycler . adapter Ġ= Ġfast Adapter ĊĠĠĠĠĠĠĠ Ġexternal _ recycler . setOn Apply Window Insets Listener ( Recycler Window Insets Listener ) ĊĠĠĠĠĠĠĠ Ġitem Adapter . add ( presenter . external Links List ) ĊĊĠĠĠĠĠĠĠ Ġfast Adapter . on ClickListener Ġ= Ġ{ Ġ_, Ġ_, Ġitem , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontroller . open In WebView ( item . external Link . getUrl ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ