From 4d6b551c3eff3286836802b1c84293b53109d36b Mon Sep 17 00:00:00 2001 From: Edouard Marquez Date: Sun, 24 Oct 2021 10:11:27 +0200 Subject: [PATCH 1/3] When the serving size value is incorrect (eg: "serving" with barcode 5900951251849), the app shouldn't crash #4270 --- .../nutrition/ProductEditNutritionFactsFragment.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/edit/nutrition/ProductEditNutritionFactsFragment.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/edit/nutrition/ProductEditNutritionFactsFragment.kt index 5af985ba331c..4172701b97c0 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/edit/nutrition/ProductEditNutritionFactsFragment.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/product/edit/nutrition/ProductEditNutritionFactsFragment.kt @@ -310,13 +310,16 @@ class ProductEditNutritionFactsFragment : ProductEditFragment() { getModifierIndex(nutriments[nutriment]?.modifier) private fun updateServingSize(servingSize: String) { + try { + val (value, unit) = parseServing(servingSize) - val (value, unit) = parseServing(servingSize) - - binding.servingSize.setText(value) + binding.servingSize.setText(value) - if (unit != null) { - binding.servingSize.unitSpinner?.setSelection(getServingUnitIndex(unit)) + if (unit != null) { + binding.servingSize.unitSpinner?.setSelection(getServingUnitIndex(unit)) + } + } catch (exception : IllegalArgumentException) { + binding.servingSize.setText("") } } From 7ab0547d613b961c845f169b8206ab421121c517 Mon Sep 17 00:00:00 2001 From: Edouard Marquez Date: Sun, 24 Oct 2021 13:20:10 +0200 Subject: [PATCH 2/3] FIX: changing the OS locale doesn't change the app locale Issue #4309 --- .../github/scrachx/openfood/utils/LocaleManager.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/utils/LocaleManager.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/utils/LocaleManager.kt index d69951e1cc34..54dd896d5dc6 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/utils/LocaleManager.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/utils/LocaleManager.kt @@ -40,12 +40,14 @@ class LocaleManager @Inject constructor( private var currentLocale: Locale init { - currentLocale = getLanguageFromPrefs()?.let { - LocaleUtils.parseLocale(it) - } ?: Locale.getDefault() + currentLocale = reloadLocale() } + + fun restoreLocalizedContext(context: Context): Context = changeAppLanguage(context, reloadLocale()) - fun restoreLocalizedContext(context: Context) = changeAppLanguage(context, currentLocale) + private fun reloadLocale() = getLanguageFromPrefs()?.let { + LocaleUtils.parseLocale(it) + } ?: Locale.getDefault() /** * Get the language of the app [Locale] (Selected in settings). From 1d3a9cef8f899c66427b34947db330fdd68602af Mon Sep 17 00:00:00 2001 From: codefactor-io Date: Sun, 24 Oct 2021 11:25:20 +0000 Subject: [PATCH 3/3] [CodeFactor] Apply fixes --- .../github/scrachx/openfood/utils/LocaleManager.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/utils/LocaleManager.kt b/app/src/main/java/openfoodfacts/github/scrachx/openfood/utils/LocaleManager.kt index 54dd896d5dc6..d661e7898fa3 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/utils/LocaleManager.kt +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/utils/LocaleManager.kt @@ -42,7 +42,7 @@ class LocaleManager @Inject constructor( init { currentLocale = reloadLocale() } - + fun restoreLocalizedContext(context: Context): Context = changeAppLanguage(context, reloadLocale()) private fun reloadLocale() = getLanguageFromPrefs()?.let {