/
PrefManager.kt
37 lines (31 loc) 路 1.44 KB
/
PrefManager.kt
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
36
37
package openfoodfacts.github.scrachx.openfood.utils
import android.content.Context
import android.content.SharedPreferences
import androidx.core.content.edit
class PrefManager(context: Context) {
private val pref: SharedPreferences = context.getSharedPreferences(PREF_NAME, PRIVATE_MODE)
// First time launch
var isFirstTimeLaunch: Boolean
get() {
val actualTime = System.currentTimeMillis()
// First time launch
if (pref.getLong(FIRST_TIME_LAUNCH_TIME, actualTime) == actualTime) {
// Save first launch time
pref.edit { putLong(FIRST_TIME_LAUNCH_TIME, actualTime) }
}
return pref.getBoolean(IS_FIRST_TIME_LAUNCH, true)
}
set(isFirstTime) = pref.edit { putBoolean(IS_FIRST_TIME_LAUNCH, isFirstTime) }
var userAskedToRate: Boolean
get() = pref.getBoolean(USER_ASKED_TO_RATE, false)
set(userAskedToRate) = pref.edit { putBoolean(USER_ASKED_TO_RATE, userAskedToRate) }
val firstTimeLaunchTime: Long
get() = pref.getLong(FIRST_TIME_LAUNCH_TIME, System.currentTimeMillis())
companion object {
private const val PRIVATE_MODE = 0
private const val PREF_NAME = "open-facts-welcome"
private const val IS_FIRST_TIME_LAUNCH = "IsFirstTimeLaunch"
private const val FIRST_TIME_LAUNCH_TIME = "FirstTimeLaunchTime"
private const val USER_ASKED_TO_RATE = "UserAskedToRateApp"
}
}