From accd17afd40f488b64eafa8d52556b9b42c9dc06 Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Wed, 17 Apr 2024 15:49:07 +0800 Subject: [PATCH] Bug fix --- .../com/v2ray/ang/ui/SettingsActivity.kt | 32 +++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/SettingsActivity.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/SettingsActivity.kt index 86ad5c9b..6f43bb2c 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/SettingsActivity.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/SettingsActivity.kt @@ -5,7 +5,11 @@ import android.os.Bundle import android.text.TextUtils import android.view.View import androidx.activity.viewModels -import androidx.preference.* +import androidx.preference.CheckBoxPreference +import androidx.preference.EditTextPreference +import androidx.preference.ListPreference +import androidx.preference.Preference +import androidx.preference.PreferenceFragmentCompat import androidx.work.ExistingPeriodicWorkPolicy import androidx.work.PeriodicWorkRequest import androidx.work.multiprocess.RemoteWorkManager @@ -173,8 +177,6 @@ class SettingsActivity : BaseActivity() { override fun onStart() { super.onStart() - initSharedPreference() - updateMode(settingsStorage.decodeString(AppConfig.PREF_MODE, "VPN")) localDns?.isChecked = settingsStorage.getBoolean(AppConfig.PREF_LOCAL_DNS_ENABLED, false) fakeDns?.isChecked = settingsStorage.getBoolean(AppConfig.PREF_FAKE_DNS_ENABLED, false) @@ -200,11 +202,35 @@ class SettingsActivity : BaseActivity() { httpPort?.summary = settingsStorage.decodeString(AppConfig.PREF_HTTP_PORT, AppConfig.PORT_HTTP) remoteDns?.summary = settingsStorage.decodeString(AppConfig.PREF_REMOTE_DNS, AppConfig.DNS_PROXY) domesticDns?.summary = settingsStorage.decodeString(AppConfig.PREF_DOMESTIC_DNS, AppConfig.DNS_DIRECT) + + initSharedPreference() } private fun initSharedPreference() { + listOf( + localDnsPort, + vpnDns, + muxConcurrency, + muxXudpConcurrency, + fragmentLength, + fragmentInterval, + autoUpdateInterval, + socksPort, + httpPort, + remoteDns, + domesticDns + ).forEach { key -> + key?.text = key?.summary.toString() + } + listOf( AppConfig.PREF_SNIFFING_ENABLED, + ).forEach { key -> + findPreference(key)?.isChecked = + settingsStorage.decodeBool(key, true) + } + + listOf( AppConfig.PREF_BYPASS_APPS, AppConfig.PREF_SPEED_ENABLED, AppConfig.PREF_CONFIRM_REMOVE,