/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠBir ju ĠV ach h ani Ġ( https :// github . com / B ir ju V ach h ani ) Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . bir j uv ach h ani . location extensions ample Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġcom . bir j uv ach h ani . location extension . Loc us Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġjava . util .* ĊĊ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġthis :: class . java . simple Name ĊĊĠĠĠ Ġ// Ġcreate Ġan Ġinstance Ġof ĠL ocus Ġclass Ġto Ġuse Ġit Ġlater Ġto Ġretrieve Ġlocation Ġon Ġthe Ġgo . ĊĠĠĠ Ġprivate Ġval Ġloc us Ġ= ĠL ocus ( this ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstop Tracking ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġloc us . stop Tracking Location () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInit i ates Ġlocation Ġtracking Ġprocess Ġon Ġbutton Ġclick ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġfun Ġstart Tracking ( v : ĠView ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġloc us . listen For Location ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Container . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Latitude . text Ġ= Ġlatitude . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Longitude . text Ġ= Ġlongitude . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Error . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Time . text Ġ= ĠgetCurrent Time String () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" Latitude : Ġ$ latitude \ t Longitude : Ġ$ longitude ") ĊĠĠĠĠĠĠĠ Ġ} Ġfailure Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Latitude . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Longitude . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Error . text Ġ= Ġmessage ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" Error : Ġ$ message ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġcurrent Ġtime Ġstring Ġin Ġ' HH : MM : SS ' Ġformat . ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġprivate Ġfun ĠgetCurrent Time String (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcalendar Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġreturn Ġ"${ calendar . get ( Calendar . HOUR _ OF _ DAY )} Ġ: Ġ${ calendar . get ( Calendar . MINUTE )} Ġ: Ġ${ calendar . get ( Calendar . SECOND )}" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġ// stop Ġreceiving Ġlocation Ġwhen Ġapp Ġis Ġnot Ġin Ġforeground . ĊĠĠĠĠĠĠĠ Ġloc us . stop Tracking Location () ĊĠĠĠ Ġ} Ċ } Ċ