复用连接
This commit is contained in:
@@ -3,7 +3,7 @@ package net.bluemangoo.indpjsk.data
|
||||
import net.bluemangoo.indpjsk.upload.Uploader
|
||||
|
||||
object PredefinedProfiles {
|
||||
private const val SUITE_PATH = "/api/suite/user/(\\d+)(\\?isLogin=true)?\$"
|
||||
private const val SUITE_PATH = "/api/suite/user/(\\d+)(\\?isLogin=true)?$"
|
||||
private const val MYSEKAI_PATH =
|
||||
"/api/user/(\\d+)/mysekai\\?isForceAllReloadOnlyMysekai=True"
|
||||
|
||||
@@ -40,7 +40,10 @@ object PredefinedProfiles {
|
||||
}
|
||||
)
|
||||
|
||||
private val CN_HOSTS = listOf("mkcn-prod-public-60001-1.dailygn.com")
|
||||
private val CN_HOSTS = listOf(
|
||||
"mkcn-prod-public-60001-1.dailygn.com",
|
||||
"mkcn-prod-public-60001-2.dailygn.com"
|
||||
)
|
||||
private val JP_HOSTS = listOf("production-game-api.sekai.colorfulpalette.org")
|
||||
private val EN_HOSTS = listOf("n-production-game-api.sekai-en.com")
|
||||
private val TW_HOSTS = listOf(
|
||||
|
||||
@@ -3,19 +3,19 @@ package net.bluemangoo.indpjsk.data
|
||||
import android.content.Context
|
||||
import androidx.core.content.edit
|
||||
|
||||
/** 全局配置持久化:上传码、上游代理、忽略的应用、选中的配置 */
|
||||
object SettingsStore {
|
||||
|
||||
private const val PREFS = "settings"
|
||||
private const val KEY_UPLOAD_CODE = "upload_code"
|
||||
private const val KEY_USE_UPLOAD = "use_upload"
|
||||
private const val KEY_PROXY = "upstream_proxy"
|
||||
private const val KEY_USE_PROXY = "use_proxy"
|
||||
private const val KEY_BYPASS = "bypass_packages"
|
||||
private const val KEY_PROFILE = "selected_profile"
|
||||
|
||||
private fun prefs(context: Context) =
|
||||
context.getSharedPreferences(PREFS, Context.MODE_PRIVATE)
|
||||
|
||||
// ---- 上传码 ----
|
||||
fun loadUploadCode(context: Context): String =
|
||||
prefs(context).getString(KEY_UPLOAD_CODE, "").orEmpty()
|
||||
|
||||
@@ -23,7 +23,15 @@ object SettingsStore {
|
||||
prefs(context).edit { putString(KEY_UPLOAD_CODE, code) }
|
||||
}
|
||||
|
||||
// ---- 上游代理(空 = 直连) ----
|
||||
fun loadUseUpload(context: Context): Boolean {
|
||||
return loadUploadCode(context).isNotBlank() && prefs(context).getBoolean(KEY_USE_UPLOAD, true)
|
||||
}
|
||||
|
||||
fun saveUseUpload(context: Context, enabled: Boolean) {
|
||||
prefs(context).edit { putBoolean(KEY_USE_UPLOAD, enabled) }
|
||||
}
|
||||
|
||||
|
||||
fun loadProxy(context: Context): String =
|
||||
prefs(context).getString(KEY_PROXY, "").orEmpty()
|
||||
|
||||
@@ -31,7 +39,15 @@ object SettingsStore {
|
||||
prefs(context).edit { putString(KEY_PROXY, proxy.trim()) }
|
||||
}
|
||||
|
||||
// ---- 不走 VPN 的应用(包名) ----
|
||||
fun loadUseProxy(context: Context): Boolean {
|
||||
return loadProxy(context).isNotBlank() && prefs(context).getBoolean(KEY_USE_PROXY, true)
|
||||
}
|
||||
|
||||
fun saveUseProxy(context: Context, enabled: Boolean) {
|
||||
prefs(context).edit { putBoolean(KEY_USE_PROXY, enabled) }
|
||||
}
|
||||
|
||||
|
||||
fun loadBypassPackages(context: Context): Set<String> =
|
||||
prefs(context).getStringSet(KEY_BYPASS, emptySet())?.toSet() ?: emptySet()
|
||||
|
||||
@@ -39,7 +55,7 @@ object SettingsStore {
|
||||
prefs(context).edit { putStringSet(KEY_BYPASS, packages) }
|
||||
}
|
||||
|
||||
// ---- 当前选中的配置 ----
|
||||
|
||||
fun loadSelectedProfileId(context: Context): String? =
|
||||
prefs(context).getString(KEY_PROFILE, null)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user