package Ġcom . k yle cor ry . trail _ sense . navigation . infrastructure . share Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġcom . k yle cor ry . trail _ sense . R Ċ import Ġcom . k yle cor ry . tr ails ense core . domain . geo . Coordinate Ċ import Ġcom . k yle cor ry . tr ails ense core . domain . navigation . Beacon Ċ Ċ class ĠBe acon Shares heet ( private Ġval Ġcontext : ĠContext ): ĠI Beacon Sender Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġsend ( beacon : ĠBe acon ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsend Intent Ġ= ĠIntent (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= ĠIntent . ACTION _ SEND ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Intent . EXTRA _ TEXT , Ġget Share Text ( beacon )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠShare Ġother Ġdetails ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġ" text / plain " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġshare Intent Ġ= ĠIntent . create Chooser ( send Intent , Ġnull ) ĊĠĠĠĠĠĠĠ Ġcontext . startActivity ( share Intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Share Text ( beacon : ĠBe acon ): String Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġbe acon . name ĊĠĠĠĠĠĠĠ Ġval Ġcoordinate Ġ= Ġbe acon . coordinate ĊĠĠĠĠĠĠĠ Ġval Ġo sm Url Ġ= Ġget O sm Url ( coordinate ) ĊĠĠĠĠĠĠĠ Ġval Ġcoordinate String Ġ= Ġget Coordinate Lat Lon ( coordinate ) ĊĠĠĠĠĠĠĠ Ġval Ġcoordinate U tm Ġ= Ġget Coordinate U tm ( coordinate ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ"${ name }\ n \ n ${ coordinate String }\ n \ n ${ context . getString ( R . string . coordinate _ format _ utm )} : Ġ${ coordinate U tm }\ n \ n ${ context . getString ( R . string . maps )} : Ġ$ osm Url " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget O sm Url ( coordinate : ĠCoordinate ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" https :// www . openstreetmap . org /# map = 1 6 /${ coordinate . latitude }/${ coordinate . longitude }" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Coordinate Lat Lon ( coordinate : ĠCoordinate ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"${ coordinate . latitude }, Ġ${ coordinate . longitude }" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Coordinate U tm ( coordinate : ĠCoordinate ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcoordinate . to UT M () ĊĠĠĠ Ġ} Ċ Ċ }