From 31f363b3e29afb05a891103a6db751c6b0ee85d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20K=C3=BCrten?= <sebastian@mobanisto.de>
Date: Thu, 30 Sep 2021 13:32:31 +0200
Subject: [PATCH] When starting with testing executable, create an account on
 startup

---
 .../kotlin/org/briarproject/briar/desktop/BriarDesktopApp.kt  | 3 +++
 .../kotlin/org/briarproject/briar/desktop/BriarService.kt     | 4 +++-
 .../briarproject/briar/desktop/TestWithTemporaryAccount.kt    | 3 +++
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/main/kotlin/org/briarproject/briar/desktop/BriarDesktopApp.kt b/src/main/kotlin/org/briarproject/briar/desktop/BriarDesktopApp.kt
index 4e0ef30e51..72562d66c1 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/BriarDesktopApp.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/BriarDesktopApp.kt
@@ -3,6 +3,7 @@ package org.briarproject.briar.desktop
 import dagger.Component
 import org.briarproject.bramble.BrambleCoreEagerSingletons
 import org.briarproject.bramble.BrambleCoreModule
+import org.briarproject.bramble.api.account.AccountManager
 import org.briarproject.briar.BriarCoreEagerSingletons
 import org.briarproject.briar.BriarCoreModule
 import java.security.SecureRandom
@@ -21,4 +22,6 @@ internal interface BriarDesktopApp : BrambleCoreEagerSingletons, BriarCoreEagerS
     fun getUI(): UI
 
     fun getSecureRandom(): SecureRandom
+
+    fun getAccountManager(): AccountManager
 }
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/BriarService.kt b/src/main/kotlin/org/briarproject/briar/desktop/BriarService.kt
index d1e8b6ba30..4dc34b77df 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/BriarService.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/BriarService.kt
@@ -80,7 +80,9 @@ constructor(
         val title = "Briar Desktop"
         var screenState by remember {
             mutableStateOf(
-                if (accountManager.accountExists()) {
+                if (accountManager.hasDatabaseKey()) {
+                    Screen.MAIN
+                } else if (accountManager.accountExists()) {
                     Screen.LOGIN
                 } else {
                     Screen.REGISTRATION
diff --git a/src/test/kotlin/org/briarproject/briar/desktop/TestWithTemporaryAccount.kt b/src/test/kotlin/org/briarproject/briar/desktop/TestWithTemporaryAccount.kt
index 6dd7bbda2e..15d9af08a1 100644
--- a/src/test/kotlin/org/briarproject/briar/desktop/TestWithTemporaryAccount.kt
+++ b/src/test/kotlin/org/briarproject/briar/desktop/TestWithTemporaryAccount.kt
@@ -37,6 +37,9 @@ private class TestWithTemporaryAccount {
         BrambleCoreEagerSingletons.Helper.injectEagerSingletons(app)
         BriarCoreEagerSingletons.Helper.injectEagerSingletons(app)
 
+        val password = "verySecret123!"
+        app.getAccountManager().createAccount("alice", password)
+
         app.getUI().startBriar()
     }
 
-- 
GitLab