package Ġcom . permission x . c urren c ys ystem . module . mine ĊĊ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . widget . Toast Ċ import Ġcom . luck . picture . lib . Picture Selector Ċ import Ġcom . luck . picture . lib . config . Picture Config Ċ import Ġcom . luck . picture . lib . config . Picture MimeType Ċ import Ġcom . lx j . x popup . X Popup Ċ import Ġcom . lx j . x popup . interfaces . On Input Confirm Listener Ċ Ċ import Ġcom . permission x . c urren c ys ystem . R Ċ import Ġcom . permission x . c urren c ys ystem . base . Base M vp Activity Ċ import Ġcom . permission x . c urren c ys ystem . bean . User Bean Ċ import Ġcom . permission x . c urren c ys ystem . utils . Image Loader Manager Ċ import Ġcom . permission x . c urren c ys ystem . utils . Loading Utils Ċ import Ġkotlinx . android . synt hetic . main . activity _ user _ info .* Ċ Ċ class ĠUserInfo Activity Ġ: Base M vp Activity < UserInfo Contract . IP res enter >(), UserInfo Contract . I View { ĊĠĠĠ Ġprivate Ġvar Ġimage Upload Src ="" ĊĠĠĠ Ġprivate Ġvar Ġimage Local Src Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġtxt ="" ĊĠĠĠ Ġoverride Ġfun Ġget Layout Id () = R . layout . activity _ user _ info ĊĊĠĠĠ Ġoverride Ġfun Ġregister Presenter () = UserInfo Presenter :: class . java ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġuser _ info _ top Bar . setTitle (" ä¿®æĶ¹ ä¿¡æģ¯ ") ĊĠĠĠĠĠĠĠ Ġval Ġuser : User Bean = intent . get Serializable Extra (" user ") Ġas ĠUser Bean ĊĠĠĠĠĠĠĠ Ġuser _ info _ top Bar . add Left Back Image Button (). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Result ( 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () Ġ} ĊĠĠĠĠĠĠĠ Ġl ly t _ member _ name . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpopup View Ġ= ĠX Popup . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Input Confirm (" ä¿®æĶ¹ å§ĵ åĲį ", user . name , Ġ" è¯·è¾ĵåħ¥ è¦ģ ä¿®æĶ¹ çļĦ å§ĵ åĲį ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOn Input Confirm Listener Ġ{ Ġtext Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( TextUtils . isEmpty ( text )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this ," å§ĵ åĲį ä¸įèĥ½ä¸ºç©º ", Toast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ On Input Confirm Listener ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtxt = text ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Presenter (). update Profile ( text ," ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpopup View . show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtv _ name . text = user . name ĊĠĠĠĠĠĠĠ ĠImage Loader Manager . load Circle Image ( this , user . avatar , iv _ image ) ĊĠĠĠĠĠĠĠ Ġiv _ image . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsel Pic () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsel Pic () Ġ{ ĊĠĠĠĠĠĠĠ ĠPicture Selector . create ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. open Gallery ( Picture MimeType . of Image ()) // åħ¨éĥ¨ . Picture MimeType . of All () ãĢģ åĽ¾çīĩ . of Image () ãĢģ è§Ĩé¢ĳ . of Video () ãĢģ éŁ³ é¢ĳ . of Audio () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. max Select Num ( 1 )// Ġ æľĢå¤§ åĽ¾çīĩ éĢīæĭ© æķ°éĩı Ġint ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. min Select Num ( 0 )// Ġ æľĢå°ı éĢīæĭ© æķ°éĩı Ġint ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. image Span Count ( 4 )// Ġæ¯ı è¡Į æĺ¾ç¤º ä¸ªæķ° Ġint ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. selection Mode ( Picture Config . MULTIPLE )// Ġ å¤ļ éĢī Ġor Ġ åįķ éĢī ĠPicture Config . MULTIPLE Ġor ĠPicture Config . SINGLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. preview Image ( true )// Ġæĺ¯åĲ¦ åı¯ é¢Ħ è§Ī åĽ¾çīĩ Ġtrue Ġor Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. preview Video ( false )// Ġæĺ¯åĲ¦ åı¯ é¢Ħ è§Ī è§Ĩé¢ĳ Ġtrue Ġor Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. enable Preview Audio ( false ) Ġ// Ġæĺ¯åĲ¦ åı¯ æĴŃæĶ¾ éŁ³ é¢ĳ Ġtrue Ġor Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. is Camera ( true )// Ġæĺ¯åĲ¦ æĺ¾ç¤º æĭ į çħ§ æĮīéĴ® Ġtrue Ġor Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. image Format ( Picture MimeType . PNG )// Ġæĭ į çħ§ ä¿ĿåŃĺ åĽ¾çīĩ æł¼å¼ı åĲİ ç¼Ģ , é»ĺè®¤ jpeg ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. is Zoom Anim ( true )// Ġ åĽ¾çīĩ åĪĹè¡¨ çĤ¹åĩ» Ġ ç¼© æĶ¾ æķĪæŀľ Ġé»ĺè®¤ true ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. size Multiplier ( 0 . 5 f )// Ġg lide Ġ åĬłè½½ åĽ¾çīĩ å¤§å°ı Ġ 0 ~ 1 ä¹ĭéĹ´ Ġ å¦Ĥ è®¾ç½® Ġ. glide Override () æĹł æķĪ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setOutput Camera Path ("/ Custom Path ") // Ġ èĩªå®ļä¹ī æĭ į çħ§ ä¿ĿåŃĺ è·¯å¾Ħ , åı¯ ä¸į å¡« ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. enable Crop ( true )// Ġæĺ¯åĲ¦ è£ ģ åī ª Ġtrue Ġor Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. compress ( true )// Ġæĺ¯åĲ¦ åİĭç¼© Ġtrue Ġor Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. hide Bottom Controls ( false )// Ġæĺ¯åĲ¦ æĺ¾ç¤º u Crop å·¥åħ· æłı ï¼Į é»ĺè®¤ ä¸į æĺ¾ç¤º Ġtrue Ġor Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. is Gif ( false )// Ġæĺ¯åĲ¦ æĺ¾ç¤º gif åĽ¾çīĩ Ġtrue Ġor Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. circle Dim med Layer ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. minimum Compress Size ( 1 0 0 )// Ġå°ı äºİ 1 0 0 kb çļĦ åĽ¾çīĩ ä¸į åİĭç¼© ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. syn Or As y ( true )// åĲĮæŃ¥ true æĪĸ å¼ĤæŃ¥ false Ġ åİĭç¼© Ġé»ĺè®¤ åĲĮæŃ¥ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. video Max Second ( 1 5 )// Ġ æĺ¾ç¤º å¤ļå°ĳ ç§Ĵ ä»¥ åĨħ çļĦ è§Ĩé¢ĳ or éŁ³ é¢ĳ ä¹Ł åı¯ éĢĤ çĶ¨ Ġint ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. video Min Second ( 1 0 )// Ġ æĺ¾ç¤º å¤ļå°ĳ ç§Ĵ ä»¥ åĨħ çļĦ è§Ĩé¢ĳ or éŁ³ é¢ĳ ä¹Ł åı¯ éĢĤ çĶ¨ Ġint ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. is Drag Frame ( false )// Ġæĺ¯åĲ¦ åı¯ æĭ ĸ åĬ¨ è£ ģ åī ª æ¡Ĩ ( åĽºå®ļ ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. selection Media ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. for Result ( Picture Config . CH OOSE _ REQUEST )// ç»ĵæŀľ åĽŀè°ĥ on Activity Result Ġcode ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġwhen ( request Code ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPicture Config . CH OOSE _ REQUEST -> if Ġ( result Code == ĠActivity . RESULT _ OK ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimages Path = Picture Selector . obtain Multiple Result ( data )[ 0 ]. path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Local Src = images Path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Upload Src ="" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Presenter (). upload Image ( images Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġupdate Profile Result () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( txt . isNotEmpty ()){ ĊĠĠĠĠĠĠĠ Ġtv _ name . text = txt } ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupload Image Result ( data : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Upload Src = data ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠImage Loader Manager . load Circle Image ( this , image Local Src , iv _ image ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Presenter (). update Profile ("", image Upload Src ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Loading () Ġ{ ĊĠĠĠĠĠĠĠ ĠLoading Utils . show Loading ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Loading () Ġ{ ĊĠĠĠĠĠĠĠ ĠLoading Utils . hide Loading () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow ErrorMsg ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , msg , Toast . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} Ċ Ċ } Ċ