blob: caf2da1d179a4f0668d230092561a746ba401bab (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
package mx.trackermap.TrackerMap.client.infrastructure
import com.russhwolf.settings.Settings
import com.russhwolf.settings.get
import com.russhwolf.settings.set
import mx.trackermap.TrackerMap.Injectable
class SessionManager(
private val defaultBaseUrl: String
): Injectable {
companion object {
const val SERVER_URL_KEY = "server_url"
const val ACCESS_TOKEN_KEY = "access_token"
}
private val settings = Settings()
var baseUrl: String
get() = settings[SERVER_URL_KEY] ?: defaultBaseUrl
set(baseUrl) {
settings[SERVER_URL_KEY] = baseUrl
}
var token: String
get() = settings[ACCESS_TOKEN_KEY] ?: ""
set(token) {
settings[ACCESS_TOKEN_KEY] = token
}
fun clearSession() {
settings.remove(ACCESS_TOKEN_KEY)
settings.remove(SERVER_URL_KEY)
}
}
|