summaryrefslogtreecommitdiff
path: root/merchant-terminal/src/main/java/net/taler/merchantpos/order/LiveOrder.kt
diff options
context:
space:
mode:
Diffstat (limited to 'merchant-terminal/src/main/java/net/taler/merchantpos/order/LiveOrder.kt')
-rw-r--r--merchant-terminal/src/main/java/net/taler/merchantpos/order/LiveOrder.kt12
1 files changed, 6 insertions, 6 deletions
diff --git a/merchant-terminal/src/main/java/net/taler/merchantpos/order/LiveOrder.kt b/merchant-terminal/src/main/java/net/taler/merchantpos/order/LiveOrder.kt
index 738e32b..c11b5c7 100644
--- a/merchant-terminal/src/main/java/net/taler/merchantpos/order/LiveOrder.kt
+++ b/merchant-terminal/src/main/java/net/taler/merchantpos/order/LiveOrder.kt
@@ -19,9 +19,9 @@ package net.taler.merchantpos.order
import androidx.annotation.UiThread
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
-import androidx.lifecycle.Transformations
+import androidx.lifecycle.map
+import net.taler.common.Amount
import net.taler.common.CombinedLiveData
-import net.taler.lib.common.Amount
import net.taler.merchantpos.config.Category
import net.taler.merchantpos.config.ConfigProduct
import net.taler.merchantpos.order.RestartState.DISABLED
@@ -31,7 +31,7 @@ import net.taler.merchantpos.order.RestartState.UNDO
internal enum class RestartState { ENABLED, DISABLED, UNDO }
internal interface LiveOrder {
- val order: LiveData<Order>
+ val order: LiveData<Order?>
val orderTotal: LiveData<Amount>
val restartState: LiveData<RestartState>
val modifyOrderAllowed: LiveData<Boolean>
@@ -50,11 +50,11 @@ internal class MutableLiveOrder(
) : LiveOrder {
private val availableCategories: Map<Int, Category>
get() = productsByCategory.keys.map { it.id to it }.toMap()
- override val order: MutableLiveData<Order> =
+ override val order: MutableLiveData<Order?> =
MutableLiveData(Order(id, currency, availableCategories))
- override val orderTotal: LiveData<Amount> = Transformations.map(order) { it.total }
+ override val orderTotal: LiveData<Amount> = order.map { it?.total ?: Amount.zero(currency) }
override val restartState = MutableLiveData(DISABLED)
- private val selectedOrderLine = MutableLiveData<ConfigProduct>()
+ private val selectedOrderLine = MutableLiveData<ConfigProduct?>()
override val selectedProductKey: String?
get() = selectedOrderLine.value?.id
override val modifyOrderAllowed =