Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3d84ccce authored by Moez Bhatti's avatar Moez Bhatti
Browse files

Update to billing client v3

parent ca1e7b7c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ buildscript {
    ext.androidx_testrunner_version = '1.1.0-alpha3'
    ext.androidx_viewpager_version = '1.0.0-beta05'
    ext.autodispose_version = '1.3.0'
    ext.billing_version = '3.0.2'
    ext.conductor_version = '2.1.5'
    ext.coroutines_version = '1.2.2'
    ext.dagger_version = "2.16"
+5 −1
Original line number Diff line number Diff line
@@ -38,6 +38,10 @@ interface BillingManager {
    val products: Observable<List<Product>>
    val upgradeStatus: Observable<Boolean>

    fun initiatePurchaseFlow(activity: Activity, sku: String)
    suspend fun checkForPurchases()

    suspend fun queryProducts()

    suspend fun initiatePurchaseFlow(activity: Activity, sku: String)

}
+2 −2
Original line number Diff line number Diff line
@@ -187,8 +187,8 @@ dependencies {
    implementation project(':domain')

    withAnalyticsImplementation 'com.google.firebase:firebase-crashlytics:17.3.0'
    withAnalyticsImplementation "com.android.billingclient:billing:1.0"

    withAnalyticsImplementation "com.android.billingclient:billing:$billing_version"
    withAnalyticsImplementation "com.android.billingclient:billing-ktx:$billing_version"
    noAnalyticsDebug project(path: ':data', configuration: 'noAnalyticsDebug')
    noAnalyticsRelease project(path: ':data', configuration: 'noAnalyticsRelease')
    withAnalyticsDebug project(path: ':data', configuration: 'withAnalyticsDebug')
+4 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import com.moez.QKSMS.common.util.FileLoggingTree
import com.moez.QKSMS.injection.AppComponentManager
import com.moez.QKSMS.injection.appComponent
import com.moez.QKSMS.manager.AnalyticsManager
import com.moez.QKSMS.manager.BillingManager
import com.moez.QKSMS.manager.ReferralManager
import com.moez.QKSMS.migration.QkMigration
import com.moez.QKSMS.migration.QkRealmMigration
@@ -60,6 +61,7 @@ class QKApplication : Application(), HasActivityInjector, HasBroadcastReceiverIn
    @Suppress("unused")
    @Inject lateinit var qkMigration: QkMigration

    @Inject lateinit var billingManager: BillingManager
    @Inject lateinit var dispatchingActivityInjector: DispatchingAndroidInjector<Activity>
    @Inject lateinit var dispatchingBroadcastReceiverInjector: DispatchingAndroidInjector<BroadcastReceiver>
    @Inject lateinit var dispatchingServiceInjector: DispatchingAndroidInjector<Service>
@@ -85,6 +87,8 @@ class QKApplication : Application(), HasActivityInjector, HasBroadcastReceiverIn

        GlobalScope.launch(Dispatchers.IO) {
            referralManager.trackReferrer()
            billingManager.checkForPurchases()
            billingManager.queryProducts()
        }

        nightModeManager.updateCurrentTheme()
+13 −3
Original line number Diff line number Diff line
@@ -24,11 +24,11 @@ import androidx.core.view.children
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.ViewModelProviders
import com.jakewharton.rxbinding2.view.clicks
import com.jakewharton.rxbinding2.view.enabled
import com.moez.QKSMS.BuildConfig
import com.moez.QKSMS.R
import com.moez.QKSMS.common.base.QkThemedActivity
import com.moez.QKSMS.common.util.FontProvider
import com.moez.QKSMS.common.util.extensions.makeToast
import com.moez.QKSMS.common.util.extensions.resolveThemeColor
import com.moez.QKSMS.common.util.extensions.setBackgroundTint
import com.moez.QKSMS.common.util.extensions.setTint
@@ -37,10 +37,13 @@ import com.moez.QKSMS.common.widget.PreferenceView
import com.moez.QKSMS.feature.plus.experiment.UpgradeButtonExperiment
import com.moez.QKSMS.manager.BillingManager
import dagger.android.AndroidInjection
import io.reactivex.Observable
import kotlinx.android.synthetic.main.collapsing_toolbar.*
import kotlinx.android.synthetic.main.preference_view.view.*
import kotlinx.android.synthetic.main.qksms_plus_activity.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import timber.log.Timber
import javax.inject.Inject

class PlusActivity : QkThemedActivity(), PlusView {
@@ -113,7 +116,14 @@ class PlusActivity : QkThemedActivity(), PlusView {
    }

    override fun initiatePurchaseFlow(billingManager: BillingManager, sku: String) {
        billingManager.initiatePurchaseFlow(this, sku)
        GlobalScope.launch(Dispatchers.Main) {
            try {
                billingManager.initiatePurchaseFlow(this@PlusActivity, sku)
            } catch (e: Exception) {
                Timber.w(e)
                makeToast(R.string.qksms_plus_error)
            }
        }
    }

}
 No newline at end of file
Loading