From 1ce59fa066dc989c226b0be6fd2f48d80ee2b13f Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Mon, 21 Jan 2019 17:06:20 +0100
Subject: [PATCH] Making sure that all serialized data is actually serializable

---
 .../setup/network/NetworkSetupNetworkSlide.kt |  4 ++--
 .../CoreSetupBackendConfigElement.kt          | 23 ++++++++-----------
 2 files changed, 11 insertions(+), 16 deletions(-)

diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/network/NetworkSetupNetworkSlide.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/network/NetworkSetupNetworkSlide.kt
index 24512fe83..1acc33c17 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/network/NetworkSetupNetworkSlide.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/network/NetworkSetupNetworkSlide.kt
@@ -102,9 +102,9 @@ class NetworkSetupNetworkSlide : ServiceBoundSlideFragment() {
   }
 
   override fun getData(data: Bundle) {
-    data.putSerializable(
+    data.putInt(
       "identity",
-      identityAdapter.getItemId(this.identity.selectedItemPosition)
+      identityAdapter.getItemId(this.identity.selectedItemPosition).toInt()
     )
     val networkId = (network.selectedItem as? INetwork.NetworkInfo)?.networkId
     if (networkId != null) {
diff --git a/lib/src/main/java/de/kuschku/libquassel/protocol/coresetup/CoreSetupBackendConfigElement.kt b/lib/src/main/java/de/kuschku/libquassel/protocol/coresetup/CoreSetupBackendConfigElement.kt
index a56f1053f..7fb62cb7f 100644
--- a/lib/src/main/java/de/kuschku/libquassel/protocol/coresetup/CoreSetupBackendConfigElement.kt
+++ b/lib/src/main/java/de/kuschku/libquassel/protocol/coresetup/CoreSetupBackendConfigElement.kt
@@ -22,12 +22,15 @@ package de.kuschku.libquassel.protocol.coresetup
 import de.kuschku.libquassel.protocol.*
 import java.io.Serializable
 
-class CoreSetupBackendConfigElement : Serializable {
-  val key: String
-  val displayName: String
-  private val typeId: Int
-  private val customType: String
-  private val rawDefaultValue: Any?
+class CoreSetupBackendConfigElement(
+  val key: String,
+  val displayName: String,
+  defaultValue: QVariant_
+) : Serializable {
+  private val typeId = defaultValue.type.id
+  private val customType = defaultValue.type.serializableName
+  private val rawDefaultValue = defaultValue.data as? Serializable
+
   val defaultValue: QVariant_
     get() {
       val type = Type.of(typeId)
@@ -41,14 +44,6 @@ class CoreSetupBackendConfigElement : Serializable {
       }
     }
 
-  constructor(key: String, displayName: String, defaultValue: QVariant_) {
-    this.key = key
-    this.displayName = displayName
-    this.typeId = defaultValue.type.id
-    this.customType = defaultValue.type.serializableName
-    this.rawDefaultValue = defaultValue.data
-  }
-
   override fun equals(other: Any?): Boolean {
     if (this === other) return true
     if (javaClass != other?.javaClass) return false
-- 
GitLab