package Ġcom . wen ha iz . him usic . widget Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Activity Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġbutter knife . BindView Ċ import Ġbutter knife . OnClick Ċ import Ġcom . wen ha iz . him usic . R Ċ import Ġcom . wen ha iz . him usic . data . bean . Song Ċ import Ġcom . wen ha iz . him usic . ext . hide Ċ import Ġcom . wen ha iz . him usic . ext . show Ċ import Ġcom . wen ha iz . him usic . ext . show Toast Ċ import Ġcom . wen ha iz . him usic . module . artist . detail . Artist Detail Fragment Ċ import Ġcom . wen ha iz . him usic . module . detail . Detail Contract Ċ import Ġcom . wen ha iz . him usic . module . detail . Detail Fragment Ċ import Ġcom . wen ha iz . him usic . module . main . MainActivity Ċ import Ġcom . wen ha iz . him usic . module . play . service . Play Proxy Ċ import Ġcom . wen ha iz . him usic . utils . add Fragment To Main View Ċ Ċ class ĠSong Ops Dialog ( context : ĠContext , Ġval Ġsong : ĠSong , Ġprivate Ġval Ġactivity : ĠFragment Activity ) Ġ: ĠBase Bottom Dialog ( context ) Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġplay Proxy : ĠPlay Proxy ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġis MainActivity Ġ= Ġfalse ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġplay Proxy Ġ= Ġif Ġ( activity Ġis ĠPlay Proxy ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġis MainActivity Ġ= Ġactivity Ġis ĠMainActivity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ BindView ( R . id . song _ name ) ĊĠĠĠ Ġlateinit Ġvar Ġsong Name Tv : ĠTextView ĊĠĠĠ Ġ@ BindView ( R . id . save _ cover ) ĊĠĠĠ Ġlateinit Ġvar Ġsave Cover : ĠLinearLayout ĊĠĠĠ Ġ@ BindView ( R . id . artist _ detail ) ĊĠĠĠ Ġlateinit Ġvar Ġartist Detail : ĠLinearLayout ĊĠĠĠ Ġ@ BindView ( R . id . artist _ name ) ĊĠĠĠ Ġlateinit Ġvar Ġartist Name : ĠTextView ĊĠĠĠ Ġ@ BindView ( R . id . album _ detail ) ĊĠĠĠ Ġlateinit Ġvar Ġalbum Detail : ĠLinearLayout ĊĠĠĠ Ġ@ BindView ( R . id . album _ name ) ĊĠĠĠ Ġlateinit Ġvar Ġalbum Name : ĠTextView ĊĠĠĠ Ġ@ BindView ( R . id . delete ) ĊĠĠĠ Ġlateinit Ġvar Ġdelete Song : ĠLinearLayout ĊĊĠĠĠ Ġvar Ġdelete Listener : ĠView . OnClickListener ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġshow Album Ġ= Ġtrue ĊĠĠĠ Ġprivate Ġvar Ġshow Artist Ġ= Ġtrue ĊĠĠĠ Ġvar Ġshow Delete Ġ= Ġfalse ĊĠĠĠ Ġvar Ġcan Save Cover Ġ= Ġfalse ĊĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Res Id (): ĠInt Ġ= ĠR . layout . dialog _ song _ ops ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsong Name Tv . text Ġ= Ġsong . name ĊĠĠĠĠĠĠĠ Ġartist Name . text Ġ= Ġsong . artist Name ĊĊĠĠĠĠĠĠĠ Ġif Ġ( show Album ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalbum Name . text Ġ= Ġsong . album Name ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalbum Detail . hide () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( show Delete Ġ&& Ġdelete Listener Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Song . show () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Song . hide () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! show Artist ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartist Detail . hide () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! can Save Cover ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsave Cover . hide () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ OnClick ( R . id . add _ play _ next , ĠR . id . delete , ĠR . id . artist _ detail , ĠR . id . album _ detail , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . add _ to _ collect ) ĊĠĠĠ Ġfun ĠonClick ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( view . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . add _ play _ next Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( play Proxy !!. set Next Song ( song )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . show Toast ( R . string . play _ has _ set _ to _ next ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . show Toast ( context . getString ( R . string . song _ already _ in _ playlist )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . delete Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Listener ?. onClick ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . artist _ detail Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Artist Detail () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . album _ detail Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Album Detail () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . add _ to _ collect Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// æĺ¾ç¤º æŃĮ åįķ çķĮéĿ¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSelect Collect Dialog ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Ch osen Song ( song ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Album Detail () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġdata . put Long ( Detail Contract . ARGS _ ID , Ġsong . album Id ) ĊĠĠĠĠĠĠĠ Ġdata . put Serializable ( Detail Contract . ARGS _ LOAD _ TYPE , ĠDetail Contract . Load Type . AL BU M ) ĊĠĠĠĠĠĠĠ Ġif Ġ( is MainActivity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdetail Fragment Ġ= ĠDetail Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdetail Fragment . arguments Ġ= Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Fragment To Main View ( activity . support FragmentManager , Ġdetail Fragment ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . put Extras ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . set Result ( MainActivity . RESULT _ SHOW _ AL BU M , Ġintent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . finish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Artist Detail () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġdata . put Parcelable (" artist ", Ġsong . artist ) ĊĠĠĠĠĠĠĠ Ġif Ġ( is MainActivity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġartist Detail Fragment Ġ= ĠArtist Detail Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartist Detail Fragment . arguments Ġ= Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Fragment To Main View ( activity . support FragmentManager , Ġartist Detail Fragment ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . put Extras ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . set Result ( MainActivity . RESULT _ SHOW _ AR TI ST , Ġintent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . finish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }