package Ġcom . example . t area api weather david . fragments Ċ Ċ import Ġcom . android . vol ley . Request Ċ import Ġcom . android . vol ley . toolbox . JsonObject Request Ċ import Ġcom . android . vol ley . toolbox . Vol ley Ċ import Ġcom . example . t area api weather david . R Ċ import Ġcom . example . t area api weather david . database . Data Repository Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . navigation . fragment . nav Args Ċ import Ġorg . json . JSONException Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . Toast Ċ Ċ class ĠModify Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġuser : String ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġedit Text City : EditText ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġone City : String ĊĠĠĠ Ġprivate Ġval Ġme API Ġ= Ġ" c 8 9 8 6 d 0 1 d 0 4 6 f 2 8 9 b 7 2 8 0 a 5 ef bf 5 0 b 6 0 " ĊĠĠĠ Ġprivate Ġval Ġlang Ġ= Ġ" es " ĊĠĠĠ Ġprivate Ġval Ġunits Ġ= Ġ" metric " ĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : LayoutInflater , Ġcontainer : ViewGroup ?, ĠsavedInstanceState : Bundle ? ĊĠĠĠ Ġ): View ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv Ġ= Ġinflater . inflate ( R . layout . modify _ fragment , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġbtn Update Ġ= Ġv . findViewById < Button >( R . id . btn Modify ) ĊĠĠĠĠĠĠĠ Ġval Ġargs : Modify Args Ġby Ġnav Args () ĊĠĠĠĠĠĠĠ Ġval Ġpreferences Ġ= Ġactivity ?. get SharedPreferences (" user ", ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġuser Ġ= Ġpreferences ?. getString (" user ", Ġ""). toString () ĊĠĠĠĠĠĠĠ Ġone City Ġ= Ġargs . city ĊĠĠĠĠĠĠĠ Ġedit Text City Ġ= Ġv . findViewById ( R . id . edit Text name Modify City ) ĊĠĠĠĠĠĠĠ Ġedit Text City . setText ( one City ) ĊĠĠĠĠĠĠĠ Ġbtn Update . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonUpdate C ities () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Ci udad Ġmodific ada Ġcorrect amente ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġv ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠonUpdate C ities () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Repository Ġ= ĠData Repository ( require Context ()) ĊĠĠĠĠĠĠĠ Ġvar Ġsecond City Ġ= Ġedit Text City . text . toString () ĊĠĠĠĠĠĠĠ Ġvar Ġstr : String ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// api . open weather map . org / data / 2 . 5 / weather ? q =$ second City & lang =$ lang & units =$ units & appid =$ me API " ĊĠĠĠĠĠĠĠ Ġval Ġrequest Queue Ġ= ĠVol ley . new Request Queue ( require Context ()) ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠJsonObject Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest . Method . GET , Ġurl , Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstr Ġ= Ġresponse . getString (" cod ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsecond City Ġ= Ġresponse . getString (" name ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( str Ġ== Ġ" 2 0 0 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Repository . get CRUD Update C ities ( user , Ġone City , Ġsecond City ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : JSONException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġrequest Queue . add ( request ) ĊĠĠĠ Ġ} Ċ }