Fixed possibility to add duplicate servers in DNS settings.

This commit is contained in:
Revertron 2022-11-19 16:17:22 +01:00
parent 4b8e6cf922
commit 49ac5ada93
3 changed files with 22 additions and 11 deletions

View file

@ -60,13 +60,17 @@ class DnsActivity : AppCompatActivity() {
builder.setTitle(getString(R.string.dns_add_server_dialog_title))
builder.setView(view)
builder.setPositiveButton(getString(R.string.add)) { dialog, _ ->
servers.add(input.text.toString())
preferences.edit().apply {
putString(KEY_DNS_SERVERS, servers.joinToString(","))
commit()
val server = input.text.toString()
if (!servers.contains(server)) {
servers.add(server)
preferences.edit().apply {
putString(KEY_DNS_SERVERS, servers.joinToString(","))
commit()
}
updateConfiguredServers()
} else {
Toast.makeText(this, R.string.dns_already_added_server, Toast.LENGTH_SHORT).show()
}
dialog.dismiss()
updateConfiguredServers()
}
builder.setNegativeButton(getString(R.string.cancel)) { dialog, _ ->
dialog.cancel()
@ -158,12 +162,17 @@ class DnsActivity : AppCompatActivity() {
addButton.tag = server
addButton.setOnClickListener { button ->
servers.add(button.tag as String)
preferences.edit().apply {
this.putString(KEY_DNS_SERVERS, servers.joinToString(","))
this.commit()
val serverString = button.tag as String
if (!servers.contains(serverString)) {
servers.add(serverString)
preferences.edit().apply {
this.putString(KEY_DNS_SERVERS, servers.joinToString(","))
this.commit()
}
updateConfiguredServers()
} else {
Toast.makeText(this, R.string.dns_already_added_server, Toast.LENGTH_SHORT).show()
}
updateConfiguredServers()
}
view.setOnLongClickListener {
val builder: AlertDialog.Builder = AlertDialog.Builder(this)

View file

@ -22,6 +22,7 @@
<string name="dns_one_server">1 сервер</string>
<string name="dns_many_servers">%d сервера/серверов</string>
<string name="dns_remove_title">Убрать %s?</string>
<string name="dns_already_added_server">Этот сервер уже добавлен.</string>
<string name="main_no_connectivity">Включено (Нет подключения)</string>
<string name="main_enabled">Подключено</string>
<string name="main_disabled">Выключено</string>

View file

@ -22,6 +22,7 @@
<string name="dns_one_server">1 server</string>
<string name="dns_many_servers">%d server</string>
<string name="dns_remove_title">Remove %s?</string>
<string name="dns_already_added_server">This server is already added.</string>
<string name="main_no_connectivity">Enabled (No connectivity)</string>
<string name="main_enabled">Connected</string>
<string name="main_disabled">Not enabled</string>