package Ġcloud . ve ez ee . android . utils Ċ Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . V ibr ator Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroid . view . WindowManager Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġcom . bump tech . glide . request . target . Simple Target Ċ import Ġcom . bump tech . glide . request . transition . Transition Ċ import Ġcloud . ve ez ee . android . utils . interfaces . On Dialog Buttons ClickListener Ċ import Ġcloud . ve ez ee . android . models . Track Ċ import Ġcloud . ve ez ee . android . R Ċ import Ġcloud . ve ez ee . android . activities . Album Activity Ċ import Ġcloud . ve ez ee . android . application . G lide App Ċ import Ġcloud . ve ez ee . android . models . Album Ċ import Ġcom . google . gson . Gson Ċ Ċ class ĠTrack Menu Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġart work : ĠImageView ? Ġ= Ġnull ; ĊĠĠĠ Ġprivate Ġvar Ġbl urred Artwork : ĠImageView ? Ġ= Ġnull ; ĊĠĠĠ Ġprivate Ġvar Ġadd : ĠButton ? Ġ= Ġnull ; ĊĠĠĠ Ġprivate Ġvar Ġcancel : ĠButton ? Ġ= Ġnull ; ĊĠĠĠ Ġprivate Ġvar Ġtitle : ĠTextView ? Ġ= Ġnull ; ĊĠĠĠ Ġprivate Ġvar Ġalbum Title : ĠTextView ? Ġ= Ġnull ; ĊĠĠĠ Ġprivate Ġvar Ġartist : ĠTextView ? Ġ= Ġnull ; ĊĠĠĠ Ġprivate Ġvar Ġdialog Menu Che vron : ĠImageView ? Ġ= Ġnull ; ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdialog : ĠAlertDialog . Builder ; ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġd : ĠAlertDialog ; ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcontext : ĠContext ; ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtrack : ĠTrack ; ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlistener : ĠOn Dialog Buttons ClickListener ; ĊĊĊĠĠĠ Ġprivate Ġfun Ġvi br ate ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv : ĠV ibr ator Ġ= Ġcontext . getSystem Service ( Context . V IB R ATOR _ SERVICE ) Ġas ĠV ibr ator ; ĊĠĠĠĠĠĠĠ Ġv . vi br ate ( 4 0 ); ĊĠĠĠĠĠĠĠ Ġ// view . perform H aptic Feedback ( H aptic Feedback Constants . LONG _ PRESS ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwith ( context : ĠContext ): ĠTrack Menu Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . context Ġ= Ġcontext ; ĊĠĠĠĠĠĠĠ Ġdialog Ġ= ĠAlertDialog . Builder ( context ); ĊĊĠĠĠĠĠĠĠ Ġvi br ate ( context ); ĊĊĠĠĠĠĠĠĠ Ġreturn Ġthis ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġview ( view : ĠView ): ĠTrack Menu Ġ{ ĊĠĠĠĠĠĠĠ Ġdialog . setView ( view ); ĊĠĠĠĠĠĠĠ Ġd Ġ= Ġdialog . create (); ĊĊĠĠĠĠĠĠĠ Ġprepare Components ( view ); ĊĊĠĠĠĠĠĠĠ Ġreturn Ġthis ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset On Buttons ClickListener ( listener : ĠOn Dialog Buttons ClickListener ): ĠTrack Menu Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . listener Ġ= Ġlistener ; ĊĊĠĠĠĠĠĠĠ Ġreturn Ġthis ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtransparent Background (): ĠTrack Menu Ġ{ ĊĠĠĠĠĠĠĠ Ġd . window . setBackground Drawable ( Color Drawable ( Color . TRANSP ARENT )); ĊĊĠĠĠĠĠĠĠ Ġreturn Ġthis ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġgravity ( gravity : ĠInt ): ĠTrack Menu Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwindow Manager : ĠWindow Manager . LayoutParams Ġ= Ġd . window . attributes ; ĊĠĠĠĠĠĠĠ Ġwindow Manager . gravity Ġ= Ġgravity ĊĠĠĠĠĠĠĠ Ġwindow Manager . y Ġ= Ġ 5 0 ; ĊĊĠĠĠĠĠĠĠ Ġreturn Ġthis ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcontent ( track : ĠTrack ): ĠTrack Menu Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . track Ġ= Ġtrack ; ĊĊĠĠĠĠĠĠĠ Ġtitle ?. text Ġ= Ġtrack . title ; ĊĠĠĠĠĠĠĠ Ġalbum Title ?. text Ġ= Ġtrack . album ?. title ; ĊĠĠĠĠĠĠĠ Ġartist ?. text Ġ= Ġtrack . album ?. artist ?. name ; ĊĊĠĠĠĠĠĠĠ ĠG lide App . with ( context ). as Bitmap (). load ( track . image ). into ( object Ġ: ĠSimple Target < Bitmap >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Resource Ready ( resource : ĠBitmap , Ġtransition : ĠTransition < in ĠBitmap > ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġart work ?. setImage Bitmap ( resource ); ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle ?. visibility Ġ= ĠView . VISIBLE ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalbum Title ?. visibility Ġ= ĠView . VISIBLE ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartist ?. visibility Ġ= ĠView . VISIBLE ; ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHandler (). post Delayed ( Runnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdrawable : ĠDrawable Ġ= ĠImage Utils . create Bl urred Image From Bitmap ( resource , Ġcontext , Ġ 1 1 ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbl urred Artwork ?. setImage Drawable ( drawable ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbl urred Artwork ?. animate ()?. alpha ( 1 f )?. set Duration ( 3 0 0 )?. start (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ 1 0 0 ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}); ĊĊĠĠĠĠĠĠĠ Ġreturn Ġthis ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Album Page ( album : ĠAlbum ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġalbum Activity Ġ= ĠIntent ( context , ĠAlbum Activity :: class . java ); ĊĠĠĠĠĠĠĠ Ġalbum Activity . putExtra (" album ", ĠGson (). toJson ( album )); ĊĠĠĠĠĠĠĠ Ġalbum Activity . flags Ġ= ĠIntent . FLAG _ ACTIVITY _ RE ORDER _ TO _ FRONT ĊĠĠĠĠĠĠĠ Ġcontext . startActivity ( album Activity ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow () Ġ{ ĊĠĠĠĠĠĠĠ Ġd . show (); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprepare Components ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġart work Ġ= Ġview . findViewById ( R . id . dialog _ menu _ art work ); ĊĠĠĠĠĠĠĠ Ġbl urred Artwork Ġ= Ġview . findViewById ( R . id . dialog _ menu _ bl urred _ art work ); ĊĠĠĠĠĠĠĠ Ġadd Ġ= Ġview . findViewById ( R . id . dialog _ menu _ add ); ĊĠĠĠĠĠĠĠ Ġcancel Ġ= Ġview . findViewById ( R . id . dialog _ menu _ cancel ); ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġview . findViewById ( R . id . dialog _ menu _ title ); ĊĠĠĠĠĠĠĠ Ġalbum Title Ġ= Ġview . findViewById ( R . id . dialog _ menu _ album _ title ); ĊĠĠĠĠĠĠĠ Ġartist Ġ= Ġview . findViewById ( R . id . dialog _ menu _ artist ); ĊĠĠĠĠĠĠĠ Ġdialog Menu Che vron Ġ= Ġview . findViewById ( R . id . dialog _ menu _ chevron ); ĊĊĠĠĠĠĠĠĠ Ġadd ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . add ClickListener ( d ); ĊĠĠĠĠĠĠĠ Ġ}; ĊĊĠĠĠĠĠĠĠ Ġcancel ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . cancel CL ick Listener ( d ); ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġart work ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( track . album Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Album Page ( track . album !! ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdialog Menu Che vron ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( track . album Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Album Page ( track . album !! ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġart work ?. clip To Outline Ġ= Ġtrue ; ĊĠĠĠĠĠĠĠ Ġbl urred Artwork ?. clip To Outline Ġ= Ġtrue ; ĊĠĠĠ Ġ} Ċ }