From 9973ba1caec6b1002354582374f937c190d4d605 Mon Sep 17 00:00:00 2001
From: Kamal Bramwell <kamal@elixxir.io>
Date: Tue, 15 Nov 2022 20:59:30 -0500
Subject: [PATCH] Added support for decoding arrays of base64 strings

---
 .../main/java/io/elixxir/xxclient/models/BindingsModel.kt    | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/xxclient/src/main/java/io/elixxir/xxclient/models/BindingsModel.kt b/xxclient/src/main/java/io/elixxir/xxclient/models/BindingsModel.kt
index 581fd6c..a0566b6 100644
--- a/xxclient/src/main/java/io/elixxir/xxclient/models/BindingsModel.kt
+++ b/xxclient/src/main/java/io/elixxir/xxclient/models/BindingsModel.kt
@@ -13,8 +13,11 @@ interface BindingsModel {
         }
 
         inline fun <reified T> encodeArray(list: List<T>): ByteArray {
+            val data = list.map {
+                (it as? ByteArray)?.toBase64String() ?: it
+            }
             val typeToken = object : TypeToken<Array<T>>() {}.type
-            return Gson().toJson(list.toTypedArray(), typeToken).encodeToByteArray()
+            return Gson().toJson(data.toTypedArray(), typeToken).encodeToByteArray()
         }
 
         inline fun <reified T> decode(data: ByteArray?): T? {
-- 
GitLab