package Ġcom . mat isse . ui . view Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Activity Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . mat isse . R Ċ import Ġcom . mat isse . entity . Album Ċ import Ġcom . mat isse . entity . Const Value Ċ import Ġcom . mat isse . ui . adapter . Folder Item Media Adapter Ċ import Ġcom . mat isse . utils . get Screen Height Ċ Ċ class ĠFolder Bottom Sheet Ġ: ĠBottom Sheet Dialog Fragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġk Parent View : ĠView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġre cyclerView : ĠRecyclerView ĊĠĠĠ Ġvar Ġadapter : ĠFolder Item Media Adapter ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġcallback : ĠBottom Sheet Callback ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġcurrent Position Ġ= Ġ 0 ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġinstance ( context : ĠContext , Ġcurrent Pos : ĠInt , Ġtag : ĠString ): ĠFolder Bottom Sheet Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbottom Sheet Ġ= ĠFolder Bottom Sheet () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Int ( Const Value . FOLDER _ CHECK _ POSITION , Ġcurrent Pos ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Sheet . arguments Ġ= Ġbundle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Sheet . show (( context Ġas ĠFragment Activity ). support FragmentManager , Ġtag ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbottom Sheet ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġcurrent Position Ġ= Ġarguments ?. getInt ( Const Value . FOLDER _ CHECK _ POSITION , Ġ 0 ) Ġ?: Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ContentView ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( k Parent View Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġk Parent View Ġ= Ġinflater . inflate ( R . layout . dialog _ bottom _ sheet _ folder , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetDefault Height ( get Screen Height ( context !! ) Ġ/ Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( k Parent View ?. parent Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparent Ġ= Ġk Parent View ?. parent Ġas ĠViewGroup ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent . remove View ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġk Parent View !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġre cyclerView Ġ= Ġk Parent View ?. findViewById ( R . id . recyclerview ) !! ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . set Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠ Ġset RecyclerView Height () ĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠFolder Item Media Adapter ( context !! , Ġcurrent Position ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ?. init Data ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem ClickListener Ġ= Ġobject Ġ: ĠFolder Item Media Adapter . On ItemClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Click ( view : ĠView , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ?. on Item Click ( album List [ position ], Ġposition ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset RecyclerView Height () Ġ{ ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Params . height Ġ= Ġget Screen Height ( context !! ) Ġ/ Ġ 2 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠBottom Sheet Callback Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġinit Data ( adapter : ĠFolder Item Media Adapter ) ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ çĤ¹åĩ» åĽŀè°ĥ ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġalbum Ġå½ĵåīį éĢī ä¸ŃçļĦ çĽ¸ åĨĮ ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġposition Ġå½ĵåīį éĢī ä¸ŃçļĦ ä½įç½® ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġon Item Click ( album : ĠAlbum , Ġposition : ĠInt ) ĊĠĠĠ Ġ} Ċ }