From 054e1c9792ce8a86216450bdad46b65a65c9c388 Mon Sep 17 00:00:00 2001 From: Revertron Date: Mon, 25 Nov 2024 16:34:29 +0100 Subject: [PATCH] Fixed display of new generated public key in SettingsActivity. --- .../eu/neilalexander/yggdrasil/ConfigurationProxy.kt | 2 +- .../eu/neilalexander/yggdrasil/SettingsActivity.kt | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/neilalexander/yggdrasil/ConfigurationProxy.kt b/app/src/main/java/eu/neilalexander/yggdrasil/ConfigurationProxy.kt index 0047679..2eca90a 100644 --- a/app/src/main/java/eu/neilalexander/yggdrasil/ConfigurationProxy.kt +++ b/app/src/main/java/eu/neilalexander/yggdrasil/ConfigurationProxy.kt @@ -55,7 +55,7 @@ object ConfigurationProxy { json.put("IfMTU", 65535) if (json.getJSONArray("MulticastInterfaces").get(0) is String) { - var ar = JSONArray() + val ar = JSONArray() ar.put(0, JSONObject(""" { "Regex": ".*", diff --git a/app/src/main/java/eu/neilalexander/yggdrasil/SettingsActivity.kt b/app/src/main/java/eu/neilalexander/yggdrasil/SettingsActivity.kt index 5831776..9bf662a 100644 --- a/app/src/main/java/eu/neilalexander/yggdrasil/SettingsActivity.kt +++ b/app/src/main/java/eu/neilalexander/yggdrasil/SettingsActivity.kt @@ -27,6 +27,7 @@ class SettingsActivity : AppCompatActivity() { private lateinit var deviceNameEntry: EditText private lateinit var publicKeyLabel: TextView private lateinit var resetConfigurationRow: LinearLayoutCompat + private var publicKeyReset = false override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -85,6 +86,7 @@ class SettingsActivity : AppCompatActivity() { findViewById(R.id.resetKeysRow).setOnClickListener { config.resetKeys() + publicKeyReset = true updateView() } @@ -125,7 +127,11 @@ class SettingsActivity : AppCompatActivity() { deviceNameEntry.setText("", TextView.BufferType.EDITABLE) } - publicKeyLabel.text = json.optString("PublicKey") + var key = json.optString("PrivateKey") + if (key.isNotEmpty()) { + key = key.substring(key.length / 2) + } + publicKeyLabel.text = key } override fun onResume() { @@ -145,7 +151,7 @@ class SettingsActivity : AppCompatActivity() { // To be able to get public key from running Yggdrasil we use this receiver, as we don't have this field in config private val receiver: BroadcastReceiver = object : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent) { - if (intent.hasExtra("pubkey")) { + if (intent.hasExtra("pubkey") && !publicKeyReset) { val tree = intent.getStringExtra("pubkey") if (tree != null && tree != "null") { publicKeyLabel.text = intent.getStringExtra("pubkey")