diff --git a/app/src/main/java/com/example/cupcake/StartFragment.kt b/app/src/main/java/com/example/cupcake/StartFragment.kt index 2bf88c51cafb9787c82f1d93667b079f44617f52..81876d9fea819548180be3b4b01841332e1a857f 100644 --- a/app/src/main/java/com/example/cupcake/StartFragment.kt +++ b/app/src/main/java/com/example/cupcake/StartFragment.kt @@ -15,12 +15,14 @@ */ package com.example.cupcake +import OrderViewModel import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Toast import androidx.fragment.app.Fragment +import androidx.fragment.app.activityViewModels import androidx.navigation.fragment.findNavController import com.example.cupcake.databinding.FragmentStartBinding @@ -33,6 +35,7 @@ class StartFragment : Fragment() { // This property is non-null between the onCreateView() and onDestroyView() lifecycle callbacks, // when the view hierarchy is attached to the fragment. private var binding: FragmentStartBinding? = null + private val sharedViewModel: OrderViewModel by activityViewModels() override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -58,9 +61,14 @@ class StartFragment : Fragment() { * Start an order with the desired quantity of cupcakes and navigate to the next screen. */ fun orderCupcake(quantity: Int) { + sharedViewModel.setQuantity(quantity) + if (sharedViewModel.hasNoFlavorSet()) { + sharedViewModel.setFlavor(getString(R.string.vanilla)) + } findNavController().navigate(R.id.action_startFragment_to_flavorFragment) } + /** * This fragment lifecycle method is called when the view hierarchy associated with the fragment * is being removed. As a result, clear out the binding object. 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 0581a2310b6b9eefce5c4e554494894df41199a4..afaa9e11ca04039f46bd040de677432d2a82d5c0 100644 --- a/app/src/main/java/com/example/cupcake/model/OrderViewModel.kt +++ b/app/src/main/java/com/example/cupcake/model/OrderViewModel.kt @@ -26,4 +26,8 @@ class OrderViewModel : ViewModel() { fun setDate(pickupDate: String) { _date.value = pickupDate } + + fun hasNoFlavorSet(): Boolean { + return _flavor.value.isNullOrEmpty() + } } \ No newline at end of file