Skip to content

Commit f27283a

Browse files
committed
use view model to drive the market limit order button instead
1 parent 8412a85 commit f27283a

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

exampleAppJapan/src/main/kotlin/it/trade/android/japanapp/ui/orderinput/OrderInputFragment.kt

+4-7
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ class OrderInputFragment : Fragment() {
5454

5555
etQuantity.setText(String.format("%d", orderInfo.quantity))
5656
etPrice.setText(String.format("%.0f", orderInfo.limitPrice))
57+
btMarket.isChecked = orderInfo.type == OrderType.MARKET
58+
btLimit.isChecked = orderInfo.type == OrderType.LIMIT
5759

5860
val lower = String.format("%,.0f", symbol.priceLowerLimit)
5961
val upper = String.format("%,.0f", symbol.priceUpperLimit)
@@ -74,17 +76,12 @@ class OrderInputFragment : Fragment() {
7476
btPriceMinus.setOnClickListener {
7577
viewModel.decreasePrice()
7678
}
77-
btLimit.isChecked = true
78-
btMarket.isChecked = false
7979
btMarket.setOnClickListener {
80-
btLimit.isChecked = false
81-
btMarket.isChecked = true
80+
viewModel.setMarketOrder()
8281
togglePriceType()
83-
viewModel.resetPrice()
8482
}
8583
btLimit.setOnClickListener {
86-
btLimit.isChecked = true
87-
btMarket.isChecked = false
84+
viewModel.setLimitOrder()
8885
togglePriceType()
8986
}
9087
}

exampleAppJapan/src/main/kotlin/it/trade/android/japanapp/ui/orderinput/OrderInputViewModel.kt

+8-4
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ import android.arch.lifecycle.MutableLiveData
55
import android.arch.lifecycle.ViewModel
66

77
class OrderInputViewModel : ViewModel() {
8-
// TODO: Implement the ViewModel
9-
108
private lateinit var orderForm: MutableLiveData<OrderForm>
119

1210
fun getOrderModel(): LiveData<OrderForm> {
@@ -63,9 +61,15 @@ class OrderInputViewModel : ViewModel() {
6361
}
6462
}
6563

66-
fun resetPrice() {
64+
fun setMarketOrder() {
65+
orderForm.value = orderForm.value?.apply {
66+
orderInfo = orderInfo.copy(type = OrderType.MARKET, limitPrice = symbol.price)
67+
}
68+
}
69+
70+
fun setLimitOrder() {
6771
orderForm.value = orderForm.value?.apply {
68-
orderInfo = orderInfo.copy(limitPrice = symbol.price)
72+
orderInfo = orderInfo.copy(type = OrderType.LIMIT)
6973
}
7074
}
7175
}

0 commit comments

Comments
 (0)