mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-03-26 20:10:52 +00:00
47 lines
1.6 KiB
Kotlin
47 lines
1.6 KiB
Kotlin
package com.topjohnwu.magisk
|
|
|
|
import android.content.Context
|
|
import com.topjohnwu.magisk.KConfig.UpdateChannel.STABLE
|
|
import com.topjohnwu.magisk.di.Protected
|
|
import com.topjohnwu.magisk.model.preference.PreferenceModel
|
|
import com.topjohnwu.magisk.utils.inject
|
|
|
|
object KConfig : PreferenceModel() {
|
|
|
|
override val context: Context by inject(Protected)
|
|
override val fileName: String = "${context.packageName}_preferences"
|
|
|
|
private var internalUpdateChannel by preference(Config.Key.UPDATE_CHANNEL, STABLE.id.toString())
|
|
var useCustomTabs by preference("useCustomTabs", true)
|
|
@JvmStatic
|
|
var customUpdateChannel by preference(Config.Key.CUSTOM_CHANNEL, "")
|
|
|
|
@JvmStatic
|
|
var updateChannel: UpdateChannel
|
|
get() = UpdateChannel.byId(internalUpdateChannel.toIntOrNull() ?: STABLE.id)
|
|
set(value) {
|
|
internalUpdateChannel = value.id.toString()
|
|
}
|
|
|
|
internal const val DEFAULT_CHANNEL = "topjohnwu/magisk_files"
|
|
|
|
enum class UpdateChannel(val id: Int) {
|
|
|
|
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
|
|
}
|
|
}
|
|
}
|
|
} |