From 612876e44de35cdbd563ac2ce40dcd1d4e397bc5 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Tue, 18 Aug 2020 11:35:28 -0300 Subject: Include Taler common Kotlin library as a submodule --- .../src/main/java/net/taler/common/AmountMixin.kt | 51 ---------------------- .../src/main/java/net/taler/common/AndroidUtils.kt | 1 + .../main/java/net/taler/common/ContractTerms.kt | 2 + .../src/main/java/net/taler/common/SignedAmount.kt | 4 +- .../main/java/net/taler/common/TimestampMixin.kt | 39 ----------------- 5 files changed, 6 insertions(+), 91 deletions(-) delete mode 100644 taler-kotlin-android/src/main/java/net/taler/common/AmountMixin.kt delete mode 100644 taler-kotlin-android/src/main/java/net/taler/common/TimestampMixin.kt (limited to 'taler-kotlin-android/src/main/java/net/taler/common') diff --git a/taler-kotlin-android/src/main/java/net/taler/common/AmountMixin.kt b/taler-kotlin-android/src/main/java/net/taler/common/AmountMixin.kt deleted file mode 100644 index f9b1330..0000000 --- a/taler-kotlin-android/src/main/java/net/taler/common/AmountMixin.kt +++ /dev/null @@ -1,51 +0,0 @@ -/* - * This file is part of GNU Taler - * (C) 2020 Taler Systems S.A. - * - * GNU Taler is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 3, or (at your option) any later version. - * - * GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with - * GNU Taler; see the file COPYING. If not, see - */ - -package net.taler.common - -import com.fasterxml.jackson.core.JsonGenerator -import com.fasterxml.jackson.core.JsonParser -import com.fasterxml.jackson.databind.DeserializationContext -import com.fasterxml.jackson.databind.JsonMappingException -import com.fasterxml.jackson.databind.SerializerProvider -import com.fasterxml.jackson.databind.annotation.JsonDeserialize -import com.fasterxml.jackson.databind.annotation.JsonSerialize -import com.fasterxml.jackson.databind.deser.std.StdDeserializer -import com.fasterxml.jackson.databind.ser.std.StdSerializer - -/** - * Used to support Jackson serialization along with KotlinX. - */ -@JsonSerialize(using = AmountSerializer::class) -@JsonDeserialize(using = AmountDeserializer::class) -abstract class AmountMixin - -class AmountSerializer : StdSerializer(Amount::class.java) { - override fun serialize(value: Amount, gen: JsonGenerator, provider: SerializerProvider) { - gen.writeString(value.toJSONString()) - } -} - -class AmountDeserializer : StdDeserializer(Amount::class.java) { - override fun deserialize(p: JsonParser, ctxt: DeserializationContext): Amount { - val node = p.codec.readValue(p, String::class.java) - try { - return Amount.fromJSONString(node) - } catch (e: AmountParserException) { - throw JsonMappingException(p, "Error parsing Amount", e) - } - } -} diff --git a/taler-kotlin-android/src/main/java/net/taler/common/AndroidUtils.kt b/taler-kotlin-android/src/main/java/net/taler/common/AndroidUtils.kt index b46f306..ceb5ead 100644 --- a/taler-kotlin-android/src/main/java/net/taler/common/AndroidUtils.kt +++ b/taler-kotlin-android/src/main/java/net/taler/common/AndroidUtils.kt @@ -43,6 +43,7 @@ import androidx.core.content.ContextCompat.getSystemService import androidx.fragment.app.Fragment import androidx.navigation.NavDirections import androidx.navigation.fragment.findNavController +import net.taler.lib.common.Version fun View.fadeIn(endAction: () -> Unit = {}) { if (visibility == VISIBLE && alpha == 1f) return diff --git a/taler-kotlin-android/src/main/java/net/taler/common/ContractTerms.kt b/taler-kotlin-android/src/main/java/net/taler/common/ContractTerms.kt index ab442f2..8bf77e8 100644 --- a/taler-kotlin-android/src/main/java/net/taler/common/ContractTerms.kt +++ b/taler-kotlin-android/src/main/java/net/taler/common/ContractTerms.kt @@ -24,6 +24,8 @@ import com.fasterxml.jackson.annotation.JsonProperty import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import net.taler.common.TalerUtils.getLocalizedString +import net.taler.lib.common.Amount +import net.taler.lib.common.Timestamp @Serializable data class ContractTerms( diff --git a/taler-kotlin-android/src/main/java/net/taler/common/SignedAmount.kt b/taler-kotlin-android/src/main/java/net/taler/common/SignedAmount.kt index 03a0d6e..e95685a 100644 --- a/taler-kotlin-android/src/main/java/net/taler/common/SignedAmount.kt +++ b/taler-kotlin-android/src/main/java/net/taler/common/SignedAmount.kt @@ -17,6 +17,8 @@ package net.taler.common import android.annotation.SuppressLint +import net.taler.lib.common.Amount +import net.taler.lib.common.AmountParserException data class SignedAmount( val positive: Boolean, @@ -37,4 +39,4 @@ data class SignedAmount( return if (positive) "$amount" else "-$amount" } -} \ No newline at end of file +} diff --git a/taler-kotlin-android/src/main/java/net/taler/common/TimestampMixin.kt b/taler-kotlin-android/src/main/java/net/taler/common/TimestampMixin.kt deleted file mode 100644 index 6c1bebf..0000000 --- a/taler-kotlin-android/src/main/java/net/taler/common/TimestampMixin.kt +++ /dev/null @@ -1,39 +0,0 @@ -/* - * This file is part of GNU Taler - * (C) 2020 Taler Systems S.A. - * - * GNU Taler is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 3, or (at your option) any later version. - * - * GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with - * GNU Taler; see the file COPYING. If not, see - */ - -package net.taler.common - -import com.fasterxml.jackson.annotation.JsonProperty -import com.fasterxml.jackson.core.JsonParser -import com.fasterxml.jackson.databind.DeserializationContext -import com.fasterxml.jackson.databind.annotation.JsonDeserialize -import com.fasterxml.jackson.databind.deser.std.StdDeserializer - -/** - * Used to support Jackson serialization along with KotlinX. - */ -abstract class TimestampMixin( - @get:JsonDeserialize(using = NeverDeserializer::class) - @get:JsonProperty("t_ms") - val ms: Long -) - -class NeverDeserializer : StdDeserializer(Long::class.java) { - override fun deserialize(p: JsonParser, ctxt: DeserializationContext): Long { - return if (p.text == "never") -1 - else p.longValue - } -} -- cgit v1.2.3