Skip to content
Snippets Groups Projects
Commit e0e46a0a authored by Kamal Bramwell's avatar Kamal Bramwell
Browse files

Revert "Use class instance instead of TypeToken for Gson decoding"

This reverts commit 48b19f7f.
parent 31c75094
Branches
No related tags found
No related merge requests found
......@@ -2,6 +2,7 @@ package io.elixxir.xxclient.models
import android.util.Log
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import io.elixxir.xxclient.utils.toBase64String
interface BindingsModel {
......@@ -21,7 +22,8 @@ interface BindingsModel {
inline fun <reified T> decode(data: ByteArray?): T? {
return data?.run {
if (isValidData()) {
Gson().fromJson(decodeToString(), T::class.java)
val typeToken = object : TypeToken<T>() {}.type
Gson().fromJson<T>(decodeToString(), typeToken)
} else {
Log.d("Decode", "Failed to decode data: ${decodeToString()}")
null
......@@ -32,7 +34,8 @@ interface BindingsModel {
inline fun <reified T> decodeArray(data: ByteArray?): List<T> {
return data?.run {
if (isValidData()) {
Gson().fromJson(decodeToString(), Array<T>::class.java).toList()
val typeToken = object : TypeToken<Array<T>>() {}.type
Gson().fromJson<Array<T>>(decodeToString(), typeToken).toList()
} else listOf()
} ?: listOf()
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment