package Ġorg . z ack . music . main . play Ċ Ċ import Ġkotlinx . android . synt hetic . main . fragment _ circle .* Ċ import Ġorg . z ack . music . Circular Seek Bar Ċ import Ġorg . z ack . music . R Ċ import Ġorg . z ack . music . bean . Song Info Ċ import Ġorg . z ack . music . event . Status Ċ Ċ /** Ċ Ġ* Ġ@ Author Ġ ĠZ ack rat os Ċ Ġ* Ġ@ Data ĠĠĠĠ 1 8 - 5 - 1 6 Ċ Ġ* Ġ@ Email ĠĠĠ 8 6 9 6 4 9 3 3 9 @ qq . com Ċ Ġ*/ Ċ class ĠCircle Fragment : ĠSeek Bar Fragment () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance (): ĠSeek Bar Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCircle Fragment () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlayout Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . fragment _ circle ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Event And Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . init Event And Data () ĊĊĠĠĠĠĠĠĠ Ġval Ġparent Ġ= Ġparent Fragment Ġas ĠPlay Fragment ĊĊĠĠĠĠĠĠĠ Ġfl _ root . setOnClickListener Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparent Ġ= Ġparent Fragment Ġas ĠPlay Fragment ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent . switch Seek Bar () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĊĠĠĠĠĠĠĠ Ġc sb _ main . setOn Seek Bar ChangeListener ( object Ġ: ĠCircular Seek Bar . On Circular Seek Bar ChangeListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( circular Seek Bar : ĠCircular Seek Bar ?, Ġprogress : ĠInt , Ġfrom User : ĠBoolean ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Stop Tracking Touch ( seek Bar : ĠCircular Seek Bar ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreceive Progress Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent . set Play Progress ( seek Bar ?. progress Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonStart Tracking Touch ( seek Bar : ĠCircular Seek Bar ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreceive Progress Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Status ( status : ĠStatus ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ åħĪ è®¾ç½® æľĢå¤§ è¿Ľ åº¦ ï¼Į åĨį è®¾ç½® å½ĵåīį è¿Ľ åº¦ ï¼Į éĺ² æŃ¢ å½ĵåīį è¿Ľ åº¦ æ¯Ķ æľĢå¤§ è¿Ľ åº¦ å¤§ ĊĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġstatus . config . position ĊĠĠĠĠĠĠĠ Ġc sb _ main . max Ġ= Ġwhen ( position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 Ġ-> Ġ 1 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġstatus . songs [ position ]. duration . toInt () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġc sb _ main . progress Ġ= Ġstatus . config . progress ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Play Song ( song Info : ĠSong Info , Ġnew Play : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ åħĪ å°Ĩ å½ĵåīį è¿Ľ åº¦ è®¾ ä¸º 0 , åĨį è®¾ç½® æľĢå¤§ è¿Ľ åº¦ ï¼Į éĺ² æŃ¢ å½ĵåīį è¿Ľ åº¦ æ¯Ķ æľĢå¤§ è¿Ľ åº¦ å¤§ ĊĠĠĠĠĠĠĠ Ġif Ġ( new Play ) Ġc sb _ main . progress Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġc sb _ main . max Ġ= Ġsong Info . song . duration . toInt () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Progress Change ( progress : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġc sb _ main . progress Ġ= Ġprogress ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Seek Bar Change ( color : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġc sb _ main . circle Color Ġ= Ġcolor ĊĠĠĠ Ġ} ĊĊĊ Ċ }