update fragments to viewBinding

kmm
Razmig Sarkissian 5 years ago
parent 47635c2ee7
commit caa64c3e8e
  1. 3
      app/src/main/java/net/pokeranalytics/android/ui/fragment/ComparisonChartFragment.kt
  2. 20
      app/src/main/java/net/pokeranalytics/android/ui/fragment/CurrenciesFragment.kt
  3. 28
      app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt
  4. 49
      app/src/main/java/net/pokeranalytics/android/ui/fragment/ImportFragment.kt
  5. 33
      app/src/main/java/net/pokeranalytics/android/ui/fragment/ReportCreationFragment.kt
  6. 24
      app/src/main/java/net/pokeranalytics/android/ui/fragment/ReportsFragment.kt
  7. 28
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt
  8. 21
      app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticsFragment.kt
  9. 55
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SubscriptionFragment.kt
  10. 27
      app/src/main/java/net/pokeranalytics/android/ui/fragment/Top10Fragment.kt
  11. 25
      app/src/main/java/net/pokeranalytics/android/ui/fragment/report/ComparisonReportFragment.kt
  12. 51
      app/src/main/java/net/pokeranalytics/android/ui/fragment/report/ComposableTableReportFragment.kt
  13. 35
      app/src/main/java/net/pokeranalytics/android/ui/fragment/report/ProgressReportFragment.kt
  14. 24
      app/src/main/java/net/pokeranalytics/android/ui/fragment/report/TableReportFragment.kt

@ -39,8 +39,6 @@ class ComparisonChartFragment : BaseFragment(), StaticRowRepresentableDataSource
private lateinit var viewPagerAdapter: ComparisonChartPagerAdapter
private var comparisonChartMenu: Menu? = null
private var _binding: FragmentComparisonChartBinding? = null
// This property is only valid between onCreateView and
// onDestroyView.
private val binding get() = _binding!!
override fun onDestroyView() {
@ -53,7 +51,6 @@ class ComparisonChartFragment : BaseFragment(), StaticRowRepresentableDataSource
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
_binding = FragmentComparisonChartBinding.inflate(inflater, container, false)
return binding.root
//return inflater.inflate(R.layout.fragment_comparison_chart, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {

@ -8,8 +8,8 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.LinearLayoutManager
import kotlinx.android.synthetic.main.fragment_data_list.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.databinding.FragmentCurrenciesBinding
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
@ -71,10 +71,20 @@ class CurrenciesFragment : BaseFragment(), StaticRowRepresentableDataSource, Row
override val viewType: Int = RowViewType.TITLE_VALUE.ordinal
}
private var _binding: FragmentCurrenciesBinding? = null
private val binding get() = _binding!!
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_currencies, container, false)
}
// Life Cycle
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
_binding = FragmentCurrenciesBinding.inflate(inflater, container, false)
return binding.root
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@ -120,7 +130,7 @@ class CurrenciesFragment : BaseFragment(), StaticRowRepresentableDataSource, Row
val viewManager = LinearLayoutManager(requireContext())
val dataListAdapter = RowRepresentableAdapter(this, this)
recyclerView.apply {
binding.recyclerView.apply {
setHasFixedSize(true)
layoutManager = viewManager
adapter = dataListAdapter

@ -13,9 +13,8 @@ import com.github.mikephil.charting.data.LineData
import com.github.mikephil.charting.highlight.Highlight
import com.github.mikephil.charting.interfaces.datasets.IBarLineScatterCandleBubbleDataSet
import com.github.mikephil.charting.listener.OnChartValueSelectedListener
import kotlinx.android.synthetic.main.fragment_graph.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.databinding.FragmentGraphBinding
import net.pokeranalytics.android.exceptions.PAIllegalStateException
import net.pokeranalytics.android.model.interfaces.ObjectIdentifier
import net.pokeranalytics.android.ui.fragment.components.RealmFragment
@ -65,10 +64,21 @@ class GraphFragment : RealmFragment(), OnChartValueSelectedListener {
private var chartView: BarLineChartBase<*>? = null
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
return inflater.inflate(R.layout.fragment_graph, container, false)
}
private var _binding: FragmentGraphBinding? = null
private val binding get() = _binding!!
// Life Cycle
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
_binding = FragmentGraphBinding.inflate(inflater, container, false)
return binding.root
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@ -94,7 +104,7 @@ class GraphFragment : RealmFragment(), OnChartValueSelectedListener {
else -> LegendView(requireContext())
}
this.legendContainer.addView(this.legendView)
this.binding.legendContainer.addView(this.legendView)
}
fun reload(style: Style) {
@ -109,7 +119,7 @@ class GraphFragment : RealmFragment(), OnChartValueSelectedListener {
*/
private fun loadGraph() {
this.chartContainer.removeAllViews()
this.binding.chartContainer.removeAllViews()
this.chartView = when (this.style) {
Style.LINE, Style.MULTILINE -> {
@ -165,7 +175,7 @@ class GraphFragment : RealmFragment(), OnChartValueSelectedListener {
}
}
this.chartContainer.addView(this.chartView)
this.binding.chartContainer.addView(this.chartView)
this.chartView?.setStyle(false, this.graphDataProvider.axisFormatting, requireContext())

@ -6,12 +6,11 @@ import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import com.google.android.material.snackbar.Snackbar
import kotlinx.android.synthetic.main.fragment_import.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.async
import kotlinx.coroutines.launch
import net.pokeranalytics.android.R
import net.pokeranalytics.android.databinding.FragmentImportBinding
import net.pokeranalytics.android.ui.fragment.components.RealmFragment
import net.pokeranalytics.android.util.csv.CSVImporter
import net.pokeranalytics.android.util.csv.ImportDelegate
@ -19,7 +18,6 @@ import timber.log.Timber
import java.io.InputStream
import java.text.NumberFormat
import java.util.*
import kotlin.coroutines.CoroutineContext
class ImportFragment : RealmFragment(), ImportDelegate {
@ -30,7 +28,24 @@ class ImportFragment : RealmFragment(), ImportDelegate {
private lateinit var inputStream: InputStream
private lateinit var importer: CSVImporter
fun setData(path: String) {
private var _binding: FragmentImportBinding? = null
private val binding get() = _binding!!
// Life Cycle
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
_binding = FragmentImportBinding.inflate(inflater, container, false)
return binding.root
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
fun setData(path: String) {
this.filePath = path
}
@ -38,11 +53,6 @@ class ImportFragment : RealmFragment(), ImportDelegate {
this.inputStream = inputStream
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
return inflater.inflate(R.layout.fragment_import, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@ -53,15 +63,20 @@ class ImportFragment : RealmFragment(), ImportDelegate {
private fun initUI() {
this.imported.text = requireContext().getString(R.string.imported)
this.total.text = requireContext().getString(R.string.total)
val imported = binding.imported
val total = binding.total
val save = binding.save
val cancel = binding.cancel
imported.text = requireContext().getString(R.string.imported)
total.text = requireContext().getString(R.string.total)
this.save.isEnabled = false
this.save.setOnClickListener {
save.isEnabled = false
save.setOnClickListener {
this.end()
}
this.cancel.setOnClickListener {
cancel.setOnClickListener {
this.cancel()
this.end()
}
@ -128,7 +143,7 @@ class ImportFragment : RealmFragment(), ImportDelegate {
private fun importDidFinish() {
this.save.isEnabled = true
binding.save.isEnabled = true
}
@ -141,8 +156,8 @@ class ImportFragment : RealmFragment(), ImportDelegate {
// ImportDelegate
override fun parsingCountUpdate(importedCount: Int, totalCount: Int) {
this.counter.text = this.numberFormatter.format(importedCount)
this.totalCounter.text = this.numberFormatter.format(totalCount)
binding.counter.text = this.numberFormatter.format(importedCount)
binding.totalCounter.text = this.numberFormatter.format(totalCount)
}
}

@ -6,10 +6,10 @@ import android.os.Bundle
import android.view.*
import androidx.recyclerview.widget.LinearLayoutManager
import io.realm.Realm
import kotlinx.android.synthetic.main.fragment_report_creation.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.Calculator
import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.databinding.FragmentReportCreationBinding
import net.pokeranalytics.android.model.Criteria
import net.pokeranalytics.android.model.CustomFieldCriteria
import net.pokeranalytics.android.model.realm.CustomField
@ -37,10 +37,21 @@ class ReportCreationFragment : RealmFragment(), RowRepresentableDataSource, RowR
private var currentRows: List<RowRepresentable> = listOf()
private var reportCreationMenu: Menu? = null
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
return inflater.inflate(R.layout.fragment_report_creation, container, false)
}
private var _binding: FragmentReportCreationBinding? = null
private val binding get() = _binding!!
// Life Cycle
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
_binding = FragmentReportCreationBinding.inflate(inflater, container, false)
return binding.root
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@ -94,13 +105,13 @@ class ReportCreationFragment : RealmFragment(), RowRepresentableDataSource, RowR
//this.optionsAdapter.setHasStableIds(true)
val viewManager = LinearLayoutManager(requireContext())
recyclerView.apply {
binding.recyclerView.apply {
setHasFixedSize(true)
layoutManager = viewManager
adapter = optionsAdapter
}
this.next.setOnClickListener {
binding.next.setOnClickListener {
if (assistant.nextEnabled) {
this.assistant.nextStep()
@ -126,9 +137,9 @@ class ReportCreationFragment : RealmFragment(), RowRepresentableDataSource, RowR
*/
private fun updateUIWithCurrentStep() {
this.next.visibility = if (this.assistant.nextButtonShouldAppear) View.VISIBLE else View.GONE
this.next.text = requireContext().getString(this.assistant.nextButtonTitleResId)
this.next.isEnabled = this.assistant.nextEnabled
binding.next.visibility = if (this.assistant.nextButtonShouldAppear) View.VISIBLE else View.GONE
binding.next.text = requireContext().getString(this.assistant.nextButtonTitleResId)
binding.next.isEnabled = this.assistant.nextEnabled
this.reportCreationMenu?.findItem(R.id.add)?.isVisible = this.assistant.addButtonShouldAppear
val rows = mutableListOf<RowRepresentable>()
@ -198,7 +209,7 @@ class ReportCreationFragment : RealmFragment(), RowRepresentableDataSource, RowR
if (newStep) {
this.updateUIWithCurrentStep()
} else {
this.next.isEnabled = this.assistant.nextEnabled
binding.next.isEnabled = this.assistant.nextEnabled
this.optionsAdapter.notifyDataSetChanged()
}

@ -10,7 +10,6 @@ import android.widget.Toast
import androidx.recyclerview.widget.LinearLayoutManager
import io.realm.Realm
import io.realm.RealmResults
import kotlinx.android.synthetic.main.fragment_data_list.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.delay
@ -18,6 +17,7 @@ import kotlinx.coroutines.launch
import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.Calculator
import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.databinding.FragmentReportsBinding
import net.pokeranalytics.android.model.Criteria
import net.pokeranalytics.android.model.combined
import net.pokeranalytics.android.model.interfaces.Deletable
@ -59,13 +59,21 @@ class ReportsFragment : DeletableItemFragment(), StaticRowRepresentableDataSourc
}
}
private var _binding: FragmentReportsBinding? = null
private val binding get() = _binding!!
// Life Cycle
// Life Cycle
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
return inflater.inflate(R.layout.fragment_reports, container, false)
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
_binding = FragmentReportsBinding.inflate(inflater, container, false)
return binding.root
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@ -119,13 +127,13 @@ class ReportsFragment : DeletableItemFragment(), StaticRowRepresentableDataSourc
val viewManager = LinearLayoutManager(requireContext())
recyclerView.apply {
binding.recyclerView.apply {
setHasFixedSize(true)
layoutManager = viewManager
adapter = dataListAdapter
}
this.addButton.setOnClickListener {
binding.addButton.setOnClickListener {
ReportCreationActivity.newInstanceForResult(this, requireContext())
}

@ -15,9 +15,9 @@ import androidx.recyclerview.widget.LinearLayoutManager
import com.android.billingclient.api.Purchase
import com.google.android.play.core.review.ReviewManagerFactory
import io.realm.Realm
import kotlinx.android.synthetic.main.fragment_settings.*
import net.pokeranalytics.android.BuildConfig
import net.pokeranalytics.android.R
import net.pokeranalytics.android.databinding.FragmentSettingsBinding
import net.pokeranalytics.android.exceptions.PAIllegalStateException
import net.pokeranalytics.android.model.LiveData
import net.pokeranalytics.android.model.realm.Currency
@ -71,7 +71,24 @@ class SettingsFragment : RealmFragment(), RowRepresentableDelegate, StaticRowRep
private lateinit var settingsAdapterRow: RowRepresentableAdapter
override fun onCreate(savedInstanceState: Bundle?) {
private var _binding: FragmentSettingsBinding? = null
private val binding get() = _binding!!
// Life Cycle
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
_binding = FragmentSettingsBinding.inflate(inflater, container, false)
return binding.root
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
AppGuard.registerListener(this)
}
@ -81,11 +98,6 @@ class SettingsFragment : RealmFragment(), RowRepresentableDelegate, StaticRowRep
AppGuard.unregisterListener(this)
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
return inflater.inflate(R.layout.fragment_settings, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
initData()
@ -227,7 +239,7 @@ class SettingsFragment : RealmFragment(), RowRepresentableDelegate, StaticRowRep
val viewManager = LinearLayoutManager(requireContext())
settingsAdapterRow = RowRepresentableAdapter(this, this)
recyclerView.apply {
binding.recyclerView.apply {
setHasFixedSize(true)
layoutManager = viewManager
adapter = settingsAdapterRow

@ -15,6 +15,8 @@ import net.pokeranalytics.android.calculus.Calculator
import net.pokeranalytics.android.calculus.ComputableGroup
import net.pokeranalytics.android.calculus.Report
import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.databinding.FragmentGraphBinding
import net.pokeranalytics.android.databinding.FragmentStatsBinding
import net.pokeranalytics.android.exceptions.PAIllegalStateException
import net.pokeranalytics.android.model.filter.Query
import net.pokeranalytics.android.model.filter.QueryCondition
@ -46,12 +48,21 @@ class StatisticsFragment : FilterableFragment(), RealmAsyncListener {
}
}
// Life Cycle
private var _binding: FragmentStatsBinding? = null
private val binding get() = _binding!!
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
return inflater.inflate(R.layout.fragment_stats, container, false)
}
// Life Cycle
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
_binding = FragmentStatsBinding.inflate(inflater, container, false)
return binding.root
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)

@ -22,8 +22,8 @@ import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentStatePagerAdapter
import androidx.viewpager.widget.ViewPager
import com.android.billingclient.api.*
import kotlinx.android.synthetic.main.fragment_subscription.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.databinding.FragmentSubscriptionBinding
import net.pokeranalytics.android.exceptions.PAIllegalStateException
import net.pokeranalytics.android.model.utils.CrashLogging
import net.pokeranalytics.android.ui.extensions.px
@ -55,7 +55,23 @@ class SubscriptionFragment : BaseFragment(), SkuDetailsResponseListener, Purchas
private var selectedProduct: SkuDetails? = null
private var showSessionMessage = false
override fun onCreate(savedInstanceState: Bundle?) {
private var _binding: FragmentSubscriptionBinding? = null
private val binding get() = _binding!!
// Life Cycle
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
_binding = FragmentSubscriptionBinding.inflate(inflater, container, false)
return binding.root
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val cm = requireContext().getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
@ -78,10 +94,6 @@ class SubscriptionFragment : BaseFragment(), SkuDetailsResponseListener, Purchas
}
}
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()
@ -99,6 +111,11 @@ class SubscriptionFragment : BaseFragment(), SkuDetailsResponseListener, Purchas
private fun initUI() {
val title = binding.title
val message = binding.message
val pager = binding.pager
val purchase = binding.purchase
val pageIndicator = binding.pageIndicator
val upgradeString = requireContext().getString(R.string.pro_upgrade)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
@ -119,25 +136,25 @@ class SubscriptionFragment : BaseFragment(), SkuDetailsResponseListener, Purchas
}
}
this.title.text = ssb
title.text = ssb
} else {
this.title.text = upgradeString
title.text = upgradeString
}
if (showSessionMessage) {
this.message.text = getString(R.string.iap_session_message)
message.text = getString(R.string.iap_session_message)
}
// Pager
// The pager adapter, which provides the pages to the view pager widget.
this.pagerAdapter = ScreenSlidePagerAdapter(parentFragmentManager)
this.pager.adapter = pagerAdapter
this.pager.addOnPageChangeListener(this)
pager.adapter = pagerAdapter
pager.addOnPageChangeListener(this)
this.purchase.isEnabled = false
this.purchase.setOnClickListener {
purchase.isEnabled = false
purchase.setOnClickListener {
this.selectedProduct?.let {
AppGuard.initiatePurchase(this.requireActivity(), it)
@ -146,13 +163,13 @@ class SubscriptionFragment : BaseFragment(), SkuDetailsResponseListener, Purchas
}
}
val count = this.pager.adapter?.count ?: 0
val count = pager.adapter?.count ?: 0
for (i in 1..count) {
val view = View(requireContext())
view.background = requireContext().getDrawable(R.drawable.circle_green)
val layoutParam = LinearLayout.LayoutParams(8.px, 8.px)
layoutParam.setMargins(6.px)
this.pageIndicator.addView(view, layoutParam)
pageIndicator.addView(view, layoutParam)
}
this.updatePagerIndicators(0)
@ -210,10 +227,10 @@ class SubscriptionFragment : BaseFragment(), SkuDetailsResponseListener, Purchas
private fun updateUI() {
this.selectedProduct?.let {
this.purchase.isEnabled = true
binding.purchase.isEnabled = true
val perYearString = requireContext().getString(R.string.year_subscription)
val formattedPrice = it.price + " / " + perYearString
this.price.text = formattedPrice
binding.price.text = formattedPrice
var freeTrialDays = 30 // initial, should be more, no less
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
@ -226,7 +243,7 @@ class SubscriptionFragment : BaseFragment(), SkuDetailsResponseListener, Purchas
}
val formattedFreeTrial =
"$freeTrialDays " + requireContext().getString(R.string.days) + " " + requireContext().getString(R.string.free_trial)
this.freetrial.text = formattedFreeTrial
binding.freetrial.text = formattedFreeTrial
} ?: run {
Toast.makeText(requireContext(), R.string.contact_support, Toast.LENGTH_LONG).show()
}
@ -261,7 +278,7 @@ class SubscriptionFragment : BaseFragment(), SkuDetailsResponseListener, Purchas
}
private fun updatePagerIndicators(position: Int) {
this.pageIndicator.children.forEachIndexed { index, view ->
binding.pageIndicator.children.forEachIndexed { index, view ->
val drawable = view.background
when (drawable) {
is GradientDrawable -> {

@ -7,8 +7,7 @@ import android.view.ViewGroup
import com.google.android.material.tabs.TabLayout
import io.realm.RealmResults
import io.realm.kotlin.where
import kotlinx.android.synthetic.main.fragment_top_10.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.databinding.FragmentTop10Binding
import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource
@ -43,10 +42,21 @@ class Top10Fragment : RealmFragment(), RowRepresentableDataSource, RowRepresenta
private var currentTab: Tab = Tab.CASH_GAMES
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
return inflater.inflate(R.layout.fragment_top_10, container, false)
}
private var _binding: FragmentTop10Binding? = null
private val binding get() = _binding!!
// Life Cycle
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
_binding = FragmentTop10Binding.inflate(inflater, container, false)
return binding.root
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@ -59,7 +69,10 @@ class Top10Fragment : RealmFragment(), RowRepresentableDataSource, RowRepresenta
*/
private fun initUI() {
dataListAdapter = RowRepresentableAdapter(this, this)
val recyclerView = binding.recyclerView
val tabs = binding.tabs
dataListAdapter = RowRepresentableAdapter(this, this)
recyclerView.adapter = dataListAdapter
setDisplayHomeAsUpEnabled(true)

@ -5,8 +5,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.google.android.material.tabs.TabLayout
import kotlinx.android.synthetic.main.fragment_report_details.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.databinding.FragmentReportDetailsBinding
import net.pokeranalytics.android.ui.adapter.ReportPagerAdapter
class ComparisonReportFragment : AbstractReportFragment() {
@ -21,10 +20,21 @@ class ComparisonReportFragment : AbstractReportFragment() {
}
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
return inflater.inflate(R.layout.fragment_report_details, container, false)
}
private var _binding: FragmentReportDetailsBinding? = null
private val binding get() = _binding!!
// Life Cycle
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
_binding = FragmentReportDetailsBinding.inflate(inflater, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@ -36,6 +46,9 @@ class ComparisonReportFragment : AbstractReportFragment() {
*/
private fun initUI() {
val viewPager = binding.viewPager
val tabs = binding.tabs
viewPager.adapter = ReportPagerAdapter(requireContext(), requireActivity().supportFragmentManager, this.reportViewModel)
// setDisplayHomeAsUpEnabled(true)

@ -7,7 +7,6 @@ import android.view.ViewGroup
import android.widget.Toast
import androidx.recyclerview.widget.LinearLayoutManager
import io.realm.Realm
import kotlinx.android.synthetic.main.fragment_composable_table_report.*
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.async
@ -17,6 +16,7 @@ import net.pokeranalytics.android.calculus.Calculator
import net.pokeranalytics.android.calculus.ComputableGroup
import net.pokeranalytics.android.calculus.Report
import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.databinding.FragmentComposableTableReportBinding
import net.pokeranalytics.android.exceptions.PAIllegalStateException
import net.pokeranalytics.android.model.realm.ComputableResult
import net.pokeranalytics.android.ui.activity.components.ReportActivity
@ -39,34 +39,43 @@ open class ComposableTableReportFragment : RealmFragment(), StaticRowRepresentab
// override val coroutineContext: CoroutineContext
// get() = Dispatchers.Main
private var rowRepresentables: ArrayList<RowRepresentable> = ArrayList()
companion object {
/**
* Create new instance
*/
fun newInstance(report: Report? = null): ComposableTableReportFragment {
val fragment = ComposableTableReportFragment()
fragment.report = report
val bundle = Bundle()
fragment.arguments = bundle
return fragment
}
}
private var rowRepresentables: ArrayList<RowRepresentable> = ArrayList()
private var statsAdapter: RowRepresentableAdapter? = null
var report: Report? = null
private var hasComputationInProgress: Boolean = false
companion object {
/**
* Create new instance
*/
fun newInstance(report: Report? = null): ComposableTableReportFragment {
val fragment = ComposableTableReportFragment()
fragment.report = report
val bundle = Bundle()
fragment.arguments = bundle
return fragment
}
}
private var _binding: FragmentComposableTableReportBinding? = null
private val binding get() = _binding!!
// Life Cycle
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
return inflater.inflate(R.layout.fragment_composable_table_report, container, false)
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
_binding = FragmentComposableTableReportBinding.inflate(inflater, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@ -126,7 +135,7 @@ open class ComposableTableReportFragment : RealmFragment(), StaticRowRepresentab
open fun initUI() {
val viewManager = LinearLayoutManager(requireContext())
recyclerView.apply {
binding.recyclerView.apply {
setHasFixedSize(true)
layoutManager = viewManager
adapter = statsAdapter

@ -11,7 +11,6 @@ import com.github.mikephil.charting.data.LineDataSet
import com.google.android.material.chip.Chip
import com.google.android.material.chip.ChipGroup
import io.realm.Realm
import kotlinx.android.synthetic.main.fragment_progress_report.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
@ -24,6 +23,7 @@ import net.pokeranalytics.android.calculus.AggregationType
import net.pokeranalytics.android.calculus.Calculator
import net.pokeranalytics.android.calculus.Report
import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.databinding.FragmentProgressReportBinding
import net.pokeranalytics.android.exceptions.PAIllegalStateException
import net.pokeranalytics.android.model.combined
import net.pokeranalytics.android.ui.extensions.ChipGroupExtension
@ -57,10 +57,21 @@ class ProgressReportFragment : AbstractReportFragment() {
private var reports: MutableMap<AggregationType, Report> = EnumMap(AggregationType::class.java)
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
return inflater.inflate(R.layout.fragment_progress_report, container, false)
}
private var _binding: FragmentProgressReportBinding? = null
private val binding get() = _binding!!
// Life Cycle
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
_binding = FragmentProgressReportBinding.inflate(inflater, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@ -72,6 +83,7 @@ class ProgressReportFragment : AbstractReportFragment() {
*/
private fun initUI() {
val chipGroup = binding.chipGroup
val fragmentManager = parentActivity?.supportFragmentManager
val fragmentTransaction = fragmentManager?.beginTransaction()
this.graphFragment = GraphFragment.newInstance(GraphFragment.Style.LINE)
@ -96,14 +108,14 @@ class ProgressReportFragment : AbstractReportFragment() {
chip.text = requireContext().getString(type.resId)
chip.chipStartPadding = 8f.px
chip.chipEndPadding = 8f.px
this.chipGroup.addView(chip)
chipGroup.addView(chip)
}
this.chipGroup.isVisible = this.reportViewModel.showAggregationChoices
this.chipGroup.isSingleSelection = true
this.chipGroup.check(0)
chipGroup.isVisible = this.reportViewModel.showAggregationChoices
chipGroup.isSingleSelection = true
chipGroup.check(0)
this.chipGroup.setOnCheckedChangeListener(object : ChipGroupExtension.SingleSelectionOnCheckedListener() {
chipGroup.setOnCheckedChangeListener(object : ChipGroupExtension.SingleSelectionOnCheckedListener() {
override fun onCheckedChanged(group: ChipGroup, checkedId: Int) {
super.onCheckedChanged(group, checkedId)
@ -140,6 +152,9 @@ class ProgressReportFragment : AbstractReportFragment() {
*/
private fun launchStatComputation(aggregationType: AggregationType) {
val graphContainer = binding.graphContainer
val progressBar = binding.progressBar
graphContainer.hideWithAnimation()
progressBar.showWithAnimation()

@ -5,11 +5,10 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import net.pokeranalytics.android.R
import net.pokeranalytics.android.databinding.FragmentTableReportBinding
class TableReportFragment : AbstractReportFragment() {
private lateinit var tableReportFragment: ComposableTableReportFragment
companion object {
fun newInstance(): TableReportFragment {
@ -20,10 +19,23 @@ class TableReportFragment : AbstractReportFragment() {
}
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
return inflater.inflate(R.layout.fragment_table_report, container, false)
}
private lateinit var tableReportFragment: ComposableTableReportFragment
private var _binding: FragmentTableReportBinding? = null
private val binding get() = _binding!!
// Life Cycle
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
_binding = FragmentTableReportBinding.inflate(inflater, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)

Loading…
Cancel
Save