From fa46f6f06ec694939c991cb8c5506d84450735d4 Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Mon, 29 Apr 2019 22:13:20 +0200
Subject: [PATCH] Fixes crash cluster 3c10ff1f

---
 .../kuschku/quasseldroid/ui/chat/add/NetworkAdapter.kt   | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/add/NetworkAdapter.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/add/NetworkAdapter.kt
index 8ce027f86..0f0e01483 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/add/NetworkAdapter.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/add/NetworkAdapter.kt
@@ -46,7 +46,10 @@ class NetworkAdapter : RecyclerSpinnerAdapter<NetworkAdapter.NetworkViewHolder>(
   override fun isEmpty() = data.isEmpty()
 
   override fun onBindViewHolder(holder: NetworkViewHolder, position: Int) =
-    holder.bind(getItem(position))
+    holder.bind(
+      getItem(position)
+      ?: throw IndexOutOfBoundsException("Index: $position, Size: ${data.size}")
+    )
 
   override fun onCreateViewHolder(parent: ViewGroup, dropDown: Boolean)
     : NetworkViewHolder {
@@ -69,8 +72,8 @@ class NetworkAdapter : RecyclerSpinnerAdapter<NetworkAdapter.NetworkViewHolder>(
     return null
   }
 
-  override fun getItem(position: Int): NetworkItem = data[position]
-  override fun getItemId(position: Int) = getItem(position).id.id.toLong()
+  override fun getItem(position: Int): NetworkItem? = data.getOrNull(position)
+  override fun getItemId(position: Int) = getItem(position)?.id?.id?.toLong() ?: 0L
   override fun hasStableIds() = true
   override fun getCount() = data.size
   class NetworkViewHolder(itemView: View) :
-- 
GitLab