diff --git a/app/src/main/java/eu/neilalexander/yggdrasil/DnsActivity.kt b/app/src/main/java/eu/neilalexander/yggdrasil/DnsActivity.kt index 264a335..f3f9ed8 100644 --- a/app/src/main/java/eu/neilalexander/yggdrasil/DnsActivity.kt +++ b/app/src/main/java/eu/neilalexander/yggdrasil/DnsActivity.kt @@ -13,6 +13,7 @@ import androidx.preference.PreferenceManager import com.google.android.material.textfield.TextInputEditText const val KEY_DNS_SERVERS = "dns_servers" +const val KEY_DNS_VERSION = "dns_version" const val KEY_ENABLE_CHROME_FIX = "enable_chrome_fix" class DnsActivity : AppCompatActivity() { @@ -41,10 +42,10 @@ class DnsActivity : AppCompatActivity() { val descriptionRevertron = getString(R.string.dns_server_info_revertron) // Here we can add some other DNS servers in a future defaultDnsServers = hashMapOf( - "302:7991::53" to Pair(getString(R.string.location_amsterdam), descriptionRevertron), - "302:db60::53" to Pair(getString(R.string.location_prague), descriptionRevertron), - "300:6223::53" to Pair(getString(R.string.location_bratislava), descriptionRevertron), - "301:1088::53" to Pair(getString(R.string.location_buffalo), descriptionRevertron), + "308:62:45:62::" to Pair(getString(R.string.location_amsterdam), descriptionRevertron), + "308:84:68:55::" to Pair(getString(R.string.location_frankfurt), descriptionRevertron), + "308:25:40:bd::" to Pair(getString(R.string.location_bratislava), descriptionRevertron), + "308:c8:48:45::" to Pair(getString(R.string.location_buffalo), descriptionRevertron), ) serversTableLayout = findViewById(R.id.configuredDnsTableLayout) diff --git a/app/src/main/java/eu/neilalexander/yggdrasil/GlobalApplication.kt b/app/src/main/java/eu/neilalexander/yggdrasil/GlobalApplication.kt index 85f9a09..49a544b 100644 --- a/app/src/main/java/eu/neilalexander/yggdrasil/GlobalApplication.kt +++ b/app/src/main/java/eu/neilalexander/yggdrasil/GlobalApplication.kt @@ -8,6 +8,7 @@ import android.os.Build import android.service.quicksettings.TileService import androidx.annotation.RequiresApi import androidx.core.app.NotificationCompat +import androidx.preference.PreferenceManager const val PREF_KEY_ENABLED = "enabled" const val MAIN_CHANNEL_ID = "Yggdrasil Service" @@ -15,7 +16,7 @@ const val MAIN_CHANNEL_ID = "Yggdrasil Service" class GlobalApplication: Application(), YggStateReceiver.StateReceiver { private lateinit var config: ConfigurationProxy private var currentState: State = State.Disabled - var updaterConnections: Int = 0 + private var updaterConnections: Int = 0 override fun onCreate() { super.onCreate() @@ -24,6 +25,7 @@ class GlobalApplication: Application(), YggStateReceiver.StateReceiver { callback.register() val receiver = YggStateReceiver(this) receiver.register(this) + migrateDnsServers(this) } fun subscribe() { @@ -64,6 +66,28 @@ class GlobalApplication: Application(), YggStateReceiver.StateReceiver { } } +fun migrateDnsServers(context: Context) { + val preferences = PreferenceManager.getDefaultSharedPreferences(context) + if (preferences.getInt(KEY_DNS_VERSION, 0) >= 1) { + return + } + val serverString = preferences.getString(KEY_DNS_SERVERS, "") + if (serverString!!.isNotEmpty()) { + // Replacing old Revertron's servers by new ones + val newServers = serverString + .replace("300:6223::53", "308:25:40:bd::") + .replace("302:7991::53", "308:62:45:62::") + .replace("302:db60::53", "308:84:68:55::") + .replace("301:1088::53", "308:c8:48:45::") + val editor = preferences.edit() + editor.putInt(KEY_DNS_VERSION, 1) + if (newServers != serverString) { + editor.putString(KEY_DNS_SERVERS, newServers) + } + editor.apply() + } +} + fun createServiceNotification(context: Context, state: State): Notification { createNotificationChannels(context) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 35be1ee..0a38dee 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -73,9 +73,9 @@ Включено (Нет подключения) Подключено Амстердам, Нидерланды - Прага, Чехия + Франкфурт, Германия Братислава, Словакия - Баффало, США + Буффало, США Сервис VPN Главный канал нотификаций сервиса Нажмите здесь чтобы включить Yggdrasil. diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7bf2dac..a2398f4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -73,7 +73,7 @@ Enabled (No connectivity) Connected Amsterdam, NL - Prague, CZ + Frankfurt, DE Bratislava, SK Buffalo, US VPN Service