package Ġvideo . api . android kotlin sdk . api Ċ Ċ import Ġokhttp 3 . Http Url Ċ import Ġokhttp 3 . Http Url . Companion . to Http Url Ċ import Ġokhttp 3 . MediaType . Companion . to MediaType Ċ import Ġokhttp 3 . Multipart Body Ċ import Ġokhttp 3 . Request Ċ import Ġokhttp 3 . RequestBody . Companion . as RequestBody Ċ import Ġokhttp 3 . RequestBody . Companion . to RequestBody Ċ import Ġvideo . api . android kotlin sdk . CallBack Ċ import Ġvideo . api . android kotlin sdk . http . Request Executor Ċ import Ġvideo . api . android kotlin sdk . model . Body Transformer Ċ import Ġvideo . api . android kotlin sdk . model . Player Ċ import Ġvideo . api . android kotlin sdk . model . QueryParams Ċ import Ġvideo . api . android kotlin sdk . pagination . Page Ċ import Ġvideo . api . android kotlin sdk . pagination . Pager Ċ import Ġjava . io . File Ċ Ċ class ĠPlayer Api ( ĊĠĠĠ Ġprivate Ġval Ġbase Uri : ĠString , ĊĠĠĠ Ġprivate Ġval Ġexecutor : ĠRequest Executor Ċ ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġplayer Transformer Ġ= ĠBody Transformer Ġ{ ĊĠĠĠĠĠĠĠ ĠPlayer ( it ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreate ĠPlayer ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġplayer Ġneed Ġnew ĠPlayer Ġobject Ġto Ġcreate Ġit ĊĠĠĠĠ Ġ* Ġ@ return ĠPlayer Ġor ĠException Ġ/ ĠS dk Response ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcreate ( player : ĠPlayer , Ġcall Back : ĠCall Back < Player >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠRequest . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. url ("$ base Uri / players ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. post ( player . toString (). to RequestBody ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġexecutor . execute ( request , Ġplayer Transformer , Ġcall Back ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdate Ġplayer ĊĠĠĠĠ Ġ* Ġ@ param Ġplayer Ġpass Ġnew Ġobject Ġwith Ġthe Ġid Ġof Ġthe Ġplayer Ġwho Ġneed Ġto Ġbe Ġupdated ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġupdate ( player : ĠPlayer , Ġcall Back : ĠCall Back < Player >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠRequest . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. url ("$ base Uri / players /${ player . player Id }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. patch ( player . body . toString (). to RequestBody ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġexecutor . execute ( request , Ġplayer Transformer , Ġcall Back ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet ĠList Ġof ĠPlayer ĊĠĠĠĠ Ġ* Ġ@ return ĠMutable List < Player > Ġor ĠException Ġ/ ĠS dk Response ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġfun Ġlist ( pageNumber : ĠInt , Ġcall Back : ĠCall Back < Page < Player > ?> ) Ġ= ĊĠĠĠĠĠĠĠ Ġlist ( pageNumber , ĠQuery Params (), Ġcall Back ) ĊĊĠĠĠ Ġfun Ġlist ( pageNumber : ĠInt , ĠpageSize : ĠInt , Ġcall Back : ĠCall Back < Page < Player > ?> ) Ġ= ĊĠĠĠĠĠĠĠ Ġlist ( pageNumber , ĠpageSize , ĠQuery Params (), Ġcall Back ) ĊĊĠĠĠ Ġfun Ġlist ( pageNumber : ĠInt , Ġparams : ĠQuery Params , Ġcall Back : ĠCall Back < Page < Player > ?> ) Ġ= ĊĠĠĠĠĠĠĠ Ġnew Pager ( pageNumber , Ġ 2 5 , Ġparams ). next ( call Back ) ĊĊĠĠĠ Ġfun Ġlist ( ĊĠĠĠĠĠĠĠ Ġpage Number : ĠInt , ĊĠĠĠĠĠĠĠ ĠpageSize : ĠInt , ĊĠĠĠĠĠĠĠ Ġparams : ĠQuery Params , ĊĠĠĠĠĠĠĠ Ġcall Back : ĠCall Back < Page < Player > ?> ĊĠĠĠ Ġ) Ġ= ĊĠĠĠĠĠĠĠ Ġnew Pager ( pageNumber , ĠpageSize , Ġparams ). next ( call Back ) ĊĊĊĠĠĠ Ġprivate Ġfun Ġnew Pager ( pageNumber : ĠInt Ġ= Ġ 1 , ĠpageSize : ĠInt , Ġparams : ĠQuery Params ): ĠP ager < Player > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Builder Ġ= Ġ"$ base Uri / players ". to Http Url (). newBuilder () ĊĠĠĠĠĠĠĠ Ġparams . apply To ( url Builder ) ĊĠĠĠĠĠĠĠ Ġval Ġbase Request Ġ= ĠRequest . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. url ( url Builder . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġreturn ĠP ager ( executor , Ġbase Request , Ġplayer Transformer , Ġpage Number , ĠpageSize ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget ( player Id : ĠString , Ġcall Back : ĠCall Back < Player >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠRequest . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. url ("$ base Uri / players /${ player Id }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġexecutor . execute ( request , Ġplayer Transformer , Ġcall Back ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDelete Ġplayer ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdelete ( player Id : ĠString , Ġcall Back : ĠCall Back < Boolean >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠRequest . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. url ("$ base Uri / players /$ player Id ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" Content - Type ", Ġ" multipart / form - data ; Ġboundary =${ boundary }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. delete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġexecutor . execute ( request , Ġ{ Ġtrue Ġ}, Ġcall Back ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpload ĠLogo ĊĠĠĠĠ Ġ* Ġ@ param Ġplayer Id Ġplayer Ġidentifier ĊĠĠĠĠ Ġ* Ġ@ param Ġfile Ġlogo Ġfile ĊĠĠĠĠ Ġ* Ġ@ param Ġlink Ġset Ġthe Ġlink Ġof Ġthe Ġlogo ĊĠĠĠĠ Ġ* Ġ@ return ĠBoolean Ġor ĠException Ġ/ ĠS dk Response ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġupload Logo ( ĊĠĠĠĠĠĠĠ Ġplayer Id : ĠString , ĊĠĠĠĠĠĠĠ Ġfile : ĠFile , ĊĠĠĠĠĠĠĠ Ġlink : ĠHttp Url , ĊĠĠĠĠĠĠĠ Ġcall Back : ĠCall Back < Boolean > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Body Ġ= ĠMultip art Body . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setType ( Multipart Body . FORM ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add FormData Part (" link ", Ġlink . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add FormData Part (" file ", Ġ" file ", Ġfile . as RequestBody ( MEDIA _ TYPE _ PNG )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠRequest . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. url ("$ base Uri / players /$ player Id / logo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Header (" Content - Type ", Ġ" multipart / form - data ; Ġboundary =${ boundary }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. post ( request Body ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġexecutor . execute ( request , Ġ{ Ġtrue Ġ}, Ġcall Back ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġboundary : ĠString Ġ= Ġ" ---- WebKit Form Boundary " Ġ+ ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠMED IA _ TYPE _ PNG Ġ= Ġ" image / png ". to MediaType () ĊĠĠĠ Ġ} Ċ }