package Ġcom . blue b err ys olution . pin el ib 1 9 . view . picture _ choose Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġcom . blue b err ys olution . pin el ib 1 9 . activity . I Ċ import Ġcom . blue b err ys olution . pin el ib 1 9 . pop _ up _ windows . activity _ msg box . B Activity MessageBox Ċ import Ġcom . blue b err ys olution . pin el ib 1 9 . view . picture _ choose . src . msg box _ activity . Pic Source Choose Activity Ċ import Ġcom . blue b err ys olution . pin el ib 1 9 . view . picture _ choose . src . transfer . Pic Transformation Ċ import Ġjava . io . File Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġcom . blue b err ys olution . pin el ib 1 9 . pop _ up _ windows . wait ting _ new . Loading Ċ import Ġokhttp 3 . MediaType . Companion . to MediaType OrNull Ċ import Ġokhttp 3 . Multipart Body Ċ import Ġokhttp 3 . RequestBody . Companion . as RequestBody Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response ĊĊ Ċ // åĽ¾çīĩ éĢīæĭ© åºĵ Ċ // åĬŁèĥ½ ä¸į å®Į åĸĦ ï¼ļ Ġ å¤ļ éĢī æ²¡ åģļ Ġ åī ª è£ ģ æ²¡ åģļ Ċ // çĶ¨ æ³ķ Ċ // P (). setOn File Ġ{ Ċ // ĠĠĠ ĠLoading . i (). show ( activity !! ) Ċ // ĠĠĠ Ġvar Ġimg File Ġ= Ġit [ 0 ] Ċ // Ċ // ĠĠĠ Ġvar Ġrequest File Ġ= Ġimg File . as RequestBody ((" image /* "). to MediaType OrNull ()) ĠĠĠĠ Ġ// ĠéľĢè¦ģ æīĭåĬ¨ å¯¼åħ¥ Ġimport Ġokhttp 3 . RequestBody . Companion . as RequestBody Ċ // ĠĠĠ Ġval Ġbody Ġ= ĠMultip art Body . Part . create FormData (" image ", Ġimg File . name , Ġrequest File ) Ċ // Ċ // Ċ // ĠĠĠ Ġvar Ġcall Ġ= ĠApp . app ?. ret rofit Manager ?. req ()?. upload Member Icon ( body , ĠLogin . i (). user Bean !!. user _ identity ) Ċ // ĠĠĠ Ġcall !!. enqueue ( object : ĠCallback < Users Bean > Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < Users Bean >, Ġresponse : ĠResponse < Users Bean >) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . code () Ġ== Ġ 2 0 0 ){ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogin . reload Configs Ġ{ Ġconfig Topic , Ġis Suc c Ġ-> Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetup UI (); Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠLoading . i (). hide () Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Users Bean >, Ġt : ĠThrowable ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠLoading . i (). hide () Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // Ċ // ĠĠĠ Ġ}) Ċ // Ċ // Ċ //} Ċ // . set Allow Crop ( false ) Ċ // . set Allow Multiple Choose ( false ) Ċ // . set Allow Camera ( true ) Ċ // . set Allow Gallery ( true ) Ċ // . start () ĊĊĊ Ċ class ĠP { ĊĠĠĠ Ġprivate Ġvar Ġallow Camera Ġ= Ġtrue ; ĊĠĠĠ Ġprivate Ġvar Ġallow Gallery Ġ= Ġtrue ; ĊĠĠĠ Ġprivate Ġvar Ġmultiple Choose Ġ= Ġfalse ; ĊĠĠĠ Ġprivate Ġvar Ġallow Crop Ġ= Ġfalse ; ĊĊĠĠĠ Ġprivate Ġvar Ġon Bitmap : Ġ(( bitmap : ĠArray < Bitmap >) Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġon File : Ġ(( url : ĠArray < File >) Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġon File Url : Ġ(( url : ĠArray < String >) Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġ// private Ġvar Ġon Gallery Url : Ġ(( url : ĠArray < String >) Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġon Cancel : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġpic Transformation : ĠPic Transformation ? Ġ= Ġnull ; ĊĊĠĠĠ Ġconstructor (){ ĊĠĠĠĠĠĠĠ ĠP . p Ġ= Ġthis ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstart (): ĠP { ĊĠĠĠĠĠĠĠ Ġpic Transformation Ġ= ĠPic Transformation (); ĊĊĠĠĠĠĠĠĠ ĠI . i ( Pic Source Choose Activity :: class ). show () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġthis ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// å½ĵ æĭ į çħ§ ç»ĵæĿŁ åĽŀè°ĥ ï¼Į çĦ¶åĲİ åľ¨ åĪ¤æĸŃ æĺ¯åĲ¦ éľĢè¦ģ åī ª è£ ģ ĊĠĠĠ Ġfun Ġon Single Picture Callback ( file Url 0 : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! allow Crop ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback All ( array Of ( file Url 0 )) ĊĊĠĠĠĠĠĠĠ Ġ} else { ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// åĽŀè°ĥ åħ¨éĥ¨ åĨħå®¹ ĊĠĠĠ Ġfun Ġcallback All ( file Url 0 : ĠArray < String > ){ ĊĠĠĠĠĠĠĠ Ġfile Url ( file Url 0 ) ĊĠĠĠĠĠĠĠ Ġcallback Bitmap ( file Url 0 ); ĊĠĠĠĠĠĠĠ Ġcallback File ( file Url 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcallback Bitmap ( file Url 0 : ĠArray < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( on Bitmap Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġbitmap Arr : ĠArray < Bitmap > Ġ= ĠarrayOf (); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile Url 0 . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= ĠBitmap Factory . decode File ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbitmap Arr Ġ= Ġbitmap Arr . plus ( bitmap ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Bitmap !! ( bitmap Arr ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcallback File ( file Url 0 : ĠArray < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( on File Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġfile Arr : ĠArray < File > Ġ= ĠarrayOf (); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile Url 0 . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Ġ= ĠFile ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfile Arr Ġ= Ġfile Arr . plus ( file ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon File !! ( file Arr ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// Ġ================================= ============ Ġ ç»Ļ åĨħéĥ¨ ç±» è°ĥçĶ¨ çļĦ Ġ================================================= == ĊĊĠĠĠ Ġfun Ġcancel (){ ĊĠĠĠĠĠĠĠ Ġif Ġ( on Cancel Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Cancel !! (); ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfile ( file : ĠArray < File > ){ ĊĠĠĠĠĠĠĠ Ġif Ġ( on File Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon File !! ( file ); ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbitmap ( bitmap : ĠArray < Bitmap > ){ ĊĠĠĠĠĠĠĠ Ġif Ġ( on Bitmap Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Bitmap !! ( bitmap ); ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfile Url ( file : ĠArray < String > ){ ĊĠĠĠĠĠĠĠ Ġif Ġ( on File Url Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon File Url !! ( file ); ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ // ĠĠĠ Ġfun Ġgallery Url ( file : ĠArray < String > ){ Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( on Gallery Url Ġ!= Ġnull ){ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġon Gallery Url !! ( file ); Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} ĊĊĊĊĊĊĊĊ ĊĊĠĠĠ Ġ// Ġ================================= ============ Ġget Ġset Ġ================================================= == ĊĊĠĠĠ Ġfun Ġset Allow Gallery ( allow : ĠBoolean ): ĠP { ĊĠĠĠĠĠĠĠ Ġthis . allow Gallery Ġ= Ġallow ; ĊĠĠĠĠĠĠĠ Ġreturn Ġ Ġthis ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Allow Camera ( allow : ĠBoolean ): ĠP { ĊĠĠĠĠĠĠĠ Ġthis . allow Camera Ġ= Ġallow ; ĊĠĠĠĠĠĠĠ Ġreturn Ġ Ġthis ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Allow Multiple Choose ( allow : ĠBoolean ): ĠP { ĊĠĠĠĠĠĠĠ Ġthis . multiple Choose Ġ= Ġallow ; ĊĠĠĠĠĠĠĠ Ġreturn Ġ Ġthis ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Allow Crop ( allow : ĠBoolean ): ĠP { ĊĠĠĠĠĠĠĠ Ġthis . allow Crop Ġ= Ġallow ; ĊĠĠĠĠĠĠĠ Ġreturn Ġ Ġthis ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset On File ( listener : Ġ( bitmap : ĠArray < File >) Ġ-> ĠUnit ): ĠP { ĊĠĠĠĠĠĠĠ Ġthis . on File Ġ= Ġlistener ; ĊĠĠĠĠĠĠĠ Ġreturn Ġ Ġthis ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset On Bitmap ( listener : Ġ( bitmap : ĠArray < Bitmap >) Ġ-> ĠUnit ): ĠP { ĊĠĠĠĠĠĠĠ Ġthis . on Bitmap Ġ= Ġlistener ; ĊĠĠĠĠĠĠĠ Ġreturn Ġ Ġthis ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset On File Url ( listener : Ġ( bitmap : ĠArray < String >) Ġ-> ĠUnit ): ĠP { ĊĠĠĠĠĠĠĠ Ġthis . on File Url Ġ= Ġlistener ; ĊĠĠĠĠĠĠĠ Ġreturn Ġ Ġthis ; ĊĠĠĠ Ġ} Ċ Ċ // ĠĠĠ Ġfun Ġset On Gallery Url ( listener : Ġ( bitmap : ĠArray < String >) Ġ-> ĠUnit ): ĠP { Ċ // ĠĠĠĠĠĠĠ Ġthis . on Gallery Url Ġ= Ġlistener ; Ċ // ĠĠĠĠĠĠĠ Ġreturn Ġ Ġthis ; Ċ // ĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset On Cancel ( listener : Ġ() Ġ-> ĠUnit ): ĠP { ĊĠĠĠĠĠĠĠ Ġthis . on Cancel Ġ= Ġlistener ; ĊĠĠĠĠĠĠĠ Ġreturn Ġ Ġthis ; ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġvar Ġp : ĠP ? Ġ= Ġnull ; ĊĠĠĠĠĠĠĠ Ġfun ĠgetLast Instance (): ĠP ? { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġp ; ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ