From d3674028ccfc6c42e3f979f33da00bca1a6c8c16 Mon Sep 17 00:00:00 2001 From: arm64v8a <48624112+arm64v8a@users.noreply.github.com> Date: Mon, 28 Aug 2023 16:58:38 +0900 Subject: [PATCH] Update preset --- .../sagernet/database/DataStore.kt | 2 +- .../sagernet/database/ProfileManager.kt | 41 ++++++++----------- .../nekohasekai/sagernet/ui/GroupFragment.kt | 7 ++-- app/src/main/res/xml/global_preferences.xml | 2 +- 4 files changed, 23 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/io/nekohasekai/sagernet/database/DataStore.kt b/app/src/main/java/io/nekohasekai/sagernet/database/DataStore.kt index 854f763..a6c23f7 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/database/DataStore.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/database/DataStore.kt @@ -96,7 +96,7 @@ object DataStore : OnPreferenceDataStoreChangeListener { var showGroupInNotification by configurationStore.boolean("showGroupInNotification") var remoteDns by configurationStore.string(Key.REMOTE_DNS) { "https://8.8.8.8/dns-query" } - var directDns by configurationStore.string(Key.DIRECT_DNS) { "https://223.5.5.5/dns-query" } + var directDns by configurationStore.string(Key.DIRECT_DNS) { "local" } var enableDnsRouting by configurationStore.boolean(Key.ENABLE_DNS_ROUTING) { true } var enableFakeDns by configurationStore.boolean(Key.ENABLE_FAKEDNS) diff --git a/app/src/main/java/io/nekohasekai/sagernet/database/ProfileManager.kt b/app/src/main/java/io/nekohasekai/sagernet/database/ProfileManager.kt index 4cf6871..0c2a4a5 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/database/ProfileManager.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/database/ProfileManager.kt @@ -212,23 +212,16 @@ object ProfileManager { outbound = -2, ) ) - var country = Locale.getDefault().country.lowercase() - var displayCountry = Locale.getDefault().displayCountry - if (country in arrayOf( - "ir" - ) - ) { - createRule( - RuleEntity( - name = app.getString(R.string.route_bypass_domain, displayCountry), - domains = "domain:$country", - outbound = -1 - ), false - ) - } else { - country = Locale.CHINA.country.lowercase() - displayCountry = Locale.CHINA.displayCountry - createRule( + val fuckedCountry = mutableListOf("cn:中国") + if (Locale.getDefault().country != Locale.CHINA.country) { + // 非中文用户 + fuckedCountry += "ir:Iran" + } + for (c in fuckedCountry) { + val country = c.substringBefore(":") + val displayCountry = c.substringAfter(":") + // + if (country == "cn") createRule( RuleEntity( name = app.getString(R.string.route_play_store, displayCountry), domains = "domain:googleapis.cn", @@ -241,14 +234,14 @@ object ProfileManager { outbound = -1 ), false ) + createRule( + RuleEntity( + name = app.getString(R.string.route_bypass_ip, displayCountry), + ip = "geoip:$country", + outbound = -1 + ), false + ) } - createRule( - RuleEntity( - name = app.getString(R.string.route_bypass_ip, displayCountry), - ip = "geoip:$country", - outbound = -1 - ), false - ) rules = SagerDatabase.rulesDao.allRules() } return rules diff --git a/app/src/main/java/io/nekohasekai/sagernet/ui/GroupFragment.kt b/app/src/main/java/io/nekohasekai/sagernet/ui/GroupFragment.kt index 7c19107..aa36efc 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/ui/GroupFragment.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/ui/GroupFragment.kt @@ -421,9 +421,10 @@ class GroupFragment : ToolbarFragment(R.layout.layout_group), subscriptionUpdateProgress.isIndeterminate = true } else { subscriptionUpdateProgress.isIndeterminate = false - val progress = GroupUpdater.progress[proxyGroup.id]!! - subscriptionUpdateProgress.max = progress.max - subscriptionUpdateProgress.progress = progress.progress + GroupUpdater.progress[proxyGroup.id]?.let { + subscriptionUpdateProgress.max = it.max + subscriptionUpdateProgress.progress = it.progress + } } updateButton.isInvisible = true diff --git a/app/src/main/res/xml/global_preferences.xml b/app/src/main/res/xml/global_preferences.xml index 80efbaf..6c50a4b 100644 --- a/app/src/main/res/xml/global_preferences.xml +++ b/app/src/main/res/xml/global_preferences.xml @@ -173,7 +173,7 @@ app:title="@string/domain_strategy_for_remote" app:useSimpleSummaryProvider="true" />