|
|
|
|
@ -1,10 +1,6 @@ |
|
|
|
|
package net.pokeranalytics.android.ui.fragment |
|
|
|
|
|
|
|
|
|
import android.content.Context |
|
|
|
|
import android.graphics.drawable.GradientDrawable |
|
|
|
|
import android.net.ConnectivityManager |
|
|
|
|
import android.net.NetworkCapabilities |
|
|
|
|
import android.net.NetworkInfo |
|
|
|
|
import android.os.Build |
|
|
|
|
import android.os.Bundle |
|
|
|
|
import android.text.SpannableStringBuilder |
|
|
|
|
@ -34,6 +30,7 @@ import net.pokeranalytics.android.util.Preferences |
|
|
|
|
import net.pokeranalytics.android.util.billing.AppGuard |
|
|
|
|
import net.pokeranalytics.android.util.billing.IAPProducts |
|
|
|
|
import net.pokeranalytics.android.util.billing.PurchaseListener |
|
|
|
|
import timber.log.Timber |
|
|
|
|
import java.lang.ref.WeakReference |
|
|
|
|
import java.time.Period |
|
|
|
|
import java.time.format.DateTimeParseException |
|
|
|
|
@ -72,23 +69,17 @@ class SubscriptionFragment : BaseFragment(), SkuDetailsResponseListener, Purchas |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) { |
|
|
|
|
super.onCreate(savedInstanceState) |
|
|
|
|
|
|
|
|
|
val cm = requireContext().getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager |
|
|
|
|
// val activeNetwork = cm.activeNetworkInfo |
|
|
|
|
// val isConnected = activeNetwork?.isConnected == true |
|
|
|
|
|
|
|
|
|
val capability = cm.getNetworkCapabilities(cm.activeNetwork) |
|
|
|
|
val isConnected = capability?.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) ?: false |
|
|
|
|
AppGuard.registerListener(this) |
|
|
|
|
|
|
|
|
|
if (!isConnected) { |
|
|
|
|
if (!isNetworkAvailable()) { |
|
|
|
|
Toast.makeText(requireContext(), R.string.connection_unavailable, Toast.LENGTH_LONG).show() |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
AppGuard.registerListener(this) |
|
|
|
|
|
|
|
|
|
this.showLoader(R.string.loading_please_wait) |
|
|
|
|
if (!AppGuard.requestProducts(this)) { |
|
|
|
|
this.hideLoader() |
|
|
|
|
@ -157,9 +148,17 @@ class SubscriptionFragment : BaseFragment(), SkuDetailsResponseListener, Purchas |
|
|
|
|
pager.adapter = pagerAdapter |
|
|
|
|
pager.addOnPageChangeListener(this) |
|
|
|
|
|
|
|
|
|
purchase.isEnabled = false |
|
|
|
|
purchase.isEnabled = true |
|
|
|
|
purchase.setOnClickListener { |
|
|
|
|
|
|
|
|
|
val network = isNetworkAvailable() |
|
|
|
|
Timber.d("isNetworkAvailable = $network ") |
|
|
|
|
|
|
|
|
|
if (!isNetworkAvailable()) { |
|
|
|
|
Toast.makeText(requireContext(), R.string.connection_unavailable, Toast.LENGTH_LONG).show() |
|
|
|
|
return@setOnClickListener |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
this.selectedProduct?.let { |
|
|
|
|
AppGuard.initiatePurchase(this.requireActivity(), it) |
|
|
|
|
} ?: run { |
|
|
|
|
@ -231,7 +230,6 @@ class SubscriptionFragment : BaseFragment(), SkuDetailsResponseListener, Purchas |
|
|
|
|
|
|
|
|
|
private fun updateUI() { |
|
|
|
|
this.selectedProduct?.let { |
|
|
|
|
binding.purchase.isEnabled = true |
|
|
|
|
val perYearString = requireContext().getString(R.string.year_subscription) |
|
|
|
|
val formattedPrice = it.price + " / " + perYearString |
|
|
|
|
binding.price.text = formattedPrice |
|
|
|
|
|