Add config override and per-app proxy feature

This commit is contained in:
iKirby
2023-07-27 22:17:25 +08:00
committed by 世界
parent af0046ce1c
commit 9575764f40
25 changed files with 1052 additions and 17 deletions

View File

@@ -3,4 +3,5 @@ package io.nekohasekai.sfa.constant
object Action {
const val SERVICE = "io.nekohasekai.sfa.SERVICE"
const val SERVICE_CLOSE = "io.nekohasekai.sfa.SERVICE_CLOSE"
const val SERVICE_RELOAD = "io.nekohasekai.sfa.SERVICE_RELOAD"
}

View File

@@ -0,0 +1,21 @@
package io.nekohasekai.sfa.constant
import io.nekohasekai.sfa.database.Settings
enum class PerAppProxyUpdateType {
Disabled, Select, Deselect;
fun value() = when (this) {
Disabled -> Settings.PER_APP_PROXY_DISABLED
Select -> Settings.PER_APP_PROXY_INCLUDE
Deselect -> Settings.PER_APP_PROXY_EXCLUDE
}
companion object {
fun valueOf(value: Int): PerAppProxyUpdateType = when (value) {
Settings.PER_APP_PROXY_DISABLED -> Disabled
Settings.PER_APP_PROXY_INCLUDE -> Select
Settings.PER_APP_PROXY_EXCLUDE -> Deselect
else -> throw IllegalArgumentException()
}
}
}

View File

@@ -8,6 +8,11 @@ object SettingsKey {
const val CHECK_UPDATE_ENABLED = "check_update_enabled"
const val DISABLE_MEMORY_LIMIT = "disable_memory_limit"
const val PER_APP_PROXY_ENABLED = "per_app_proxy_enabled"
const val PER_APP_PROXY_MODE = "per_app_proxy_mode"
const val PER_APP_PROXY_LIST = "per_app_proxy_list"
const val PER_APP_PROXY_UPDATE_ON_CHANGE = "per_app_proxy_update_on_change"
// cache
const val STARTED_BY_USER = "started_by_user"