diff --git a/sample/src/main/java/io/qonversion/sample/EntitlementsFragment.kt b/sample/src/main/java/io/qonversion/sample/EntitlementsFragment.kt index 6f727db4..24321123 100644 --- a/sample/src/main/java/io/qonversion/sample/EntitlementsFragment.kt +++ b/sample/src/main/java/io/qonversion/sample/EntitlementsFragment.kt @@ -8,9 +8,10 @@ import android.widget.Toast import androidx.fragment.app.Fragment import androidx.recyclerview.widget.LinearLayoutManager import com.qonversion.android.sdk.Qonversion +import com.qonversion.android.sdk.dto.QPurchaseResult import com.qonversion.android.sdk.dto.QonversionError import com.qonversion.android.sdk.dto.entitlements.QEntitlement -import com.qonversion.android.sdk.listeners.QEntitlementsUpdateListener +import com.qonversion.android.sdk.listeners.QDeferredPurchasesListener import com.qonversion.android.sdk.listeners.QonversionEntitlementsCallback import io.qonversion.sample.databinding.FragmentEntitlementsBinding @@ -47,7 +48,7 @@ class EntitlementsFragment : Fragment() { } binding.buttonSetListener.setOnClickListener { - setEntitlementsListener() + setDeferredPurchasesListener() } binding.buttonRestore.setOnClickListener { @@ -83,19 +84,25 @@ class EntitlementsFragment : Fragment() { }) } - private fun setEntitlementsListener() { - Qonversion.shared.setEntitlementsUpdateListener(object : QEntitlementsUpdateListener { - override fun onEntitlementsUpdated(entitlements: Map) { + private fun setDeferredPurchasesListener() { + Qonversion.shared.setDeferredPurchasesListener(object : QDeferredPurchasesListener { + override fun deferredPurchaseCompleted(purchaseResult: QPurchaseResult) { _binding?.let { - displayEntitlements(entitlements) + displayEntitlements(purchaseResult.entitlements) + } + val messageRes = when { + purchaseResult.isSuccessful -> R.string.deferred_purchase_completed + purchaseResult.isPending -> R.string.purchase_pending + purchaseResult.isCanceledByUser -> R.string.purchase_canceled + else -> R.string.purchase_failed } - Toast.makeText(context, getString(R.string.entitlements_updated_via_listener), Toast.LENGTH_SHORT).show() + Toast.makeText(context, getString(messageRes), Toast.LENGTH_SHORT).show() } }) isListenerSet = true binding.buttonSetListener.text = getString(R.string.listener_set) binding.buttonSetListener.isEnabled = false - Toast.makeText(context, getString(R.string.entitlements_listener_set), Toast.LENGTH_SHORT).show() + Toast.makeText(context, getString(R.string.deferred_purchases_listener_set), Toast.LENGTH_SHORT).show() } private fun restore() { diff --git a/sample/src/main/res/values/strings.xml b/sample/src/main/res/values/strings.xml index 34ba971f..61bc8e26 100644 --- a/sample/src/main/res/values/strings.xml +++ b/sample/src/main/res/values/strings.xml @@ -60,7 +60,7 @@ Load Entitlements - Set Entitlements Update Listener + Set Deferred Purchases Listener Listener Set ✓ Restore Sync Purchases @@ -68,8 +68,8 @@ Tap the button above to load your entitlements No entitlements found Error loading entitlements - Entitlements update listener set - Entitlements updated via listener + Deferred purchases listener set + Deferred purchase completed Purchases restored successfully Purchases synced Active