/* Ċ Ġ* Ġ@ copyright Ġ: ĠTo X SL ĠTechnologies ĠP vt . ĠLtd . Ġ< Ġwww . to xsl . com Ġ> Ċ Ġ* Ġ@ author ĠĠĠĠ Ġ: ĠSh iv ĠChar an ĠPan jeta Ġ< Ġsh iv @ to xsl . com Ġ> Ċ Ġ* ĠAll ĠRights ĠReserved . Ċ Ġ* ĠPro pri etary Ġand Ġconf idential Ġ: Ġ ĠAll Ġinformation Ġcontained Ġherein Ġis , Ġand Ġremains Ċ Ġ* Ġthe Ġproperty Ġof ĠTo X SL ĠTechnologies ĠP vt . ĠLtd . Ġand Ġits Ġpart ners . Ċ Ġ* ĠUnauthorized Ġcopying Ġof Ġthis Ġfile , Ġvia Ġany Ġmedium Ġis Ġstrictly Ġpro hibited . Ċ Ġ*/ Ċ Ċ package Ġcom . hand l User . app . ui . fragment Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . location . Location Ċ import Ġandroid . location . Location Manager Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . provider . Settings Ċ import Ġandroid . text . Html Ċ import Ġandroid . text . Sp ann able String Ċ import Ġandroid . text . style . ForegroundColor Span Ċ import Ġandroid . view .* Ċ import Ġandroid . view . input method . Editor Info Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . appcompat . widget . PopupMenu Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġcom . google . android . gms . maps . model . LatLng Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . hand l User . app . R Ċ import Ġcom . hand l User . app . databinding . Dialog Location Turn on Binding Ċ import Ġcom . hand l User . app . databinding . Fragment Home Binding Ċ import Ġcom . hand l User . app . model . Address Data Ċ import Ġcom . hand l User . app . model . Category Data Ċ import Ġcom . hand l User . app . ui . activity . MainActivity Ċ import Ġcom . hand l User . app . ui . adapter . Adapter Service Category Ċ import Ġcom . hand l User . app . ui . adapter . Base Adapter Ċ import Ġcom . hand l User . app . ui . extensions . after TextChanged Ċ import Ġcom . hand l User . app . ui . extensions . check String Ċ import Ġcom . hand l User . app . ui . extensions . replace Fragment Ċ import Ġcom . hand l User . app . ui . fragment . login . Notification Fragment Ċ import Ġcom . hand l User . app . utils . Address Decoder Ċ import Ġcom . hand l User . app . utils . Click Handler Ċ import Ġcom . hand l User . app . utils . Const Ċ import Ġorg . json . JSONObject ĊĊ Ċ class ĠHome Fragment Ġ: ĠBase Fragment (), ĠClick Handler , ĠAddress Decoder . Address Listener , ĠBase Adapter . On Page End Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġbinding : ĠFragment Home Binding ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġcurrent Location : ĠLocation ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġaddress Data : ĠAddress Data ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġaddress Decoder : ĠAddress Decoder ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġuser Address List : ĠArrayList < Address Data > Ġ= Ġarray ListOf () ĊĠĠĠ Ġprivate Ġvar Ġlist : ĠArrayList < Category Data > Ġ= Ġarray ListOf () ĊĠĠĠ Ġprivate Ġvar Ġis Single Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġpage Count Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġadapter : ĠAdapter Service Category ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġsearched Text : ĠString Ġ= Ġ"" ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( binding Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding Ġ= ĠData Binding Util . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinflater , ĠR . layout . fragment _ home , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding !!. root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbase Activity !!. set Toolbar ("", ĠContext Compat . getColor ( base Activity !! , ĠR . color . White ), Ġfalse ) ĊĠĠĠĠĠĠĠ Ġinit UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit UI () Ġ{ ĊĠĠĠĠĠĠĠ Ġreset List () ĊĠĠĠĠĠĠĠ Ġuser Address List . clear () ĊĠĠĠĠĠĠĠ Ġbinding !!. option I . handle Click Ġ= Ġthis ĊĊĠĠĠĠĠĠĠ Ġbinding !!. search ET . setOn Editor ActionListener Ġ{ Ġv , Ġaction Id , Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( action Id Ġ== ĠEditor Info . IME _ ACTION _ SEARCH Ġ|| Ġaction Id Ġ== ĠEditor Info . IME _ ACTION _ DONE Ġ|| Ġaction Id Ġ== ĠEditor Info . IME _ ACTION _ NEXT Ġ&& Ġbinding !!. search ET . text . toString (). trim (). isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Activity !!. hide Soft Keyboard () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġaddress Decoder Ġ= ĠAddress Decoder . getInstance ( base Activity !! ) ĊĠĠĠĠĠĠĠ Ġaddress Decoder ?. set Address Listener ( this ) ĊĊĠĠĠĠĠĠĠ Ġget AndSet Current Location () ĊĠĠĠĠĠĠĠ Ġhit Address API () ĊĊĠĠĠĠĠĠĠ Ġbinding !!. search ET . setOn Editor ActionListener Ġ{ Ġv , Ġaction Id , Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( action Id Ġ== ĠEditor Info . IME _ ACTION _ SEARCH Ġ|| Ġaction Id Ġ== ĠEditor Info . IME _ ACTION _ DONE Ġ|| Ġaction Id Ġ== ĠEditor Info . IME _ ACTION _ NEXT Ġ&& Ġbinding !!. search ET . text . toString (). trim (). isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearched Text Ġ= Ġbinding !!. search ET . check String () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreset List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhit Category List API () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding !!. cross IV . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearched Text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. search ET . setText ( sear ched Text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreset List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhit Category List API () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding !!. search ET . after TextChanged Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. cross IV . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. cross IV . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding !!. option I . count TV . text Ġ= Ġbase Activity !!. get Profile Data ()?. notification Count . toString () ĊĊĠĠĠĠĠĠĠ Ġbinding !!. pull To Refresh . setOn Refresh Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearched Text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. search ET . setText ( sear ched Text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreset List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhit Category List API () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. pull To Refresh . is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġreset List () Ġ{ ĊĠĠĠĠĠĠĠ Ġlist . clear () ĊĠĠĠĠĠĠĠ Ġpage Count Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġis Single Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( adapter != null ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhit Address API () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcall Ġ= Ġapi !!. api Address List () ĊĠĠĠĠĠĠĠ Ġrest Full Client !!. send Request ( call , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Sync Success ( response Code : ĠInt , Ġresponse Message : ĠString , Ġresponse Url : ĠString , Ġresponse : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Sync Success ( response Code , Ġresponse Message , Ġresponse Url , Ġresponse ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson object Ġ= ĠJSONObject ( response !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response Url . contains ( Const . API _ ADD _ ADDRESS )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response Code Ġ== ĠConst . STATUS _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Array Ġ= Ġjson object . get JSONArray (" list ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġjson Array . length ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġobject 1 Ġ= Ġjson Array . getJSONObject ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠGson (). fromJson < Address Data >( object 1 . toString (), ĠAddress Data :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser Address List . add ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( response Url . contains ( Const . API _ PROVIDER _ CATEGORY _ LIST )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response Code Ġ== ĠConst . STATUS _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpage Count ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtotal Id Ġ= Ġjson object . getJSONObject ( Const ._ META ). getInt ( Const . PAGE _ COUNT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Single Ġ= Ġpage Count Ġ>= Ġtotal Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Array Ġ= Ġjson object . get JSONArray ( Const . LIST ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġjson Array . length ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġobject 1 Ġ= Ġjson Array . getJSONObject ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠGson (). fromJson < Category Data >( object 1 . toString (), ĠCategory Data :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( list . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. no Data TV . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. clean ing RV . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Adapter () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. no Data TV . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. clean ing RV . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Single Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbase Activity !!. handle Exception ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Adapter () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( adapter Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= ĠAdapter Service Category ( base Activity !! , Ġlist ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. clean ing RV . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter !!. setOn Page End Listener ( this ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter !!. notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhit Category List API () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Single ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Single Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcall Ġ= Ġapi !!. api Get Category List ( page Count , Ġsearched Text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrest Full Client !!. send Request ( call , Ġthis ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Page End ( var arg Ġitem Data : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhit Category List API () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġcount : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġprivate Ġfun Ġget AndSet Current Location () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( base Activity !!. check Permissions ( array Of ( android . Manifest . permission . ACCESS _ F INE _ LOCATION , Ġandroid . Manifest . permission . ACCESS _ CO AR SE _ LOCATION ), Ġ 2 0 0 , Ġthis )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm Location Manager Ġ= Ġbase Activity !!. getSystem Service ( Context . LOCATION _ SERVICE ) Ġas ĠLocation Manager ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Location Manager . is Provider Enabled ( Location Manager . GPS _ PROVIDER )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Location Ġ= Ġbase Activity !!. google Api Handle !!. getLast Known Location ( base Activity !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current Location Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaddress Decoder ?. save Data From Place ( LatLng ( current Location !!. latitude , Ġcurrent Location !!. longitude )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Activity ?. handle Exception ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( count Ġ< Ġ 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget AndSet Current Location () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast One ( getString ( R . string . not _ able _ to _ get _ lat long )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Added Ġ&& Ġis Visible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow AlertDialog () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġd Binding : ĠDialog Location Turn on Binding ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġfun Ġshow AlertDialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġm Builder Ġ= ĠAlertDialog . Builder ( base Activity !! , ĠR . style . animate Dialog ) ĊĠĠĠĠĠĠĠ Ġd Binding Ġ= ĠData Binding Util . inflate ( LayoutInflater . from ( base Activity ), ĠR . layout . dialog _ location _ turn on , Ġnull , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġm Builder . setView ( d Binding !!. root ) ĊĠĠĠĠĠĠĠ Ġm Builder . set Cancel able ( false ) ĊĠĠĠĠĠĠĠ Ġval Ġalert Dialog d Ġ= Ġm Builder . create () ĊĠĠĠĠĠĠĠ Ġalert Dialog d . show () ĊĠĠĠĠĠĠĠ Ġd Binding !!. no TV . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalert Dialog d . dismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġd Binding !!. yes TV . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalert Dialog d . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( Intent ( Settings . ACTION _ LOCATION _ SOURCE _ SETTINGS ), Ġ 1 5 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Handle Click ( view : ĠView ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( view . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu IV Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( base Activity Ġas ĠMainActivity ). open Drawer () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . not i IV Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Activity !!. replace Fragment ( Notification Fragment ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . search TV , ĠR . id . down IV Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpopup Menu Ġ= ĠPopup Menu ( base Activity !! , Ġbinding !!. option I . search TV ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġuser Address List . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup Menu . menu . add ( Const . ONE , Ġi , Ġi , Ġuser Address List [ i ]. title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup Menu . menu . add ( Const . ONE , Ġuser Address List . size , Ġuser Address List . size , Ġbase Activity !!. getString ( R . string . add _ new _ building )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġpopup Menu . menu . getItem ( user Address List . size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs Ġ= ĠSp ann able String ( base Activity !!. getString ( R . string . add _ new _ building )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs . set Span ( ForegroundColor Span ( Context Compat . getColor ( base Activity !! , ĠR . color . light _ blue )), Ġ 0 , Ġs . length , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . title Ġ= Ġs ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup Menu . setOn MenuItem ClickListener Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item . itemId Ġ== Ġuser Address List . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Activity !!. replace Fragment ( My Saved Home s Fragment ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. option I . search TV . text Ġ= Ġitem . title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Activity !!. store !!. save String ( Const . HOME _ LAT , Ġuser Address List [ item . itemId ]. latitude ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Activity !!. store !!. save String ( Const . HOME _ LONG , Ġuser Address List [ item . itemId ]. longitude ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Activity !!. store !!. save String ( Const . HOME _ ADD , Ġuser Address List [ item . itemId ]. address ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreset List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhit Category List API () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup Menu . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Places Address Found ( address Data : ĠAddress Data ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġbase Activity ?. run On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . address Data Ġ= Ġaddress Data ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( address Data Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. option I . search TV . text Ġ= Ġaddress Data . th orough ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Activity !!. store !!. save String ( Const . HOME _ LAT , Ġaddress Data . latitude ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Activity !!. store !!. save String ( Const . HOME _ ADD , Ġaddress Data . address ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Activity !!. store !!. save String ( Const . HOME _ LONG , Ġaddress Data . longitude ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreset List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhit Category List API () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ