From bf753adffa30e4119b32e55625e8a846be52b94d Mon Sep 17 00:00:00 2001
From: Janne Mareike Koschinski <janne@kuschku.de>
Date: Tue, 8 Mar 2022 21:42:00 +0100
Subject: [PATCH] fix: correct saving/creating networks and identities

---
 .../ui/coresettings/identity/IdentityCreateFragment.kt        | 2 +-
 .../ui/coresettings/network/NetworkCreateFragment.kt          | 2 +-
 .../quasseldroid/ui/setup/network/NetworkSetupActivity.kt     | 2 +-
 .../kuschku/quasseldroid/ui/setup/user/UserSetupActivity.kt   | 4 ++--
 .../libquassel/quassel/syncables/interfaces/IRpcHandler.kt    | 4 ++--
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityCreateFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityCreateFragment.kt
index 28cec020e..7a3559075 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityCreateFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/identity/IdentityCreateFragment.kt
@@ -25,7 +25,7 @@ class IdentityCreateFragment : IdentityBaseFragment(true) {
   override fun onSave() = modelHelper.connectedSession.value?.orNull()?.let { session ->
     identity?.let { (_, data) ->
       applyChanges(data)
-      session.rpcHandler.createIdentity(data, mapOf())
+      session.rpcHandler.createIdentity(data.toVariantMap(), mapOf())
       true
     } ?: false
   } ?: false
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/network/NetworkCreateFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/network/NetworkCreateFragment.kt
index 69b848b91..b050cb1c7 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/network/NetworkCreateFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/network/NetworkCreateFragment.kt
@@ -27,7 +27,7 @@ class NetworkCreateFragment : NetworkBaseFragment(true) {
     network?.let { (_, data) ->
       applyChanges(data)
       modelHelper.backend.value?.ifPresent(Backend::requestConnectNewNetwork)
-      session.rpcHandler.createNetwork(data.networkInfo(), emptyList())
+      session.rpcHandler.createNetwork(data.networkInfo().toVariantMap(), emptyList())
       true
     }
   } ?: false
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/network/NetworkSetupActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/network/NetworkSetupActivity.kt
index fb663a71c..8ba106829 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/network/NetworkSetupActivity.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/network/NetworkSetupActivity.kt
@@ -74,7 +74,7 @@ class NetworkSetupActivity : ServiceBoundSetupActivity() {
                     port = network.server.port,
                     useSsl = network.server.secure
                   ))
-                ), data.getStringArray("channels")?.toList().orEmpty())
+                ).toVariantMap(),data.getStringArray("channels")?.toList().orEmpty())
                 backend.requestConnectNewNetwork()
               }
             }
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/user/UserSetupActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/user/UserSetupActivity.kt
index eb5bdfd22..58641d0aa 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/user/UserSetupActivity.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/user/UserSetupActivity.kt
@@ -56,7 +56,7 @@ class UserSetupActivity : ServiceBoundSetupActivity() {
             setIdentityName(this@UserSetupActivity.getString(R.string.default_identity_identity_name))
             setNicks(listOf(data.getString("nick")))
             setRealName(data.getString("realname"))
-          }, emptyMap())
+          }.toVariantMap(), emptyMap())
 
           modelHelper.identities
             .map(Map<IdentityId, Identity>::values)
@@ -75,7 +75,7 @@ class UserSetupActivity : ServiceBoundSetupActivity() {
                       useSsl = it.secure
                     )
                   }
-                ), data.getStringArray("channels")?.toList().orEmpty())
+                ).toVariantMap(), data.getStringArray("channels")?.toList().orEmpty())
 
                 backend.requestConnectNewNetwork()
               }
diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IRpcHandler.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IRpcHandler.kt
index e65feb9e9..bb65bb1a0 100644
--- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IRpcHandler.kt
+++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IRpcHandler.kt
@@ -128,7 +128,7 @@ interface IRpcHandler : ISyncableObject {
   }
 
   @SyncedCall(name = "2createIdentity(Identity,QVariantMap)", target = ProtocolSide.CORE)
-  fun createIdentity(identity: IIdentity, additional: QVariantMap) {
+  fun createIdentity(identity: QVariantMap, additional: QVariantMap) {
     rpc(
       target = ProtocolSide.CORE,
       "2createIdentity(Identity,QVariantMap)",
@@ -147,7 +147,7 @@ interface IRpcHandler : ISyncableObject {
   }
 
   @SyncedCall(name = "2createNetwork(NetworkInfo,QStringList)", target = ProtocolSide.CORE)
-  fun createNetwork(networkInfo: INetwork.NetworkInfo, channels: List<String>) {
+  fun createNetwork(networkInfo: QVariantMap, channels: List<String>) {
     rpc(
       target = ProtocolSide.CORE,
       "2createNetwork(NetworkInfo,QStringList)",
-- 
GitLab