Loading build.gradle +1 −0 Original line number Diff line number Diff line Loading @@ -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" Loading domain/src/main/java/com/moez/QKSMS/manager/BillingManager.kt +5 −1 Original line number Diff line number Diff line Loading @@ -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) } presentation/build.gradle +2 −2 Original line number Diff line number Diff line Loading @@ -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') Loading presentation/src/main/java/com/moez/QKSMS/common/QKApplication.kt +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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> Loading @@ -85,6 +87,8 @@ class QKApplication : Application(), HasActivityInjector, HasBroadcastReceiverIn GlobalScope.launch(Dispatchers.IO) { referralManager.trackReferrer() billingManager.checkForPurchases() billingManager.queryProducts() } nightModeManager.updateCurrentTheme() Loading presentation/src/main/java/com/moez/QKSMS/feature/plus/PlusActivity.kt +13 −3 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 { Loading Loading @@ -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
build.gradle +1 −0 Original line number Diff line number Diff line Loading @@ -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" Loading
domain/src/main/java/com/moez/QKSMS/manager/BillingManager.kt +5 −1 Original line number Diff line number Diff line Loading @@ -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) }
presentation/build.gradle +2 −2 Original line number Diff line number Diff line Loading @@ -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') Loading
presentation/src/main/java/com/moez/QKSMS/common/QKApplication.kt +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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> Loading @@ -85,6 +87,8 @@ class QKApplication : Application(), HasActivityInjector, HasBroadcastReceiverIn GlobalScope.launch(Dispatchers.IO) { referralManager.trackReferrer() billingManager.checkForPurchases() billingManager.queryProducts() } nightModeManager.updateCurrentTheme() Loading
presentation/src/main/java/com/moez/QKSMS/feature/plus/PlusActivity.kt +13 −3 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 { Loading Loading @@ -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