From b7a4b313b63a6c90af3773444f7954d00c4a7ae6 Mon Sep 17 00:00:00 2001 From: Laurent Date: Thu, 19 Dec 2019 15:05:53 +0100 Subject: [PATCH] Refactoring: use arguments + bundle to pass data to the fragment --- .../android/ui/activity/BillingActivity.kt | 7 ++----- .../ui/fragment/SubscriptionFragment.kt | 18 +++++++++++++----- .../ui/fragment/components/BaseFragment.kt | 3 ++- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/activity/BillingActivity.kt b/app/src/main/java/net/pokeranalytics/android/ui/activity/BillingActivity.kt index 00764bf4..d48a9e48 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/activity/BillingActivity.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/activity/BillingActivity.kt @@ -38,15 +38,12 @@ class BillingActivity : BaseActivity() { private fun initUI() { - val fragmentManager = supportFragmentManager - val fragmentTransaction = fragmentManager.beginTransaction() - val fragment = SubscriptionFragment() - val showSessionMessage = intent.getBooleanExtra(IntentKey.SHOW_MESSAGE.keyName, false) + val fragment = SubscriptionFragment.newInstance(showSessionMessage) + val fragmentTransaction = supportFragmentManager.beginTransaction() fragmentTransaction.add(R.id.container, fragment) fragmentTransaction.commit() - fragment.setData(showSessionMessage) } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SubscriptionFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SubscriptionFragment.kt index 015819f2..381888c4 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SubscriptionFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SubscriptionFragment.kt @@ -44,6 +44,14 @@ class SubscriptionFragment : BaseFragment(), SkuDetailsResponseListener, Purchas companion object { val parallax: Float = 64f.px + + fun newInstance(showSessionMessage: Boolean) : SubscriptionFragment { + val fragment = SubscriptionFragment() + val bundle = Bundle() + bundle.putBoolean(BundleKey.SHOW_MESSAGE.value, showSessionMessage) + fragment.arguments = bundle + return fragment + } } private var pagerAdapter: ScreenSlidePagerAdapter? = null @@ -71,20 +79,20 @@ class SubscriptionFragment : BaseFragment(), SkuDetailsResponseListener, Purchas } } - fun setData(showSessionMessage: Boolean) { - this.showSessionMessage = showSessionMessage - } - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { return inflater.inflate(R.layout.fragment_subscription, container, false) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - + initData() initUI() } + private fun initData() { + this.showSessionMessage = arguments?.getBoolean(BundleKey.SHOW_MESSAGE.value) ?: false + } + private fun initUI() { val upgradeString = requireContext().getString(R.string.pro_upgrade) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BaseFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BaseFragment.kt index 238ec2ab..bc57f0d1 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BaseFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BaseFragment.kt @@ -17,7 +17,8 @@ abstract class BaseFragment : Fragment() { enum class BundleKey(val value: String) { STYLE("style"), PRIMARY_KEY("primary_key"), - DATA_TYPE("data_type") + DATA_TYPE("data_type"), + SHOW_MESSAGE("show_message") } override fun onCreate(savedInstanceState: Bundle?) {