diff --git a/superwall/src/main/java/com/superwall/sdk/models/product/StripeProductType.kt b/superwall/src/main/java/com/superwall/sdk/models/product/StripeProductType.kt index 65598f08..549fc48a 100644 --- a/superwall/src/main/java/com/superwall/sdk/models/product/StripeProductType.kt +++ b/superwall/src/main/java/com/superwall/sdk/models/product/StripeProductType.kt @@ -3,6 +3,8 @@ package com.superwall.sdk.models.product import com.superwall.sdk.models.serialization.BigDecimalSerializer import com.superwall.sdk.store.abstractions.product.StoreProductType import com.superwall.sdk.store.abstractions.product.SubscriptionPeriod +import com.superwall.sdk.utilities.DateUtils +import com.superwall.sdk.utilities.localizedDateFormat import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import java.math.BigDecimal @@ -221,7 +223,7 @@ data class StripeProductType( } override val trialPeriodEndDateString: String - get() = trialPeriodEndDate?.toString() ?: "" + get() = trialPeriodEndDate?.let { localizedDateFormat(DateUtils.MMM_dd_yyyy).format(it) } ?: "" override val trialPeriodDays: Int get() = diff --git a/superwall/src/main/java/com/superwall/sdk/store/abstractions/product/RawStoreProduct.kt b/superwall/src/main/java/com/superwall/sdk/store/abstractions/product/RawStoreProduct.kt index 87768056..30d1be68 100644 --- a/superwall/src/main/java/com/superwall/sdk/store/abstractions/product/RawStoreProduct.kt +++ b/superwall/src/main/java/com/superwall/sdk/store/abstractions/product/RawStoreProduct.kt @@ -6,7 +6,7 @@ import com.android.billingclient.api.ProductDetails.SubscriptionOfferDetails import com.superwall.sdk.billing.DecomposedProductIds import com.superwall.sdk.contrib.threeteen.AmountFormats import com.superwall.sdk.utilities.DateUtils -import com.superwall.sdk.utilities.dateFormat +import com.superwall.sdk.utilities.localizedDateFormat import kotlinx.serialization.Transient import org.threeten.bp.Period import java.math.BigDecimal @@ -488,7 +488,7 @@ class RawStoreProduct( override val trialPeriodEndDateString by lazy { trialPeriodEndDate?.let { - val dateFormatter = dateFormat(DateUtils.MMM_dd_yyyy) + val dateFormatter = localizedDateFormat(DateUtils.MMM_dd_yyyy) dateFormatter.format(it) } ?: "" } diff --git a/superwall/src/main/java/com/superwall/sdk/utilities/DateUtils.kt b/superwall/src/main/java/com/superwall/sdk/utilities/DateUtils.kt index 5b5ae62a..5da89306 100644 --- a/superwall/src/main/java/com/superwall/sdk/utilities/DateUtils.kt +++ b/superwall/src/main/java/com/superwall/sdk/utilities/DateUtils.kt @@ -15,4 +15,6 @@ internal object DateUtils { internal fun dateFormat(format: String = DateUtils.ISO_MILLIS) = SimpleDateFormat(format, Locale.US) +internal fun localizedDateFormat(format: String = DateUtils.MMM_dd_yyyy) = SimpleDateFormat(format, Locale.getDefault()) + internal val DateFormatterUtil = dateFormat() diff --git a/superwall/src/test/java/com/superwall/sdk/products/ProductFetcherTest.kt b/superwall/src/test/java/com/superwall/sdk/products/ProductFetcherTest.kt index d468703c..5f995814 100644 --- a/superwall/src/test/java/com/superwall/sdk/products/ProductFetcherTest.kt +++ b/superwall/src/test/java/com/superwall/sdk/products/ProductFetcherTest.kt @@ -347,7 +347,7 @@ class ProductFetcherInstrumentedTest { val currentDate = LocalDate.now() val dateIn30Days = currentDate.plusMonths(1) - val dateFormatter = DateTimeFormatter.ofPattern(DateUtils.MMM_dd_yyyy, Locale.US) + val dateFormatter = DateTimeFormatter.ofPattern(DateUtils.MMM_dd_yyyy, Locale.getDefault()) val formattedDate = dateIn30Days.format(dateFormatter) println("Comparing -${storeProduct.trialPeriodEndDateString}- with -$formattedDate-") assertEquals(formattedDate, storeProduct.trialPeriodEndDateString) @@ -398,7 +398,7 @@ class ProductFetcherInstrumentedTest { val currentDate = LocalDate.now() val dateIn30Days = currentDate.plusMonths(1) - val dateFormatter = DateTimeFormatter.ofPattern(DateUtils.MMM_dd_yyyy, Locale.US) + val dateFormatter = DateTimeFormatter.ofPattern(DateUtils.MMM_dd_yyyy, Locale.getDefault()) val formattedDate = dateIn30Days.format(dateFormatter) assertEquals(formattedDate, storeProduct.trialPeriodEndDateString) } @@ -448,7 +448,7 @@ class ProductFetcherInstrumentedTest { val currentDate = LocalDate.now() val dateIn30Days = currentDate.plusMonths(1) - val dateFormatter = DateTimeFormatter.ofPattern(DateUtils.MMM_dd_yyyy, Locale.US) + val dateFormatter = DateTimeFormatter.ofPattern(DateUtils.MMM_dd_yyyy, Locale.getDefault()) val formattedDate = dateIn30Days.format(dateFormatter) assertEquals(formattedDate, storeProduct.trialPeriodEndDateString) } @@ -500,7 +500,7 @@ class ProductFetcherInstrumentedTest { val currentDate = LocalDate.now() val dateIn30Days = currentDate.plusMonths(1) - val dateFormatter = DateTimeFormatter.ofPattern(DateUtils.MMM_dd_yyyy, Locale.US) + val dateFormatter = DateTimeFormatter.ofPattern(DateUtils.MMM_dd_yyyy, Locale.getDefault()) val formattedDate = dateIn30Days.format(dateFormatter) assertEquals(formattedDate, storeProduct.trialPeriodEndDateString) } @@ -553,7 +553,7 @@ class ProductFetcherInstrumentedTest { val currentDate = LocalDate.now() val dateIn30Days = currentDate.plusMonths(1) - val dateFormatter = DateTimeFormatter.ofPattern(DateUtils.MMM_dd_yyyy, Locale.US) + val dateFormatter = DateTimeFormatter.ofPattern(DateUtils.MMM_dd_yyyy, Locale.getDefault()) val formattedDate = dateIn30Days.format(dateFormatter) assertEquals(formattedDate, storeProduct.trialPeriodEndDateString) }