package Ġcom . example . personal assistant . ui . settings Ċ Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . location . Geo coder Ċ import Ġandroid . location . Location Manager Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ Ċ import Ġcom . example . personal assistant . R Ċ import Ġjava . util .* Ċ Ċ class ĠSettings Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ? Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġinflater . inflate ( R . layout . fragment _ settings , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġval Ġshared Preferences Ġ: ĠSharedPreferences Ġ= Ġthis . require Activity (). get SharedPreferences (" shared - preference - file ", ĠContext . MODE _ PRIVATE ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdefault Location : ĠTextView Ġ= Ġroot . findViewById ( R . id . default _ location ) ĊĠĠĠĠĠĠĠ Ġdefault Location . text Ġ= Ġshared Preferences . getString (" Def Location ", Ġ" Bar cel ona ") ĊĊĠĠĠĠĠĠĠ Ġval Ġbutton Location : ĠButton Ġ= Ġroot . findViewById ( R . id . button Location ) ĊĠĠĠĠĠĠĠ Ġbutton Location . text Ġ= ĠgetString ( R . string . button _ change _ location ) ĊĠĠĠĠĠĠĠ Ġbutton Location . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( this . context ). inflate ( R . layout . dialog _ add _ city , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( this . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setView ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . setTitle (" Change Ġdefault Ġlocation ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Positive Button (" Change ", ĠDialog Interface . OnClickListener Ġ{ Ġdialog , Ġid Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew City Ġ: ĠTextView Ġ= Ġview . findViewById ( R . id . new _ city _ name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( new City . text . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this . context , Ġ" You Ġmust Ġselect Ġa Ġcity ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Location . text Ġ= Ġnew City . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgeo coder Ġ= ĠGeo coder ( this . context , ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġloc Ġ= Ġgeo coder . get From Location Name ( new City . text . toString (), Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchange Lat Ġ= Ġloc . get ( 0 ). latitude ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchange Long Ġ= Ġloc . get ( 0 ). longitude ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġeditor Shared Pref : ĠSharedPreferences . Editor Ġ= Ġshared Preferences . edit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor Shared Pref . putString (" Def Location ", Ġnew City . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor Shared Pref . putString (" Def Latitude ", Ġchange Lat . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor Shared Pref . putString (" Def Longitude ", Ġchange Long . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeditor Shared Pref . apply () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" The Ġnew Ġcity ", Ġnew City . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . set Negative Button (" Cancel ", ĠDialog Interface . OnClickListener Ġ{ Ġdialog , Ġid Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" The Ġnew Ġcity ", Ġ" Canceled ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġcurrent Location : ĠTextView Ġ= Ġroot . findViewById ( R . id . current _ location ) ĊĠĠĠĠĠĠĠ Ġcurrent Location . text Ġ= Ġshared Preferences . getString (" Location ", Ġ" Bar cel ona ") ĊĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} Ċ } Ċ