diff --git a/app/src/main/java/com/example/cupcake/FlavorFragment.kt b/app/src/main/java/com/example/cupcake/FlavorFragment.kt index e7b74d24599348bc6194e9e0d126f6cbceacfc6e..cae160cee0e8fa687715c291a8b0f6122957640e 100644 --- a/app/src/main/java/com/example/cupcake/FlavorFragment.kt +++ b/app/src/main/java/com/example/cupcake/FlavorFragment.kt @@ -49,6 +49,7 @@ class FlavorFragment : Fragment() { binding?.apply { viewModel = sharedViewModel + lifecycleOwner = viewLifecycleOwner nextButton.setOnClickListener { goToNextScreen() } } } diff --git a/app/src/main/java/com/example/cupcake/PickupFragment.kt b/app/src/main/java/com/example/cupcake/PickupFragment.kt index e1bb1fdaa5bac36ccd3b10ae9b501d0177e9e243..799116c90d623a19a3eea6bd467d90c52ab924b3 100644 --- a/app/src/main/java/com/example/cupcake/PickupFragment.kt +++ b/app/src/main/java/com/example/cupcake/PickupFragment.kt @@ -49,6 +49,7 @@ class PickupFragment : Fragment() { binding?.apply { viewModel = sharedViewModel + lifecycleOwner = viewLifecycleOwner nextButton.setOnClickListener { goToNextScreen() } } } diff --git a/app/src/main/java/com/example/cupcake/SummaryFragment.kt b/app/src/main/java/com/example/cupcake/SummaryFragment.kt index 839e3778a4f44fb6af9ea47a892e6b9a95eadb5f..9a9affb658536bfa531d3b75bbd6369f921e8789 100644 --- a/app/src/main/java/com/example/cupcake/SummaryFragment.kt +++ b/app/src/main/java/com/example/cupcake/SummaryFragment.kt @@ -50,6 +50,7 @@ class SummaryFragment : Fragment() { binding?.apply { viewModel = sharedViewModel + lifecycleOwner = viewLifecycleOwner sendButton.setOnClickListener { sendOrder() } } } diff --git a/app/src/main/java/com/example/cupcake/model/OrderViewModel.kt b/app/src/main/java/com/example/cupcake/model/OrderViewModel.kt index 67b4a831d9ea255b28b99fcfb6a7ecce51424660..35397708e6aba0ac55d548b2985bd07fd84b2d5d 100644 --- a/app/src/main/java/com/example/cupcake/model/OrderViewModel.kt +++ b/app/src/main/java/com/example/cupcake/model/OrderViewModel.kt @@ -8,6 +8,7 @@ import java.util.Calendar import java.util.Locale private const val PRICE_PER_CUPCAKE = 2.00 +private const val PRICE_FOR_SAME_DAY_PICKUP = 3.00 class OrderViewModel : ViewModel() { private val _quantity = MutableLiveData<Int>() @@ -29,7 +30,12 @@ class OrderViewModel : ViewModel() { } private fun updatePrice() { - _price.value = (quantity.value ?: 0) * PRICE_PER_CUPCAKE + var calculatedPrice = (quantity.value ?: 0) * PRICE_PER_CUPCAKE + // If the user selected the first option (today) for pickup, add the surcharge + if (dateOptions[0] == _date.value) { + calculatedPrice += PRICE_FOR_SAME_DAY_PICKUP + } + _price.value = calculatedPrice } private fun getPickupOptions(): List<String> { @@ -62,6 +68,7 @@ class OrderViewModel : ViewModel() { fun setDate(pickupDate: String) { _date.value = pickupDate + updatePrice() } fun hasNoFlavorSet(): Boolean {