diff --git a/xxclient/src/main/java/io/elixxir/xxclient/utils/Bindings.kt b/xxclient/src/main/java/io/elixxir/xxclient/utils/Bindings.kt index 999119aaf26b6f8c8d34d8de255ff73347be91b1..55c99d5417d8a31e5e5cd2009bbbe3335c90e589 100644 --- a/xxclient/src/main/java/io/elixxir/xxclient/utils/Bindings.kt +++ b/xxclient/src/main/java/io/elixxir/xxclient/utils/Bindings.kt @@ -17,11 +17,15 @@ inline fun <reified T: BindingsModel> parseModel(data: ByteArray?, error: Except } fun parseData(rawData: ByteArray?, error: Exception?): Result<ByteArray> { - return parseDataArray(rawData, error).run { - getOrNull()?.let { - Result.success(it.firstOrNull() ?: byteArrayOf()) - } ?: Result.failure(exceptionOrNull() ?: InvalidDataException()) - } + return error?.let { + Result.failure(it) + } ?: rawData?.let { + if (it.isNotEmpty()) { + Result.success( + it.decodeToString().fromBase64toByteArray() + ) + } else Result.success(byteArrayOf()) + } ?: Result.failure(InvalidDataException()) } fun parseDataArray(dataArray: ByteArray?, error: Exception?): Result<List<ByteArray>> {