package Ġcom . example . k ale pa Ċ Ċ import Ġandroid . Manifest . permission . CAMERA Ċ import Ġandroid . Manifest . permission . READ _ EXTERNAL _ STORAGE Ċ import Ġandroid . annotation . Target Api Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Content U ris Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Build Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . provider . Documents Contract Ċ import Ġandroid . provider . Media Store Ċ import Ġandroid . support . v 4 . app . Activity Compat Ċ import Ġandroid . support . v 4 . content . Context Compat Ċ import Ġandroid . support . v 4 . content . File Provider Ċ import Ġandroid . support . v 7 . app . AlertDialog Ċ import Ġandroid . support . v 7 . widget . Grid LayoutManager Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . widget .* Ċ Ċ import Ġcom . android networking . Android Networking Ċ import Ġcom . android networking . error . AN Error Ċ import Ġcom . android networking . interfaces . JSONObject RequestListener Ċ Ċ import Ġcom . example . character manager . Main ListAdapter Ċ import Ġcom . example . k ale pa . Adapters . Upload Image Adapter Ċ import Ġcom . example . k ale pa . Preferences . Shared App Ċ import Ġcom . example . k ale pa . common . get Intent Ċ import Ġcom . example . k ale pa . models . Product Ċ Ċ import Ġcom . github . kit tin un f . fuel . android . extension . response Json Ċ import Ġcom . github . kit tin un f . fuel . http Delete Ċ import Ġcom . github . kit tin un f . fuel . http Get Ċ import Ġcom . github . kit tin un f . fuel . http Post Ċ import Ġcom . github . kit tin un f . fuel . http Put Ċ import Ġcom . github . kit tin un f . result . Result Ċ import Ġkotlinx . android . synt hetic . main . activity _ update _ product .* Ċ Ċ import Ġorg . jetbrains . ank o . toast Ċ import Ġorg . json . JSONObject Ċ import Ġjava . io . File Ċ import Ġjava . util .* Ċ Ċ import Ġkotlin . collections . ArrayList Ċ Ċ class ĠUpdate Product Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġproduct : ĠProduct Ġ= ĠProduct () ĊĠĠĠ Ġprivate Ġvar Ġimage Urls Ġ= ĠArrayList < String ?> () ĊĠĠĠ Ġprivate Ġvar Ġcategories Ġ= ĠArrayList < String >() ĊĠĠĠ Ġprivate Ġvar Ġserver Categories Ġ= ĠArrayList < String >() ĊĠĠĠ Ġprivate Ġvar Ġselected Action Ġ= Ġ 0 ĊĊĠĠĠ Ġprivate Ġval ĠFIN AL _ TA KE _ PH OTO Ġ= Ġ 1 ĊĠĠĠ Ġprivate Ġval ĠFIN AL _ CH OOSE _ PH OTO Ġ= Ġ 2 ĊĠĠĠ Ġprivate Ġvar Ġimage Uri : ĠUri ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġimage Path : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġcamera Images Ġ= Ġ 0 ĊĊĠĠĠ Ġprivate Ġvar Ġticks Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ update _ product ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= Ġandroid . app . AlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠ Ġval Ġdialog View Ġ= Ġlayout Inflater . inflate ( R . layout . progress _ dialog , null ) ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġdialog View . findViewById < TextView >( R . id . message ) ĊĠĠĠĠĠĠĠ Ġmessage . text Ġ= Ġ" C arg ando Ġcategor ias ..." ĊĠĠĠĠĠĠĠ Ġbuilder . setView ( dialog View ) ĊĠĠĠĠĠĠĠ Ġbuilder . set Cancel able ( false ) ĊĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= Ġbuilder . create () ĊĠĠĠĠĠĠĠ Ġdialog . show () ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠMainActivity (). project URL Ġ+ Ġ"/ categories " ĊĊĠĠĠĠĠĠĠ Ġval Ġreq Ġ= Ġurl . http Get (). header ( Pair (" Cookie ", ĠShared App . prefs . cookie )) ĊĠĠĠĠĠĠĠ Ġreq . response Json Ġ{ Ġrequest , Ġresponse , Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Failure Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Error Ġc arg ando Ġcategor ÃŃas ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMainActivity . start ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠjsonObject Ġ= Ġresult . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaux Ġ= ĠjsonObject . get (" list "). toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġseparate Ġ= Ġaux . split (""" (\ ", \") | (\ [\ ") |( \"\ ]) """. to Regex ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġserver Categories Ġ= ĠArrayList ( separate . slice ( Int Range ( 1 , separate . size - 2 ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload _ product () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload _ product () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproduct _ id : ĠString ? Ġ= Ġintent . extras . getString ( PRODUCT _ ARG ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= Ġandroid . app . AlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠ Ġval Ġdialog View Ġ= Ġlayout Inflater . inflate ( R . layout . progress _ dialog , null ) ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġdialog View . findViewById < TextView >( R . id . message ) ĊĠĠĠĠĠĠĠ Ġmessage . text Ġ= Ġ" C arg ando Ġproducto ..." ĊĠĠĠĠĠĠĠ Ġbuilder . setView ( dialog View ) ĊĠĠĠĠĠĠĠ Ġbuilder . set Cancel able ( false ) ĊĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= Ġbuilder . create () ĊĠĠĠĠĠĠĠ Ġdialog . show () ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠMainActivity (). project URL Ġ+ Ġ"/ product /" Ġ+ Ġproduct _ id ĊĊĠĠĠĠĠĠĠ Ġval Ġreq Ġ= Ġurl . http Get (). header ( Pair (" Cookie ", ĠShared App . prefs . cookie )) ĊĠĠĠĠĠĠĠ Ġreq . response Json Ġ{ Ġrequest , Ġresponse , Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Failure Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMainActivity . start ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Error Ġc arg ando Ġel Ġproducto ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInitialize ( result . value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠInitialize ( jsonObject : ĠJSONObject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġproduct . from JSON ( jsonObject ) ĊĊĠĠĠĠĠĠĠ Ġm _ Update _ followers . text Ġ= Ġproduct . followers . toString () ĊĠĠĠĠĠĠĠ Ġm _ Update _ titulo . setText ( product . title ) ĊĠĠĠĠĠĠĠ Ġm _ Update _ descripcion . setText ( product . de script ) ĊĠĠĠĠĠĠĠ Ġm _ Update _ precio . setText ( product . price . toString ()) ĊĠĠĠĠĠĠĠ Ġcategories Ġ= Ġproduct . categories ĊĠĠĠĠĠĠĠ Ġimage Urls Ġ= Ġproduct . photo _ urls ĊĊĠĠĠĠĠĠĠ Ġvar Ġlist Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġfor Ġ( c Ġin Ġcategories ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġ= Ġ"$ list Ġ#$ c " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġn _ Update _ category _ text . setText ( list ) ĊĊĠĠĠĠĠĠĠ Ġn _ Update _ category _ button . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Category Dialog () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm _ image _ sub ir . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Image Dialog () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm _ button _ Update . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Product () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm _ button _ delete . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsafe Delete Product () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm _ button _ quit ar _ sub asta . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġqu itar Sub asta () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm _ button _ venta R ap ida . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġboost ear Producto () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm _ radioButton _ Sub asta . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġticks ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m _ radioButton _ Sub asta . isChecked Ġ&& Ġticks Ġ> Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm _ radioButton _ Sub asta . isChecked Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġticks Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( image Urls . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Images ( image Urls ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Images ( items : ĠArrayList < String ?> ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm _ images _ container . layout Manager Ġ= ĠGrid LayoutManager ( this , Ġitems . size ) ĊĠĠĠĠĠĠĠ Ġval Ġimage Item Adapters Ġ= Ġitems . map ( this :: create Category Item Adapter ) ĊĠĠĠĠĠĠĠ Ġm _ images _ container . adapter Ġ= ĠMain ListAdapter ( image Item Adapters ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Category Item Adapter ( image : ĠString ?) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= ĠUpload Image Adapter ( image !! , ĊĠĠĠĠĠĠĠ Ġ// Bitmap Factory . decode Stream ( getContent Resolver (). open InputStream ( image )), ĊĠĠĠĠĠĠĠ Ġ{ Ġshow Image Menu ( image ) Ġ}) ĊĊĠĠĠ Ġprivate Ġfun Ġshow Image Menu ( image : ĠString ?) Ġ: Boolean { ĊĠĠĠĠĠĠĠ Ġvar Ġpopup Ġ= ĠPopup Menu ( this , Ġm _ Update _ menu _ reference ) ĊĠĠĠĠĠĠĠ Ġpopup . inflate ( R . menu . delete _ menu ) ĊĠĠĠĠĠĠĠ Ġpopup . setOn MenuItem ClickListener ( PopupMenu . On MenuItem ClickListener Ġ{ Ġitem : ĠMenuItem ? Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( item !!. itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . delete _ staff _ menu Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( image Urls . size Ġ> Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Urls . remove ( image ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Images ( image Urls ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Imagen ĠE limin ada ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" No Ġse Ġpuede Ġde jar Ġmenos Ġde Ġuna Ġimagen ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġpopup . show () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġboost ear Producto () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġlayout Inflater . inflate ( R . layout . dialog _ fast _ sell , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġval Ġwindow Ġ= ĠPopup Window ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview , Ġ// ĠCustom Ġview Ġto Ġshow Ġin Ġpopup Ġwindow ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLinearLayout . LayoutParams . WRAP _ CONTENT , Ġ// ĠWidth Ġof Ġpopup Ġwindow ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLinearLayout . LayoutParams . WRAP _ CONTENT Ġ// ĠWindow Ġheight ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwindow . is Focus able Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ// Blur Ġthe Ġbackground ĊĠĠĠĠĠĠĠ Ġval Ġf color None Ġ= ĠColor Drawable ( resources . getColor ( R . color . transparent )) ĊĠĠĠĠĠĠĠ Ġval Ġf color Blur Ġ= ĠColor Drawable ( resources . getColor ( R . color . transparent Dark )) ĊĠĠĠĠĠĠĠ Ġn _ update _ container . foreground Ġ= Ġf color Blur ĊĊĠĠĠĠĠĠĠ Ġwindow . show At Location ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn _ update _ header , Ġ// ĠLocation Ġto Ġdisplay Ġpopup Ġwindow ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGr avity . CENTER , Ġ// ĠExact Ġposition Ġof Ġlayout Ġto Ġdisplay Ġpopup ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ// ĠX Ġoffset ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ// ĠY Ġoffset ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcancel Ġ= Ġview . findViewById < Button >( R . id . n _ dfs _ cancel ar ) ĊĠĠĠĠĠĠĠ Ġval Ġpay Ġ= Ġview . findViewById < Button >( R . id . n _ dfs _ pay ) ĊĠĠĠĠĠĠĠ Ġval Ġconcept Ġ= Ġview . findViewById < Spinner >( R . id . n _ dfs _ payment ) ĊĊĠĠĠĠĠĠĠ Ġpay . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( concept . selected Item . toString (). equals (" 3 Ġ Ġdi as Ġ- Ġ 2 â Ĥ¬ ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpay Product ( 3 , 2 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( concept . selected Item . toString (). equals (" 7 Ġ Ġdi as Ġ- Ġ 4 â Ĥ¬ ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpay Product ( 7 , 4 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( concept . selected Item . toString (). equals (" 1 4 Ġdi as Ġ- Ġ 7 â Ĥ¬ ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpay Product ( 1 4 , 7 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpay Product ( 3 0 , 1 2 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcancel . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . dismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwindow . setOn Dismiss Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn _ update _ container . foreground Ġ= Ġf color None ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpay Product ( days : ĠInt , Ġprice : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠ Ġval Ġdialog View Ġ= Ġlayout Inflater . inflate ( R . layout . progress _ dialog , null ) ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġdialog View . findViewById < TextView >( R . id . message ) ĊĠĠĠĠĠĠĠ Ġmessage . text Ġ= Ġ" Comp rob ando Ġdatos ..." ĊĠĠĠĠĠĠĠ Ġbuilder . setView ( dialog View ) ĊĠĠĠĠĠĠĠ Ġbuilder . set Cancel able ( false ) ĊĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= Ġbuilder . create () ĊĠĠĠĠĠĠĠ Ġdialog . show () ĊĊĠĠĠĠĠĠĠ Ġval Ġnow Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġvar Ġany o Ġ= Ġnow . get ( Calendar . YEAR ) ĊĠĠĠĠĠĠĠ Ġvar Ġmes Ġ= Ġnow . get ( Calendar . MONTH ) ĊĠĠĠĠĠĠĠ Ġvar Ġdia Ġ= Ġnow . get ( Calendar . DAY _ OF _ MONTH ) Ġ+ Ġdays ĊĠĠĠĠĠĠĠ Ġif Ġ( dia Ġ> Ġ 3 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdia Ġ= Ġdia Ġ- Ġ 3 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmes Ġ= Ġmes Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( mes Ġ> Ġ 1 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmes Ġ= Ġmes Ġ- Ġ 1 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany o Ġ= Ġany o Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġboost Date Ġ= Ġany o . toString () Ġ+ Ġ"-" Ġ+ Ġmes . toString () Ġ+ Ġ"-" Ġ+ Ġdia . toString () ĊĊĠĠĠĠĠĠĠ Ġval ĠjsonObject Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠ ĠjsonObject . accum ulate (" amount ", Ġprice ) ĊĠĠĠĠĠĠĠ ĠjsonObject . accum ulate (" ib an ", Ġ"< ES 6 6 Ġ 0 0 0 0 Ġ 0 0 0 0 Ġ 0 0 0 0 Ġ 0 0 0 0 Ġ 0 0 0 0 >") ĊĠĠĠĠĠĠĠ ĠjsonObject . accum ulate (" product _ id ", Ġproduct . id ) ĊĠĠĠĠĠĠĠ ĠjsonObject . accum ulate (" boost _ date ", Ġboost Date ) ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠMainActivity (). project URL Ġ+ Ġ"/ payment " ĊĊĠĠĠĠĠĠĠ Ġval Ġreq Ġ= Ġurl . http Post (). body ( jsonObject . toString ()). header ( Pair (" Cookie ", ĠShared App . prefs . cookie )) ĊĠĠĠĠĠĠĠ Ġreq . http Headers [" Content - Type "] Ġ= Ġ" application / json " ĊĊĠĠĠĠĠĠĠ Ġreq . response Ġ{ Ġrequest , Ġresponse , Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Failure Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Error Ġen Ġel Ġpag o ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Producto Ġen Ġv enta Ġr Ã¡ pid a ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Product Ġ() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠ Ġval Ġdialog View Ġ= Ġlayout Inflater . inflate ( R . layout . progress _ dialog , null ) ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġdialog View . findViewById < TextView >( R . id . message ) ĊĠĠĠĠĠĠĠ Ġmessage . text Ġ= Ġ" Comp rob ando Ġdatos ..." ĊĠĠĠĠĠĠĠ Ġbuilder . setView ( dialog View ) ĊĠĠĠĠĠĠĠ Ġbuilder . set Cancel able ( false ) ĊĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= Ġbuilder . create () ĊĠĠĠĠĠĠĠ Ġdialog . show () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( check _ fields ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m _ radioButton _ Sub asta . isChecked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct . bid _ date Ġ= Ġm _ Update _ fecha . text . toString () Ġ+ Ġ" Ġ 0 0 : 0 0 : 0 0 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct . bid _ date Ġ= Ġ" 1 9 9 7 - 1 2 - 2 3 Ġ 0 0 : 0 0 : 0 0 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct . title Ġ= Ġm _ Update _ titulo . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct . de script Ġ= Ġm _ Update _ descripcion . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct . price Ġ= Ġm _ Update _ precio . text . toString (). toDouble () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct . photo _ urls Ġ= Ġimage Urls ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct . categories Ġ= Ġcategories ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct . main _ img Ġ= Ġimage Urls [ 0 ] !! ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠjsonObject Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠjsonObject . accum ulate (" title ", Ġproduct . title ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠjsonObject . accum ulate (" de script ", Ġproduct . de script ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠjsonObject . accum ulate (" price ", Ġproduct . price ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠjsonObject . accum ulate (" bid _ date ", Ġproduct . bid _ date ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠjsonObject . accum ulate (" main _ img ", Ġproduct . main _ img ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠjsonObject . accum ulate (" place ", Ġproduct . place ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġcategories . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠjsonObject . accum ulate (" categories ", Ġcategories [ i ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġimage Urls . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠjsonObject . accum ulate (" photo _ urls ", Ġimage Urls [ i ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠMainActivity (). project URL Ġ+ Ġ"/ product /" Ġ+ Ġproduct . id . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreq Ġ= Ġurl . http Put (). body ( jsonObject . toString ()). header ( Pair (" Cookie ", ĠShared App . prefs . cookie )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreq . http Headers [" Content - Type "] Ġ= Ġ" application / json " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreq . response Ġ{ Ġrequest , Ġresponse , Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Failure Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" No Ġse Ġha Ġpod ido Ġactual izar , Ġintent e lo Ġde Ġnuevo ĠmÃ¡s Ġtar de ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Producto Ġactual izado ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġqu itar Sub asta () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠ Ġval Ġdialog View Ġ= Ġlayout Inflater . inflate ( R . layout . progress _ dialog , null ) ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġdialog View . findViewById < TextView >( R . id . message ) ĊĠĠĠĠĠĠĠ Ġmessage . text Ġ= Ġ" Comp rob ando Ġdatos ..." ĊĠĠĠĠĠĠĠ Ġbuilder . setView ( dialog View ) ĊĠĠĠĠĠĠĠ Ġbuilder . set Cancel able ( false ) ĊĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= Ġbuilder . create () ĊĠĠĠĠĠĠĠ Ġdialog . show () ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠMainActivity (). project URL Ġ+ Ġ"/ product /" Ġ+ Ġproduct . id . toString () Ġ+ Ġ"/ bid down " ĊĊĠĠĠĠĠĠĠ Ġval Ġreq Ġ= Ġurl . http Put (). header ( Pair (" Cookie ", ĠShared App . prefs . cookie )) ĊĊĠĠĠĠĠĠĠ Ġreq . response Ġ{ Ġrequest , Ġresponse , Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Failure Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Error , Ġel Ġproducto Ġno Ġse Ġpuede Ġret ir ar Ġde Ġsub asta ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" El Ġproducto Ġya Ġno Ġesta Ġen Ġsub asta ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsafe Delete Product () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġlayout Inflater . inflate ( R . layout . dialog _ safe _ product _ delete , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġval Ġwindow Ġ= ĠPopup Window ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview , Ġ// ĠCustom Ġview Ġto Ġshow Ġin Ġpopup Ġwindow ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLinearLayout . LayoutParams . WRAP _ CONTENT , Ġ// ĠWidth Ġof Ġpopup Ġwindow ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLinearLayout . LayoutParams . WRAP _ CONTENT Ġ// ĠWindow Ġheight ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwindow . is Focus able Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ// Blur Ġthe Ġbackground ĊĠĠĠĠĠĠĠ Ġval Ġf color None Ġ= ĠColor Drawable ( resources . getColor ( R . color . transparent )) ĊĠĠĠĠĠĠĠ Ġval Ġf color Blur Ġ= ĠColor Drawable ( resources . getColor ( R . color . transparent Dark )) ĊĠĠĠĠĠĠĠ Ġn _ update _ container . foreground Ġ= Ġf color Blur ĊĊĠĠĠĠĠĠĠ Ġwindow . show At Location ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn _ update _ header , Ġ// ĠLocation Ġto Ġdisplay Ġpopup Ġwindow ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGr avity . CENTER , Ġ// ĠExact Ġposition Ġof Ġlayout Ġto Ġdisplay Ġpopup ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ// ĠX Ġoffset ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ// ĠY Ġoffset ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcancel Ġ= Ġview . findViewById < Button >( R . id . n _ dsp d _ cancel ar ) ĊĠĠĠĠĠĠĠ Ġval Ġdelete Ġ= Ġview . findViewById < Button >( R . id . n _ dsp d _ delete ) ĊĠĠĠĠĠĠĠ Ġval Ġreason Ġ= Ġview . findViewById < Spinner >( R . id . n _ dsp d _ re asons ) ĊĠĠĠĠĠĠĠ Ġval Ġextra _ reason Ġ= Ġview . findViewById < EditText >( R . id . n _ dsp d _ extra _ reason ) ĊĊĠĠĠĠĠĠĠ Ġdelete . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Product () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcancel . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . dismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwindow . setOn Dismiss Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn _ update _ container . foreground Ġ= Ġf color None ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdelete Product () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠ Ġval Ġdialog View Ġ= Ġlayout Inflater . inflate ( R . layout . progress _ dialog , null ) ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġdialog View . findViewById < TextView >( R . id . message ) ĊĠĠĠĠĠĠĠ Ġmessage . text Ġ= Ġ" Comp rob ando Ġdatos ..." ĊĠĠĠĠĠĠĠ Ġbuilder . setView ( dialog View ) ĊĠĠĠĠĠĠĠ Ġbuilder . set Cancel able ( false ) ĊĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= Ġbuilder . create () ĊĠĠĠĠĠĠĠ Ġdialog . show () ĊĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠMainActivity (). project URL Ġ+ Ġ"/ product /" Ġ+ Ġproduct . id . toString () ĊĊĠĠĠĠĠĠĠ Ġval Ġreq Ġ= Ġurl . http Delete (). header ( Pair (" Cookie ", ĠShared App . prefs . cookie )) ĊĊĠĠĠĠĠĠĠ Ġreq . response Ġ{ Ġrequest , Ġresponse , Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Failure Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" No Ġse Ġha Ġpod ido Ġelim inar , Ġintent e lo Ġde Ġnuevo ĠmÃ¡s Ġtar de ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSelf Profile Activity . start ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Producto Ġelimin ado ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck _ fields Ġ() Ġ: ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġvar Ġright Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġif Ġ( m _ Update _ titulo . text . toString (). isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm _ Update _ titulo . error Ġ= Ġ" El Ġcampo Ġno Ġpuede Ġser Ġvac io " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( m _ Update _ descripcion . text . toString (). isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm _ Update _ descripcion . error Ġ= Ġ" El Ġcampo Ġno Ġpuede Ġser Ġvac io " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( categories . size Ġ<= Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn _ Update _ category _ text . error Ġ= Ġ" Min imo Ġdos Ġcategor ÃŃa " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( image Urls . size Ġ<= Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Intro du z ca Ġdos Ġimagen es Ġcomo Ġm ÃŃn imo ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġregex Ġ= Ġ""" [ 0 - 9 ]+ (. [ 0 - 9 ][ 0 - 9 ]) ? """. to Regex () ĊĠĠĠĠĠĠĠ Ġif Ġ(! regex . matches ( m _ Update _ precio . text . toString ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm _ Update _ precio . error Ġ= Ġ" No Ġes Ġuna Ġcantidad ĠvÃ¡l ida " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( m _ radioButton _ Sub asta . isChecked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġregex Ġ= Ġ""" [ 1 - 2 ][ 0 - 9 ][ 0 - 9 ][ 0 - 9 ]- [ 0 - 1 ][ 0 - 9 ]- [ 0 - 3 ][ 0 - 9 ] """. to Regex () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! regex . matches ( m _ Update _ fecha . text . toString ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm _ Update _ fecha . error Ġ= Ġ" El Ġformato Ġdebe Ġser Ġa aaa - mm - dd " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġright ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Category Dialog (){ ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġdialog : AlertDialog ĊĊĠĠĠĠĠĠĠ Ġval Ġarray Categories Ġ= ĠarrayOf Null s < String >( server Categories . size ) ĊĠĠĠĠĠĠĠ Ġval Ġarray Checked Ġ= ĠBoolean Array ( server Categories . size ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġserver Categories . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarray Categories . set ( i , server Categories [ i ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchecked Ġ= Ġcategories . indexOf ( server Categories [ i ]) Ġ!= Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarray Checked . set ( i , true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarray Checked . set ( i , false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠ Ġbuilder . setTitle (" E li ja Ġcategor ÃŃas ") ĊĊĠĠĠĠĠĠĠ Ġbuilder . set Multi Choice Items ( array Categories , Ġarray Checked , Ġ{ dialog , which , isChecked -> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarray Checked [ which ] Ġ= Ġis Checked ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠCategory Ġ= Ġarray Categories [ which ] ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġthe Ġpositive / yes Ġbutton Ġclick Ġlistener ĊĠĠĠĠĠĠĠ Ġbuilder . set Positive Button (" OK ") Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategories . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġlist Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġarray Categories . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchecked Ġ= Ġarray Checked [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcategories . add ( array Categories [ i ] !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġ= Ġlist Ġ+ Ġ" Ġ# " Ġ+ Ġarray Categories [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġn _ Update _ category _ text . setText ( list ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdialog Ġ= Ġbuilder . create () ĊĠĠĠĠĠĠĠ Ġdialog . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Image Dialog (){ ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġdialog : AlertDialog ĊĊĠĠĠĠĠĠĠ Ġval Ġitems Ġ= ĠarrayOf (" G aler ÃŃa "," Cam ara ") ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠ Ġvar Ġselected Ġ= Ġ" G aler ÃŃa " ĊĠĠĠĠĠĠĠ Ġbuilder . setTitle (" Â¿ De Ġdon de Ġde sea Ġcon segu ir Ġla Ġimagen ?") ĊĊĠĠĠĠĠĠĠ Ġbuilder . set Items ( items ) Ġ{ Ġdialog , Ġwhich Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ= Ġitems [ which ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( which Ġ== Ġ 0 ){ ĠĠĠ Ġ// G AL ER Ãį A ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Action Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcheck Self Permission Ġ= ĠContext Compat . check Self Permission ( this , Ġandroid . Manifest . permission . WRITE _ EXTERNAL _ STORAGE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( check Self Permission Ġ!= ĠPackage Manager . PERMISSION _ GRAN TED ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Compat . request Permissions ( this , ĠarrayOf ( android . Manifest . permission . WRITE _ EXTERNAL _ STORAGE ), Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Album () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĠĠĠĠĠĠĠĠĠĠĠ Ġ// CAM ARA ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Action Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcheck Self Permission Ġ= ĠContext Compat . check Self Permission ( this , Ġandroid . Manifest . permission . CAMERA ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcheck Read Permission Ġ= ĠContext Compat . check Self Permission ( this , Ġandroid . Manifest . permission . READ _ EXTERNAL _ STORAGE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( check Self Permission Ġ!= ĠPackage Manager . PERMISSION _ GRAN TED Ġ&& Ġcheck Read Permission Ġ!= ĠPackage Manager . PERMISSION _ GRAN TED ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Compat . request Permissions ( this , ĠarrayOf ( READ _ EXTERNAL _ STORAGE , ĠCAM ERA ), Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Camera () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġthe Ġpositive / yes Ġbutton Ġclick Ġlistener ĊĠĠĠĠĠĠĠ Ġbuilder . set Positive Button (" OK ") Ġ{ Ġ_, Ġ_ Ġ-> Ġ} ĊĊĠĠĠĠĠĠĠ Ġdialog Ġ= Ġbuilder . create () ĊĠĠĠĠĠĠĠ Ġdialog . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Camera () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoutput Image Ġ= ĠFile ( external Cache Dir , Ġ" output _ image " Ġ+ Ġcamera Images . toString () Ġ+ Ġ". jpg ") ĊĠĠĠĠĠĠĠ Ġif ( output Image . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Image . delete () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġoutput Image . createNew File () ĊĠĠĠĠĠĠĠ Ġimage Uri Ġ= Ġif ( Build . VERSION . SDK _ INT Ġ>= Ġ 2 4 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFile Provider . get Uri For File ( this , Ġ" com . example . k ale pa . file provider ", Ġoutput Image ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUri . from File ( output Image ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent (" android . media . action . IMAGE _ CAPTURE ") ĊĠĠĠĠĠĠĠ Ġintent . putExtra ( Media Store . EXTRA _ OUTPUT , Ġimage Uri ) ĊĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , ĠFIN AL _ TA KE _ PH OTO ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Album (){ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent (" android . intent . action . GET _ CONTENT ") ĊĠĠĠĠĠĠĠ Ġintent . type Ġ= Ġ" image /* " ĊĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , ĠFIN AL _ CH OOSE _ PH OTO ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Request Permissions Result ( request Code : ĠInt , Ġpermissions : ĠArray < out ĠString >, Ġgrant Results : ĠInt Array ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Request Permissions Result ( request Code , Ġpermissions , Ġgrant Results ) ĊĠĠĠĠĠĠĠ Ġwhen ( request Code ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( grant Results . isNotEmpty () Ġ&& Ġgrant Results [ 0 ] Ġ== PackageManager . PERMISSION _ GRAN TED ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( selected Action Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Album () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Camera () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Has Ġd ene g ado Ġel Ġper miso ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġwhen ( request Code ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFIN AL _ TA KE _ PH OTO Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= Ġandroid . support . v 7 . app . AlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdialog View Ġ= Ġlayout Inflater . inflate ( R . layout . progress _ dialog , null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġdialog View . findViewById < TextView >( R . id . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage . text Ġ= Ġ" Sub i endo ĠIm agen ..." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setView ( dialog View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Cancel able ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= Ġbuilder . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . show () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl A Ġ= ĠMainActivity (). project URL Ġ+ Ġ"/ upload " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAndroid Networking . upload ( url A ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Headers (" Content - Type ", Ġ" multipart / form - data ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Headers (" Cookie ", ĠShared App . prefs . cookie ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Multipart File (" file ", ĠFile ( external Cache Dir , Ġ" output _ image " Ġ+ Ġcamera Images . toString () Ġ+ Ġ". jpg ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (). getAs JSONObject ( object Ġ: ĠJSONObject RequestListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( response : ĠJSONObject ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Urls . add ( MainActivity (). project URL Ġ+ Ġresponse . get (" message "). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany adir ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( error : ĠAN Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Error Ġal Ġsub ir Ġimagen Ġde Ġcam ara ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFIN AL _ CH OOSE _ PH OTO Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= Ġ 1 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Image On Kit kat ( data !!. data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Image Before Kit kat ( data !!. data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdialog View Ġ= Ġlayout Inflater . inflate ( R . layout . progress _ dialog , null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġdialog View . findViewById < TextView >( R . id . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage . text Ġ= Ġ" Sub i endo ĠIm agen ..." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setView ( dialog View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Cancel able ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= Ġbuilder . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . show () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl A Ġ= ĠMainActivity (). project URL Ġ+ Ġ"/ upload " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAndroid Networking . upload ( url A ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Headers (" Content - Type ", Ġ" multipart / form - data ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Headers (" Cookie ", ĠShared App . prefs . cookie ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Multipart File (" file ", ĠFile ( image Path )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (). getAs JSONObject ( object Ġ: ĠJSONObject RequestListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( response : ĠJSONObject ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Urls . add ( MainActivity (). project URL Ġ+ Ġresponse . get (" message "). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġany adir ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( error : ĠAN Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Error Ġal Ġsub ir Ġimagen Ġde Ġg aler ÃŃa ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġany adir Ġ( camera : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( camera ) Ġcamera Images ++ ĊĠĠĠĠĠĠĠ Ġshow Images ( image Urls ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Target Api ( 1 9 ) ĊĠĠĠ Ġprivate Ġfun Ġhandle Image On Kit kat ( new Uri : ĠUri ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġpath : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= Ġnew Uri // data !!. data ĊĠĠĠĠĠĠĠ Ġif Ġ( Documents Contract . is Document Uri ( this , Ġuri )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdoc Id Ġ= ĠDocuments Contract . getDocument Id ( uri ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(" com . android . providers . media . documents " Ġ== Ġuri . authority ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġdoc Id . split (": ")[ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsel set ion Ġ= ĠMedia Store . Images . Media ._ ID Ġ+ Ġ"=" Ġ+ Ġid ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= Ġimage Path ( Media Store . Images . Media . EXTERNAL _ CONTENT _ URI , Ġsel set ion ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ(" com . android . providers . downloads . documents " Ġ== Ġuri . authority ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Uri Ġ= ĠContent U ris . with App ended Id ( Uri . parse (" content :// downloads / public _ downloads "), Ġjava . lang . Long . valueOf ( doc Id )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= Ġimage Path ( content Uri , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ(" content ". equals ( uri . scheme , Ġignore Case Ġ= Ġtrue )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= Ġimage Path ( uri , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ(" file ". equals ( uri . scheme , Ġignore Case Ġ= Ġtrue )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= Ġuri . path ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġimage Path Ġ= Ġpath ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Image Before Kit kat ( new Uri : ĠUri ) Ġ{} ĊĊĠĠĠ Ġprivate Ġfun Ġimage Path ( uri : ĠUri ?, Ġselection : ĠString ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġpath : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= Ġcontent Resolver . query ( uri , Ġnull , Ġselection , Ġnull , Ġnull Ġ) ĊĠĠĠĠĠĠĠ Ġif Ġ( cursor Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cursor . moveTo First ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= Ġcursor . getString ( cursor . getColumnIndex ( Media Store . Images . Media . DATA )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . close () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġpath !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġbullet Ġ= Ġ'\ u 2 0 2 2 ' ĊĠĠĠĠĠĠĠ Ġprivate Ġ Ġconst Ġval ĠPRODUCT _ ARG Ġ= Ġ" com . example . k ale pa . Update Product Activity . Product Arg Key " ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Intent ( context : ĠContext , Ġproduct _ id : ĠString ) Ġ= Ġcontext ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Intent < Update Product Activity >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ Ġput Extra ( PRODUCT _ ARG , Ġproduct _ id ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġstart ( context : ĠContext , Ġproduct _ id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= Ġget Intent ( context , Ġproduct _ id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ