From 74c3a24f8bb8ee929592e75ef506ba2165ecdfd1 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Mon, 26 Sep 2022 18:40:30 +0530 Subject: [PATCH 1/4] issue_674: fix ratings from different locales. --- .../foundation/e/apps/api/fused/FusedAPIImpl.kt | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt index 5f6d9c092..84fdadb24 100644 --- a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt +++ b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt @@ -1349,8 +1349,19 @@ class FusedAPIImpl @Inject constructor( other_images_path = this.screenshots.transformToList(), package_name = this.packageName, ratings = Ratings( - usageQualityScore = if (this.labeledRating.isNotEmpty()) this.labeledRating.toDoubleOrNull() - ?: -1.0 else -1.0 + usageQualityScore = + this.labeledRating.run { + if (isNotEmpty()) { + /* + * Issue: https://gitlab.e.foundation/e/os/backlog/-/issues/674 + * + * https://stackoverflow.com/questions/70580954/parse-a-number-with-commas-in-kotlin + * There is no universal way to convert numbers of different locales to English. + * We can just replace "," with "." + */ + replace(",", ".").toDoubleOrNull() ?: -1.0 + } else -1.0 + } ), offer_type = this.offerType, origin = Origin.GPLAY, -- GitLab From 4e521ff8b440ed5168c865df59d296c914d212ca Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Mon, 26 Sep 2022 19:39:25 +0530 Subject: [PATCH 2/4] issue_674: remove comments --- .../main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt | 7 ------- 1 file changed, 7 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt index 84fdadb24..a981dc051 100644 --- a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt +++ b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt @@ -1352,13 +1352,6 @@ class FusedAPIImpl @Inject constructor( usageQualityScore = this.labeledRating.run { if (isNotEmpty()) { - /* - * Issue: https://gitlab.e.foundation/e/os/backlog/-/issues/674 - * - * https://stackoverflow.com/questions/70580954/parse-a-number-with-commas-in-kotlin - * There is no universal way to convert numbers of different locales to English. - * We can just replace "," with "." - */ replace(",", ".").toDoubleOrNull() ?: -1.0 } else -1.0 } -- GitLab From 082a3230804329b9898c4efe7a252ac66552030b Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Tue, 27 Sep 2022 12:16:53 +0530 Subject: [PATCH 3/4] issue_674: use NumberFormat with current system locale --- app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt index a981dc051..c0c553a7f 100644 --- a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt +++ b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt @@ -63,6 +63,7 @@ import foundation.e.apps.utils.modules.PreferenceManagerModule import kotlinx.coroutines.TimeoutCancellationException import kotlinx.coroutines.withTimeout import timber.log.Timber +import java.text.NumberFormat import javax.inject.Inject import javax.inject.Singleton @@ -1352,7 +1353,8 @@ class FusedAPIImpl @Inject constructor( usageQualityScore = this.labeledRating.run { if (isNotEmpty()) { - replace(",", ".").toDoubleOrNull() ?: -1.0 + val locale = context.resources.configuration.locales[0] + NumberFormat.getInstance(locale).parse(this)?.toDouble() ?: -1.0 } else -1.0 } ), -- GitLab From ba58a044b510b8b9322eeb91775b6b63b3a8283d Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Tue, 27 Sep 2022 12:32:24 +0530 Subject: [PATCH 4/4] issue_674: remove system locale --- app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt index c0c553a7f..3908f7bc7 100644 --- a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt +++ b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt @@ -1353,8 +1353,7 @@ class FusedAPIImpl @Inject constructor( usageQualityScore = this.labeledRating.run { if (isNotEmpty()) { - val locale = context.resources.configuration.locales[0] - NumberFormat.getInstance(locale).parse(this)?.toDouble() ?: -1.0 + NumberFormat.getInstance().parse(this)?.toDouble() ?: -1.0 } else -1.0 } ), -- GitLab