2019-05-06 19:03:28 +02:00
|
|
|
package com.topjohnwu.magisk
|
|
|
|
|
2019-05-23 18:11:23 +02:00
|
|
|
import com.chibatching.kotpref.ContextProvider
|
2019-05-06 19:03:28 +02:00
|
|
|
import com.chibatching.kotpref.KotprefModel
|
2019-05-23 18:11:23 +02:00
|
|
|
import com.topjohnwu.magisk.KConfig.UpdateChannel.STABLE
|
|
|
|
import com.topjohnwu.magisk.utils.get
|
2019-05-06 19:03:28 +02:00
|
|
|
|
2019-05-23 18:11:23 +02:00
|
|
|
object KConfig : KotprefModel(get<ContextProvider>()) {
|
2019-05-06 19:03:28 +02:00
|
|
|
override val kotprefName: String = "${context.packageName}_preferences"
|
|
|
|
|
2019-05-23 18:11:23 +02:00
|
|
|
private var internalUpdateChannel by intPref(STABLE.id, "updateChannel")
|
2019-05-06 19:03:28 +02:00
|
|
|
var useCustomTabs by booleanPref(true, "useCustomTabs")
|
2019-05-23 18:11:23 +02:00
|
|
|
@JvmStatic
|
|
|
|
var customUpdateChannel by stringPref("", "custom_channel")
|
2019-05-06 19:03:28 +02:00
|
|
|
|
2019-05-23 18:11:23 +02:00
|
|
|
@JvmStatic
|
2019-05-06 19:03:28 +02:00
|
|
|
var updateChannel: UpdateChannel
|
2019-05-23 18:11:23 +02:00
|
|
|
get() = UpdateChannel.byId(internalUpdateChannel)
|
2019-05-06 19:03:28 +02:00
|
|
|
set(value) {
|
2019-05-23 18:11:23 +02:00
|
|
|
internalUpdateChannel = value.id
|
2019-05-06 19:03:28 +02:00
|
|
|
}
|
|
|
|
|
2019-05-23 18:11:23 +02:00
|
|
|
internal const val DEFAULT_CHANNEL = "topjohnwu/magisk_files"
|
2019-05-06 19:03:28 +02:00
|
|
|
|
2019-05-23 18:11:23 +02:00
|
|
|
enum class UpdateChannel(val id: Int) {
|
2019-05-06 19:03:28 +02:00
|
|
|
|
2019-05-23 18:11:23 +02:00
|
|
|
STABLE(Config.Value.STABLE_CHANNEL),
|
|
|
|
BETA(Config.Value.BETA_CHANNEL),
|
|
|
|
CANARY(Config.Value.CANARY_CHANNEL),
|
|
|
|
CANARY_DEBUG(Config.Value.CANARY_DEBUG_CHANNEL),
|
|
|
|
CUSTOM(Config.Value.CUSTOM_CHANNEL);
|
|
|
|
|
|
|
|
companion object {
|
|
|
|
fun byId(id: Int) = when (id) {
|
|
|
|
Config.Value.STABLE_CHANNEL -> STABLE
|
|
|
|
Config.Value.BETA_CHANNEL -> BETA
|
|
|
|
Config.Value.CUSTOM_CHANNEL -> CUSTOM
|
|
|
|
Config.Value.CANARY_CHANNEL -> CANARY
|
|
|
|
Config.Value.CANARY_DEBUG_CHANNEL -> CANARY_DEBUG
|
|
|
|
else -> STABLE
|
|
|
|
}
|
|
|
|
}
|
2019-05-06 19:03:28 +02:00
|
|
|
}
|
|
|
|
}
|