From b1b4363a6fa82a1a96334313c88844533dafbba4 Mon Sep 17 00:00:00 2001
From: Paul Lorenc <pj@paul-lorenc.com>
Date: Sat, 25 Sep 2021 10:31:14 -0400
Subject: [PATCH] refactor BriarService to also use uiModes enum

---
 .../org/briarproject/briar/desktop/BriarService.kt       | 9 +++++----
 src/main/kotlin/org/briarproject/briar/desktop/Screen.kt | 6 ------
 .../briar/desktop/paul/views/BriarUIStateManager.kt      | 1 +
 3 files changed, 6 insertions(+), 10 deletions(-)
 delete mode 100644 src/main/kotlin/org/briarproject/briar/desktop/Screen.kt

diff --git a/src/main/kotlin/org/briarproject/briar/desktop/BriarService.kt b/src/main/kotlin/org/briarproject/briar/desktop/BriarService.kt
index cf74433ba4..194b8adffc 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/BriarService.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/BriarService.kt
@@ -24,6 +24,7 @@ import org.briarproject.briar.desktop.dialogs.Registration
 import org.briarproject.briar.desktop.paul.theme.DarkColorPallet
 import org.briarproject.briar.desktop.paul.theme.briarBlack
 import org.briarproject.briar.desktop.paul.views.BriarUIStateManager
+import org.briarproject.briar.desktop.paul.views.uiModes
 import javax.annotation.concurrent.Immutable
 import javax.inject.Inject
 import javax.inject.Singleton
@@ -83,11 +84,11 @@ constructor(
         messagingManager: MessagingManager
     ) {
         val title = "Briar Desktop"
-        var screenState by remember { mutableStateOf<Screen>(Screen.Login) }
+        var screenState by remember { mutableStateOf(uiModes.Login) }
         Window(title = title) {
             MaterialTheme(colors = DarkColorPallet) {
                 when (val screen = screenState) {
-                    is Screen.Login ->
+                    uiModes.Login ->
                         Login(
                             "Briar",
                             modifier = Modifier.background(briarBlack),
@@ -95,14 +96,14 @@ constructor(
                                 try {
                                     accountManager.signIn(it)
                                     signedIn()
-                                    screenState = Screen.Main
+                                    screenState = uiModes.Contacts
                                 } catch (e: DecryptionException) {
                                     // failure, try again
                                 }
                             }
                         )
 
-                    is Screen.Main ->
+                    else ->
                         CompositionLocalProvider(
                             CM provides conversationManager,
                             MM provides messagingManager
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/Screen.kt b/src/main/kotlin/org/briarproject/briar/desktop/Screen.kt
deleted file mode 100644
index aeeb1c87f5..0000000000
--- a/src/main/kotlin/org/briarproject/briar/desktop/Screen.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package org.briarproject.briar.desktop
-
-sealed class Screen {
-    object Login : Screen()
-    object Main : Screen()
-}
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/paul/views/BriarUIStateManager.kt b/src/main/kotlin/org/briarproject/briar/desktop/paul/views/BriarUIStateManager.kt
index d38405e52b..bb44484250 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/paul/views/BriarUIStateManager.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/paul/views/BriarUIStateManager.kt
@@ -20,6 +20,7 @@ import org.briarproject.briar.desktop.paul.theme.briarBlack
 import org.briarproject.briar.desktop.paul.theme.divider
 
 enum class uiModes {
+    Login,
     Contacts,
     Groups,
     Forums,
-- 
GitLab