messenger-android

Android graphical user interfaces for GNUnet Messenger
Log | Files | Refs | README | LICENSE

commit 5062582e46254a83da45bd85a29a7efc248c2f6f
parent 5f8c8a46753eadcfa08320ae826922325ef5bf38
Author: t3sserakt <t3sserakt@posteo.de>
Date:   Fri, 20 Mar 2026 18:45:23 +0100

When connecting new account disconnect is not needed before, becasue libgnunetchat handles that. Removed unnecessary iterateAccounts. This is triggered by refresh callback message.

Diffstat:
MGNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ui/account/AccountListFragment.kt | 4++--
MGNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ui/account/CreateAccountFragment.kt | 32+++++++-------------------------
2 files changed, 9 insertions(+), 27 deletions(-)

diff --git a/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ui/account/AccountListFragment.kt b/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ui/account/AccountListFragment.kt @@ -80,12 +80,12 @@ class AccountListFragment : Fragment() { viewLifecycleOwner.lifecycleScope.launch { try { - if (activity.currentAccount != null) { + /*if (activity.currentAccount != null) { runCatching { gnunetChat.disconnect(handle) } .onFailure { Log.w(TAG, "disconnect before connect failed", it) } - } + }*/ gnunetChat.connect(handle, selectedAccount) selectedAccount.key = gnunetChat.getProfileKey(handle) diff --git a/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ui/account/CreateAccountFragment.kt b/GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ui/account/CreateAccountFragment.kt @@ -94,43 +94,25 @@ class CreateAccountFragment : Fragment() { } private fun createAccount(accountName: String) { - - viewLifecycleOwner.lifecycleScope.launch { try { val result = gnunetChat.createAccount(handle = handle, name = accountName) when (result) { GnunetReturnValue.OK -> { - gnunetChat.iterateAccounts(handle) { account -> - if (account.name == accountName) { - viewLifecycleOwner.lifecycleScope.launch { - try { - if (null != mainActivity.currentAccount) - runCatching { gnunetChat.disconnect(handle) } - .onFailure { /* loggen/toast, aber trotzdem weiter */ } - gnunetChat.connect(handle, account) - } catch (t: Throwable) { - // optional: Fehlermeldung / Toast - } - } - requireActivity().runOnUiThread { - val action = - CreateAccountFragmentDirections.actionCreateAccountFragmentToAccountOverviewFragment( - account = account - ) - findNavController().navigate(action) - } - } - + // Erfolgreich → zurück zur Account-Liste + requireActivity().runOnUiThread { + findNavController().popBackStack() } } else -> { - println("result ${result} not ok") + // TODO: Fehler anzeigen (Toast/Snackbar) + println("createAccount failed: $result") } } } catch (t: Throwable) { - // TODO: Fehlermeldung / Toast / Log + // TODO: Fehler anzeigen (Toast/Snackbar) + t.printStackTrace() } } }