package Ġcom . u 1 f 4 f 1 . sample Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . content . Context Compat Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . view . View Ċ import Ġcom . u 1 f 4 f 1 . power bottom sheet . bottom sheet . Bottom Sheet Ċ import Ġcom . u 1 f 4 f 1 . power bottom sheet . bottom sheet . Bottom Sheet State Ċ import Ġcom . u 1 f 4 f 1 . power bottom sheet . coordinator layout be haviors . Anchor Point Bottom Sheet Behavior Ċ import Ġio . reactivex . Flow able Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġjava . util . concurrent . TimeUnit Ċ import Ġandroid . support . v 7 . app . AppCompat Delegate Ċ import Ġcom . u 1 f 4 f 1 . power bottom sheet . trace Ċ import Ġcom . u 1 f 4 f 1 . power bottom sheet . warn ĊĊ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġinternal Ġvar Ġbottom Sheet Behavior : ĠAnchor Point Bottom Sheet Behavior < *> ? Ġ= Ġnull ĊĠĠĠ Ġinternal Ġvar Ġsample Adapter : ĠSample Adapter ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġbottom Sheet : ĠBottom Sheet ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġbottom Sheet Ġ= ĠfindViewById ( R . id . bottom _ sheet ) ĊĊĠĠĠĠĠĠĠ Ġbottom Sheet Behavior Ġ= ĠAnchor Point Bottom Sheet Behavior . from < View >( bottom Sheet !! ) ĊĊĠĠĠĠĠĠĠ Ġbottom Sheet !!. set Activated Listener ( object Ġ: ĠAnchor Point Bottom Sheet Behavior . On Sheet Activated Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġis Activated ( isActive : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsample Adapter ?. activate Header ( isActive ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġbutton . setOnClickListener ({ Ġ_ Ġ-> ĠonClick () Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun ĠonClick () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( sample Adapter Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsample Adapter Ġ= ĠSample Adapter ( bottom Sheet Behavior ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Sheet !!. setup Recycler view ( sample Adapter !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsample Adapter !!. add Header () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Sheet !!. post On Next Stable State ( Runnable { Ġsample Adapter !!. add Fake Views () Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbottom Sheet !!. setState ( Bottom Sheet State . STATE _ COLL AP SED ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġwarn (" press ing Ġback Ġbutton , Ġmust Ġcancel Ġanimations Ġand Ġsnap Ġdown Ġat Ġleast Ġone Ġstate ") ĊĊĠĠĠĠĠĠĠ Ġif Ġ( bottom Sheet Behavior ?. state Ġ=== ĠBottom Sheet State . STATE _ EXP AN DED Ġ|| Ġbottom Sheet Behavior ?. state Ġ=== ĠBottom Sheet State . STATE _ AN CH OR _ POINT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Sheet Behavior ?. state Ġ= ĠBottom Sheet State . STATE _ COLL AP SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Sheet Behavior !!. reset () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Sheet ?. reset () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrace (" on Back Pressed Ġcol lap sing Ġsheet ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( bottom Sheet Behavior ?. state Ġ=== ĠBottom Sheet State . STATE _ COLL AP SED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Sheet Behavior ?. state Ġ= ĠBottom Sheet State . STATE _ HIDDEN ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Sheet Behavior !!. reset () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Sheet ?. reset () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrace (" on Back Pressed Ġhiding Ġsheet ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠ Ġ} Ċ } Ċ