From 28ab37dd88d596da584b23d87e5289f7e0842621 Mon Sep 17 00:00:00 2001 From: Laurent Date: Wed, 4 Dec 2019 15:30:41 +0100 Subject: [PATCH] Fixes parsing crash --- .../android/ui/fragment/SubscriptionFragment.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SubscriptionFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SubscriptionFragment.kt index a2809b1e..015819f2 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SubscriptionFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SubscriptionFragment.kt @@ -25,6 +25,7 @@ import com.android.billingclient.api.BillingClient import com.android.billingclient.api.Purchase import com.android.billingclient.api.SkuDetails import com.android.billingclient.api.SkuDetailsResponseListener +import com.crashlytics.android.Crashlytics import kotlinx.android.synthetic.main.fragment_subscription.* import net.pokeranalytics.android.R import net.pokeranalytics.android.exceptions.PAIllegalStateException @@ -37,6 +38,7 @@ import net.pokeranalytics.android.util.billing.IAPProducts import net.pokeranalytics.android.util.billing.PurchaseDelegate import java.lang.ref.WeakReference import java.time.Period +import java.time.format.DateTimeParseException class SubscriptionFragment : BaseFragment(), SkuDetailsResponseListener, PurchaseDelegate, ViewPager.OnPageChangeListener { @@ -200,8 +202,12 @@ class SubscriptionFragment : BaseFragment(), SkuDetailsResponseListener, Purchas var freeTrialDays = 30 // initial, should be more, no less if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { - val p = Period.parse(it.freeTrialPeriod) - freeTrialDays = p.days + try { + val p = Period.parse(it.freeTrialPeriod) + freeTrialDays = p.days + } catch (e: DateTimeParseException) { + Crashlytics.log("Error parsing period with value: ${it.freeTrialPeriod}") + } } val formattedFreeTrial = "$freeTrialDays " + requireContext().getString(R.string.days) + " " + requireContext().getString(R.string.free_trial)