package Ġcom . y bj 3 6 6 5 3 3 . yy camera . ui Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . graphics . Rect Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġcom . y bj 3 6 6 5 3 3 . vide ol ib . utils . YY Music Handler Ċ import Ġcom . y bj 3 6 6 5 3 3 . yy camera . R ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby ĠYY Ġon Ġ 2 0 1 7 / 7 / 2 7 . Ċ Ġ*/ Ċ Ċ class ĠMusic Select Controller ( act : ĠActivity , Ġprivate Ġval Ġcontent View : ĠView ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġm Music Select List : ĠRecyclerView ĊĊĠĠĠ Ġprivate Ġval Ġstart Record : ĠTextView ĊĊĠĠĠ Ġprivate Ġval Ġmusic Select Recycler Adapter : ĠMusic Select Recycler Adapter ĊĊĠĠĠ Ġinternal Ġvar Ġlistener : ĠOn Music Select Listener ? Ġ= Ġnull ĊĊĊĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠ Ġm Music Select List Ġ= Ġ`$ `( com . y bj 3 6 6 5 3 3 . yy camera . R . id . music _ select _ list ) ĊĠĠĠĠĠĠĠ Ġm Music Select List . layout Manager Ġ= ĠLinearLayoutManager ( act . application Context , ĠLinearLayoutManager . VERTICAL , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġm Music Select List . addItem Decoration ( Space Item Decoration ( 2 )) ĊĠĠĠĠĠĠĠ Ġmusic Select Recycler Adapter Ġ= ĠMusic Select Recycler Adapter ( act ) ĊĠĠĠĠĠĠĠ Ġmusic Select Recycler Adapter . setOn Music Select Listener ( object Ġ: ĠMusic Select Recycler Adapter . On Music Select Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Music Select ( pos : ĠInt , ĠfileName : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// act . set Music Path From Music Controller ( fileName ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( listener Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener !!. on Music Selected ( fileName !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġm Music Select List . adapter Ġ= Ġmusic Select Recycler Adapter ĊĊĠĠĠĠĠĠĠ Ġstart Record Ġ= Ġ`$ `< Any >( R . id . music _ start _ record ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġstart Record . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠYY Music Handler . getInstance (). stop Play () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Music Select Controller . content View . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġ`$ `( id : ĠInt ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcontent View . findViewById < View >( id ) Ġas ĠT ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinternal Ġinner Ġclass ĠSpace Item Decoration ( private Ġval Ġspace : ĠInt ) Ġ: ĠRecyclerView . Item Decoration () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Offsets ( out Rect : ĠRect , Ġview : ĠView , Ġparent : ĠRecyclerView , Ġstate : ĠRecyclerView . State ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . getItem Offsets ( out Rect , Ġview , Ġparent , Ġstate ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( parent . getChild Adapter Position ( view ) Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout Rect . top Ġ= Ġspace ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠSet On Music Select Listener ( listener : ĠOn Music Select Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . listener Ġ= Ġlistener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn Music Select Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Music Selected ( path : ĠString ): ĠBoolean ĊĠĠĠ Ġ} Ċ Ċ } Ċ