package Ġmy kr ake . com . kr akes ample Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Intent Ċ import Ġandroid . location . Address Ċ import Ġandroid . location . Location Ċ import Ġandroid . os . Bundle Ċ import Ġcom . google . android . gms . location . Location Listener Ċ import Ġcom . google . android . gms . location . Location Request Ċ import Ġcom . google . android . gms . location . Location Services Ċ import Ġcom . google . android . gms . maps . model . LatLng Ċ import Ġcom . google . android . gms . maps . model . LatLng Bounds Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . kr ake . core . Or chard Error Ċ import Ġcom . kr ake . core . api . Google ApiClient Factory Ċ import Ġcom . kr ake . core . app . Login And Privacy Activity Ċ import Ġcom . kr ake . core . app . On Content ItemSelected Listener Ċ import Ġcom . kr ake . core . location . Geo coder Task Ċ import Ġcom . kr ake . core . location . Location Requirements Helper Ċ import Ġcom . kr ake . core . login . Login Manager Ċ import Ġcom . kr ake . core . login . extract Nonce Ċ import Ġcom . kr ake . core . model . Content Item Ċ import Ġcom . kr ake . core . network . Remote Response Ċ import Ġcom . kr ake . core . permission . Permission Listener Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġan ton i ol ig Ġon Ġ 1 3 / 0 3 / 2 0 1 7 . Ċ Ġ*/ Ċ class ĠMainActivity Ġ: ĠLogin And Privacy Activity (), ĠOn Content ItemSelected Listener , ĠObserver , ĊĠĠĠ ĠGoogle ApiClient Factory . Connection Listener , ĠPermission Listener , ĠGeo coder Task . Listener , ĠLocation Listener Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Location Changed ( p 0 : ĠLocation ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( p 0 Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Ġ= ĠGeo coder Task ( this , Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . load ( p 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Address Loaded ( address : ĠAddress ) Ġ{ ĊĠĠĠĠĠĠĠ Ġaddress . locale ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġlateinit Ġvar Ġlocation Client Factory : ĠGoogle ApiClient Factory ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlocation Requirements Helper : ĠLocation Requirements Helper ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtask : ĠGeo coder Task ĊĊĠĠĠ Ġ@ Suppress Lint (" Missing Permission ") ĊĠĠĠ Ġoverride Ġfun Ġon Permissions Handled ( accepted Permissions : ĠArray < out ĠString >) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġlocation Ġ= ĠLocation Services . F used Location Api . getLast Location ( location Client Factory . apiClient ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( location Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Ġ= ĠGeo coder Task ( this , Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . load ( location ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Missing Permission ") ĊĠĠĠ Ġoverride Ġfun Ġon ApiClient Connected () Ġ{ ĊĠĠĠĠĠĠĠ ĠLocation Services . F used Location Api . request Location Updates ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Client Factory . apiClient , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocation Request (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?, Ġlayout : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState , Ġlayout ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġget LayoutInflater (). inflate ( R . layout . activity _ main , Ġ( ViewGroup ) ĠfindViewById ( R . id . activity _ content _ container )); ĊĠĠĠĠĠĠĠ Ġinf late Main View ( R . layout . activity _ main , Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbounds Ġ= ĠLat Lng Bounds ( LatLng ( 1 0 . 0 , Ġ 1 5 . 0 ), ĠLat Lng ( 2 0 . 0 , Ġ 2 5 . 0 )) ĊĊĠĠĠĠĠĠĠ Ġval Ġs Ġ= ĠGson (). toJson ( bounds ) ĊĠĠĠĠĠĠĠ Ġs . toCharArray () ĊĊĠĠĠĠĠĠĠ Ġval Ġnonce Ġ= Ġintent . extract Nonce () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( nonce Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLogin Manager . shared ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. verify Nonce ( this , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnonce , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback Ġ= Ġ{ Ġremote Response : ĠRemote Response ?, Ġor chard Error : ĠOr chard Error ? Ġ-> ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon New Intent ( intent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on New Intent ( intent ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġ// (( Kr ake App ) Ġget Application ()). near . add Observer ( this ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĊĠĠĠĠĠĠĠ Ġ// (( Kr ake App ) Ġget Application ()). near . delete Observer ( this ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġchange Content Visibility ( visible : ĠBoolean ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Show Content Item Details ( sender Fragment : ĠAny , Ġcontent Item : ĠContent Item ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Content Item In Evidence ( sender Fragment : ĠAny , Ġcontent Item : ĠContent Item ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Content Item No More In Evidence ( sender Fragment : ĠAny , Ġcontent Item : ĠContent Item ) Ġ{ ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġupdate ( observable : ĠObservable , Ġdata : ĠAny ) Ġ{ ĊĊĠĠĠ Ġ} Ċ }