diff options
author | Torsten Grote <t@grobox.de> | 2020-03-20 15:43:23 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2020-03-20 15:43:23 -0300 |
commit | db8b71418b766258a7a4bda91e496b1b03cb28cd (patch) | |
tree | bd221d1a7ecf77d7752ea7a6086da344e74619cc /merchant-terminal/src/main/java/net/taler/merchantpos/order/OrderManager.kt | |
parent | 82b8b57dc16112b859150696199774fcf06655e1 (diff) | |
download | taler-android-db8b71418b766258a7a4bda91e496b1b03cb28cd.tar.gz taler-android-db8b71418b766258a7a4bda91e496b1b03cb28cd.tar.bz2 taler-android-db8b71418b766258a7a4bda91e496b1b03cb28cd.zip |
Let all apps use the same Amount class
The wallet now also uses taler-kotlin-common
Diffstat (limited to 'merchant-terminal/src/main/java/net/taler/merchantpos/order/OrderManager.kt')
-rw-r--r-- | merchant-terminal/src/main/java/net/taler/merchantpos/order/OrderManager.kt | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/merchant-terminal/src/main/java/net/taler/merchantpos/order/OrderManager.kt b/merchant-terminal/src/main/java/net/taler/merchantpos/order/OrderManager.kt index a30c264..ff2be48 100644 --- a/merchant-terminal/src/main/java/net/taler/merchantpos/order/OrderManager.kt +++ b/merchant-terminal/src/main/java/net/taler/merchantpos/order/OrderManager.kt @@ -24,7 +24,6 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.Transformations.map import com.fasterxml.jackson.core.type.TypeReference import com.fasterxml.jackson.databind.ObjectMapper -import net.taler.common.Amount.Companion.fromString import net.taler.merchantpos.R import net.taler.merchantpos.config.Category import net.taler.merchantpos.config.ConfigProduct @@ -41,6 +40,7 @@ class OrderManager( val TAG = OrderManager::class.java.simpleName } + private lateinit var currency: String private var orderCounter: Int = 0 private val mCurrentOrderId = MutableLiveData<Int>() internal val currentOrderId: LiveData<Int> = mCurrentOrderId @@ -75,7 +75,7 @@ class OrderManager( // group products by categories productsByCategory.clear() products.forEach { product -> - val productCurrency = fromString(product.price).currency + val productCurrency = product.price.currency if (productCurrency != currency) { Log.e(TAG, "Product $product has currency $productCurrency, $currency expected") return context.getString( @@ -98,12 +98,13 @@ class OrderManager( } } return if (productsByCategory.size > 0) { + this.currency = currency mCategories.postValue(categories) mProducts.postValue(productsByCategory[categories[0]]) // Initialize first empty order, note this won't work when updating config mid-flight if (orders.isEmpty()) { val id = orderCounter++ - orders[id] = MutableLiveOrder(id, productsByCategory) + orders[id] = MutableLiveOrder(id, currency, productsByCategory) mCurrentOrderId.postValue(id) } null // success, no error string @@ -129,7 +130,7 @@ class OrderManager( } if (nextId == null) { nextId = orderCounter++ - orders[nextId] = MutableLiveOrder(nextId, productsByCategory) + orders[nextId] = MutableLiveOrder(nextId, currency, productsByCategory) } val currentOrder = order(currentId) if (currentOrder.isEmpty()) orders.remove(currentId) |