From 385606db51f6c643ce2cfea6d51a908567c13593 Mon Sep 17 00:00:00 2001
From: Janne Mareike Koschinski <mail@justjanne.de>
Date: Tue, 5 Sep 2023 20:49:05 +0200
Subject: [PATCH] fix: erranous "setup identity" dialog when connecting

---
 .../java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt  | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt
index 1f1d95830..59c206299 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt
@@ -53,6 +53,7 @@ import de.kuschku.libquassel.connection.QuasselSecurityException
 import de.kuschku.libquassel.protocol.*
 import de.kuschku.libquassel.protocol.coresetup.CoreSetupData
 import de.kuschku.libquassel.protocol.message.HandshakeMessage
+import de.kuschku.libquassel.quassel.syncables.Identity
 import de.kuschku.libquassel.quassel.syncables.interfaces.INetwork.PortDefaults.PORT_PLAINTEXT
 import de.kuschku.libquassel.quassel.syncables.interfaces.INetwork.PortDefaults.PORT_SSL
 import de.kuschku.libquassel.session.Error
@@ -806,9 +807,10 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc
       state == ConnectionState.CONNECTED
     }.filter { it }
 
-    val missingIdentity: Observable<Boolean> = modelHelper.connectedSession.map { session ->
-      session.orNull()?.identities.isNullOrEmpty()
-    }
+    val missingIdentity: Observable<Boolean> = modelHelper.connectedSession
+      .mapSwitchMap(ISession::liveIdentities)
+      .mapMap(Map<IdentityId, Identity>::isEmpty)
+      .mapOrElse(false)
 
     val missingFeatures: Observable<List<MissingFeature>> =
       modelHelper.connectedSession.mapMap { session ->
-- 
GitLab