Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 15 additions & 8 deletions sample/src/main/java/io/qonversion/sample/EntitlementsFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -47,7 +48,7 @@ class EntitlementsFragment : Fragment() {
}

binding.buttonSetListener.setOnClickListener {
setEntitlementsListener()
setDeferredPurchasesListener()
}

binding.buttonRestore.setOnClickListener {
Expand Down Expand Up @@ -83,19 +84,25 @@ class EntitlementsFragment : Fragment() {
})
}

private fun setEntitlementsListener() {
Qonversion.shared.setEntitlementsUpdateListener(object : QEntitlementsUpdateListener {
override fun onEntitlementsUpdated(entitlements: Map<String, QEntitlement>) {
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() {
Expand Down
6 changes: 3 additions & 3 deletions sample/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,16 @@

<!-- Entitlements -->
<string name="load_entitlements">Load Entitlements</string>
<string name="set_entitlements_listener">Set Entitlements Update Listener</string>
<string name="set_entitlements_listener">Set Deferred Purchases Listener</string>
<string name="listener_set">Listener Set ✓</string>
<string name="restore">Restore</string>
<string name="sync_purchases">Sync Purchases</string>
<string name="no_entitlements_loaded">No Entitlements Loaded</string>
<string name="tap_button_to_load_entitlements">Tap the button above to load your entitlements</string>
<string name="no_entitlements_found">No entitlements found</string>
<string name="error_loading_entitlements">Error loading entitlements</string>
<string name="entitlements_listener_set">Entitlements update listener set</string>
<string name="entitlements_updated_via_listener">Entitlements updated via listener</string>
<string name="deferred_purchases_listener_set">Deferred purchases listener set</string>
<string name="deferred_purchase_completed">Deferred purchase completed</string>
<string name="purchases_restored">Purchases restored successfully</string>
<string name="purchases_synced">Purchases synced</string>
<string name="active">Active</string>
Expand Down
Loading