package Ġcom . sh ut tl . location _ p ings . data . model . entity Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . location . Location Ċ import Ġandroidx . room . Column Info Ċ import Ġandroidx . room . Entity Ċ import Ġandroidx . room . PrimaryKey Ċ import Ġcom . google . gson . Gson Ċ Ċ @ Entity ( tableName Ġ= Ġ" gps _ locations ") Ċ data Ġclass ĠGPS Location ( ĊĠĠĠ Ġ@ Column Info ( name Ġ= Ġ" latitude ") Ġval Ġlatitude : ĠDouble Ġ= Ġ 0 . 0 , ĊĠĠĠ Ġ@ Column Info ( name Ġ= Ġ" longitude ") Ġval Ġlongitude : ĠDouble Ġ= Ġ 0 . 0 , ĊĠĠĠ Ġ@ Column Info ( name Ġ= Ġ" accuracy ") Ġval Ġaccuracy : ĠFloat Ġ= Ġ 0 . 0 f , ĊĠĠĠ Ġ@ Column Info ( name Ġ= Ġ" provider ") Ġval Ġprovider : ĠString Ġ= Ġ"", ĊĠĠĠ Ġ@ PrimaryKey Ġ@ Column Info ( name Ġ= Ġ" time ") Ġval Ġtime : ĠString Ġ= Ġ"" Ċ ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( location : ĠLocation ?): ĠGPS Location Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGPS Location ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlatitude Ġ= Ġlocation ?. latitude Ġ?: Ġ 0 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlongitude Ġ= Ġlocation ?. longitude Ġ?: Ġ 0 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtime Ġ= Ġ((( location ?. time Ġ?: Ġ 0 )) Ġ/ Ġ 1 0 0 0 ). toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccuracy Ġ= Ġlocation ?. accuracy Ġ?: Ġ 0 . 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovider Ġ= Ġlocation ?. provider Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġfun ĠgetLast Location ( context : ĠContext ): ĠGPS Location ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprefs Ġ= Ġcontext . get SharedPreferences (" sdk _ location _ last ", Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠGson (). fromJson < GPS Location >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefs . getString (" last _ location ", Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGPS Location :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġremove From Shared Pref ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprefs Ġ= Ġcontext . get SharedPreferences (" sdk _ location _ last ", Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġeditor Ġ= Ġprefs . edit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . putString (" last _ location ", Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġeditor . apply () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave To Shared Pref ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprefs Ġ= Ġcontext . get SharedPreferences (" sdk _ location _ last ", Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġeditor Ġ= Ġprefs . edit () ĊĠĠĠĠĠĠĠ Ġeditor . putString (" last _ location ", ĠGson (). toJson ( this )) ĊĠĠĠĠĠĠĠ Ġeditor . apply () ĊĠĠĠ Ġ} Ċ Ċ }