From 25cbf626984337a1a38e147bbdc8fcafd073aa69 Mon Sep 17 00:00:00 2001 From: naivekook Date: Mon, 8 Feb 2021 19:19:11 +0300 Subject: [PATCH] Fix bug with spinner for vitamin_a in ProductEditNutritionFactsFragment --- .../edit/ProductEditNutritionFactsFragment.kt | 26 ++++++++++++------- .../fragment_add_product_nutrition_facts.xml | 6 ++--- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/edit/ProductEditNutritionFactsFragment.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/edit/ProductEditNutritionFactsFragment.kt index a363e1d57e9b..bb41dd0265b3 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/edit/ProductEditNutritionFactsFragment.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/edit/ProductEditNutritionFactsFragment.kt @@ -693,19 +693,27 @@ class ProductEditNutritionFactsFragment : ProductEditFragment() { editText.imeOptions = EditorInfo.IME_ACTION_DONE editText.requestFocus() if (preFillValues) { - editText.setText(value) + value?.takeIf { it != "0" }?.let { editText.setText(value) } } // Setup unit spinner val unitSpinner = rowView.findViewById(R.id.spinner_unit) val modSpinner = rowView.findViewById(R.id.spinner_mod) - if (Nutriments.PH == nutrientShortName) { - unitSpinner.visibility = View.INVISIBLE - } else if (Nutriments.STARCH == nutrientShortName) { - val arrayAdapter = ArrayAdapter(requireActivity(), android.R.layout.simple_spinner_item, requireActivity().resources.getStringArray(R.array.weights_array)) - arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) - unitSpinner.adapter = arrayAdapter - starchEditText = editText + when (nutrientShortName) { + Nutriments.PH -> { + unitSpinner.visibility = View.INVISIBLE + } + Nutriments.STARCH -> { + val arrayAdapter = ArrayAdapter(requireActivity(), android.R.layout.simple_spinner_item, requireActivity().resources.getStringArray(R.array.weights_array)) + arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) + unitSpinner.adapter = arrayAdapter + starchEditText = editText + } + Nutriments.VITAMIN_A -> { + val arrayAdapter = ArrayAdapter(requireActivity(), android.R.layout.simple_spinner_item, requireActivity().resources.getStringArray(R.array.weight_all_units)) + arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) + unitSpinner.adapter = arrayAdapter + } } if (preFillValues) { unitSpinner.setSelection(unitSelectedIndex) @@ -892,4 +900,4 @@ class ProductEditNutritionFactsFragment : ProductEditFragment() { private val NUTRIENTS_UNITS = listOf(UNIT_GRAM, UNIT_MILLIGRAM, UNIT_MICROGRAM, UNIT_DV, UNIT_IU) private val SERVING_UNITS = listOf(UNIT_GRAM, UNIT_MILLIGRAM, UNIT_MICROGRAM, UNIT_LITER, UNIT_MILLILITRE) } -} \ No newline at end of file +} diff --git a/app/src/main/res/layout/fragment_add_product_nutrition_facts.xml b/app/src/main/res/layout/fragment_add_product_nutrition_facts.xml index de5bb6d2e09a..838e4921f659 100644 --- a/app/src/main/res/layout/fragment_add_product_nutrition_facts.xml +++ b/app/src/main/res/layout/fragment_add_product_nutrition_facts.xml @@ -843,13 +843,11 @@ app:layout_constraintStart_toStartOf="@+id/spinner_sodium_unit" app:layout_constraintTop_toTopOf="@id/alcohol_til" /> -