@@ -9,11 +9,14 @@ import ir.cafebazaar.poolakey.billing.connection.ServiceBillingConnection
99import ir.cafebazaar.poolakey.billing.query.QueryFunction
1010import ir.cafebazaar.poolakey.billing.skudetail.GetSkuDetailFunction
1111import ir.cafebazaar.poolakey.billing.skudetail.SkuDetailFunctionRequest
12+ import ir.cafebazaar.poolakey.billing.trialsubscription.CheckTrialSubscriptionFunction
13+ import ir.cafebazaar.poolakey.billing.trialsubscription.CheckTrialSubscriptionFunctionRequest
1214import ir.cafebazaar.poolakey.callback.ConnectionCallback
1315import ir.cafebazaar.poolakey.callback.ConsumeCallback
1416import ir.cafebazaar.poolakey.callback.GetSkuDetailsCallback
1517import ir.cafebazaar.poolakey.callback.PurchaseIntentCallback
1618import ir.cafebazaar.poolakey.callback.PurchaseQueryCallback
19+ import ir.cafebazaar.poolakey.callback.CheckTrialSubscriptionCallback
1720import ir.cafebazaar.poolakey.config.PaymentConfiguration
1821import ir.cafebazaar.poolakey.request.PurchaseRequest
1922import ir.cafebazaar.poolakey.thread.PoolakeyThread
@@ -24,6 +27,7 @@ internal class BillingConnection(
2427 private val backgroundThread : PoolakeyThread <Runnable >,
2528 private val queryFunction : QueryFunction ,
2629 private val skuDetailFunction : GetSkuDetailFunction ,
30+ private val checkTrialSubscriptionFunction : CheckTrialSubscriptionFunction ,
2731 private val mainThread : PoolakeyThread <() -> Unit >
2832) {
2933
@@ -41,6 +45,7 @@ internal class BillingConnection(
4145 paymentConfiguration,
4246 queryFunction,
4347 skuDetailFunction,
48+ checkTrialSubscriptionFunction,
4449 ::disconnect
4550 )
4651
@@ -133,6 +138,17 @@ internal class BillingConnection(
133138 }
134139 }
135140
141+ fun checkTrialSubscription (
142+ callback : CheckTrialSubscriptionCallback .() -> Unit
143+ ) {
144+ runOnCommunicator(TAG_CHECK_TRIAL_SUBSCRIPTION ) {
145+ requireNotNull(billingCommunicator).checkTrialSubscription(
146+ CheckTrialSubscriptionFunctionRequest (callback),
147+ callback
148+ )
149+ }
150+ }
151+
136152 private fun stopConnection () {
137153 runOnCommunicator(TAG_STOP_CONNECTION ) {
138154 requireNotNull(billingCommunicator).stopConnection()
@@ -165,10 +181,12 @@ internal class BillingConnection(
165181 }
166182
167183 companion object {
184+
168185 private const val TAG_STOP_CONNECTION = " stopConnection"
169186 private const val TAG_QUERY_PURCHASE_PRODUCT = " queryPurchasedProducts"
170187 private const val TAG_CONSUME = " consume"
171188 private const val TAG_PURCHASE = " purchase"
172189 private const val TAG_GET_SKU_DETAIL = " skuDetial"
190+ private const val TAG_CHECK_TRIAL_SUBSCRIPTION = " checkTrialSubscription"
173191 }
174192}
0 commit comments