From f690a7108a1b9e92fe90bc1342183ee40e951244 Mon Sep 17 00:00:00 2001 From: Laurent Date: Wed, 14 Sep 2022 14:16:16 +0200 Subject: [PATCH] Fixes subscription not refreshed in settings when ending --- .../android/ui/adapter/HomePagerAdapter.kt | 17 ++++-- .../android/ui/fragment/SettingsFragment.kt | 57 ++++++++++--------- .../android/util/billing/AppGuard.kt | 22 +------ 3 files changed, 44 insertions(+), 52 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/adapter/HomePagerAdapter.kt b/app/src/main/java/net/pokeranalytics/android/ui/adapter/HomePagerAdapter.kt index d8f6d311..714900c0 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/adapter/HomePagerAdapter.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/adapter/HomePagerAdapter.kt @@ -5,11 +5,11 @@ import android.view.ViewGroup import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentStatePagerAdapter import net.pokeranalytics.android.exceptions.PAIllegalStateException -import net.pokeranalytics.android.ui.modules.calendar.CalendarFragment import net.pokeranalytics.android.ui.fragment.ReportsFragment import net.pokeranalytics.android.ui.fragment.SettingsFragment import net.pokeranalytics.android.ui.fragment.StatisticsFragment import net.pokeranalytics.android.ui.fragment.components.BaseFragment +import net.pokeranalytics.android.ui.modules.calendar.CalendarFragment import net.pokeranalytics.android.ui.modules.feed.FeedFragment import java.lang.ref.WeakReference @@ -59,10 +59,19 @@ class HomePagerAdapter(fragmentManager: FragmentManager) : } fun activityResumed() { - val ref = this.weakReferences.get(0) - ref?.get()?.let { - (it as FeedFragment).activityResumed() + + if (this.weakReferences.size() >= 4) { + + val ref = this.weakReferences.get(0) + ref?.get()?.let { + (it as FeedFragment).activityResumed() + } + + this.weakReferences.get(4)?.get()?.let { + (it as SettingsFragment).activityResumed() + } } + } } \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt index 19bdad1d..dab20fef 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt @@ -23,7 +23,10 @@ import net.pokeranalytics.android.model.LiveData import net.pokeranalytics.android.model.realm.Currency import net.pokeranalytics.android.model.realm.Session import net.pokeranalytics.android.model.realm.Transaction -import net.pokeranalytics.android.ui.activity.* +import net.pokeranalytics.android.ui.activity.BillingActivity +import net.pokeranalytics.android.ui.activity.CurrenciesActivity +import net.pokeranalytics.android.ui.activity.GDPRActivity +import net.pokeranalytics.android.ui.activity.Top10Activity import net.pokeranalytics.android.ui.activity.components.RequestCode import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate @@ -105,6 +108,32 @@ class SettingsFragment : RealmFragment(), RowRepresentableDelegate, StaticRowRep initUI() } + /** + * Init UI + */ + private fun initUI() { + + val viewManager = LinearLayoutManager(requireContext()) + settingsAdapterRow = RowRepresentableAdapter(this, this) + + binding.recyclerView.apply { + setHasFixedSize(true) + layoutManager = viewManager + adapter = settingsAdapterRow + } + } + + /** + * Init data + */ + private fun initData() { + + } + + fun activityResumed() { + this.settingsAdapterRow.notifyDataSetChanged() // refreshes session durations + } + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { when (requestCode) { @@ -235,32 +264,6 @@ class SettingsFragment : RealmFragment(), RowRepresentableDelegate, StaticRowRep } } - /** - * Init UI - */ - private fun initUI() { - -// setToolbarTitle(getString(R.string.more)) - -// setDisplayHomeAsUpEnabled(true) - - val viewManager = LinearLayoutManager(requireContext()) - settingsAdapterRow = RowRepresentableAdapter(this, this) - - binding.recyclerView.apply { - setHasFixedSize(true) - layoutManager = viewManager - adapter = settingsAdapterRow - } - } - - /** - * Init data - */ - private fun initData() { - - } - /** * Open GDPR Activity */ diff --git a/app/src/main/java/net/pokeranalytics/android/util/billing/AppGuard.kt b/app/src/main/java/net/pokeranalytics/android/util/billing/AppGuard.kt index 6b331807..9c000bf2 100644 --- a/app/src/main/java/net/pokeranalytics/android/util/billing/AppGuard.kt +++ b/app/src/main/java/net/pokeranalytics/android/util/billing/AppGuard.kt @@ -64,7 +64,7 @@ object AppGuard : PurchasesUpdatedListener { if (this.endOfUse != null) return true return if (BuildConfig.DEBUG) { - this._isProUser //true //false //true + true //false //true } else { this._isProUser } @@ -125,22 +125,6 @@ object AppGuard : PurchasesUpdatedListener { } }) -// billingClient.startConnection(object : BillingClientStateListener { -// override fun onBillingSetupFinished(@BillingClient.BillingResponse billingResponseCode: Int) { -// -// this@AppGuard.billingResponseCode = billingResponseCode -// if (billingResponseCode == BillingClient.BillingResponse.OK) { -// // The BillingClient is ready. You can query purchases here. -// billingClientAvailable = true -// executeOnSuccess.run() -// } -// } -// -// override fun onBillingServiceDisconnected() { -// billingClientAvailable = false -// } -// }) - } private fun executeServiceRequest(runnable: Runnable) { @@ -175,10 +159,6 @@ object AppGuard : PurchasesUpdatedListener { } } -// purchasesResult.purchasesList?.forEach { -// this.handlePurchase(it) -// } - } /**