Improve and refactor More & Reports fragments

feature/top10
Aurelien Hubert 7 years ago
parent 4b666468c8
commit 0946d3f3db
  1. 17
      app/src/main/java/net/pokeranalytics/android/ui/fragment/MoreFragment.kt
  2. 27
      app/src/main/java/net/pokeranalytics/android/ui/fragment/ReportsFragment.kt
  3. 15
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/ReportRow.kt

@ -7,7 +7,6 @@ import android.view.ViewGroup
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import kotlinx.android.synthetic.main.fragment_stats.* import kotlinx.android.synthetic.main.fragment_stats.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.view.rowrepresentable.MoreTabRow
import net.pokeranalytics.android.ui.activity.BankrollActivity import net.pokeranalytics.android.ui.activity.BankrollActivity
import net.pokeranalytics.android.ui.activity.SettingsActivity import net.pokeranalytics.android.ui.activity.SettingsActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
@ -15,6 +14,7 @@ import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.rowrepresentable.MoreTabRow
class MoreFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataSource, RowRepresentableDelegate { class MoreFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataSource, RowRepresentableDelegate {
@ -29,11 +29,16 @@ class MoreFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataSource,
fragment.arguments = bundle fragment.arguments = bundle
return fragment return fragment
} }
val rowRepresentation: List<RowRepresentable> by lazy {
val rows = ArrayList<RowRepresentable>()
rows.addAll(MoreTabRow.values())
rows
} }
private lateinit var moreAdapter: RowRepresentableAdapter }
private var rowRepresentables: ArrayList<RowRepresentable> = ArrayList() private lateinit var moreAdapter: RowRepresentableAdapter
// Life Cycle // Life Cycle
@ -50,7 +55,7 @@ class MoreFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataSource,
// Rows // Rows
override fun adapterRows(): List<RowRepresentable>? { override fun adapterRows(): List<RowRepresentable>? {
return rowRepresentables return rowRepresentation
} }
override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) { override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) {
@ -67,8 +72,6 @@ class MoreFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataSource,
* Init data * Init data
*/ */
private fun initData() { private fun initData() {
rowRepresentables.addAll(MoreTabRow.values())
moreAdapter = RowRepresentableAdapter(this, this)
} }
/** /**
@ -76,6 +79,8 @@ class MoreFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataSource,
*/ */
private fun initUI() { private fun initUI() {
moreAdapter = RowRepresentableAdapter(this, this)
val viewManager = LinearLayoutManager(requireContext()) val viewManager = LinearLayoutManager(requireContext())
recyclerView.apply { recyclerView.apply {

@ -7,9 +7,14 @@ import android.view.ViewGroup
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import kotlinx.android.synthetic.main.fragment_stats.* import kotlinx.android.synthetic.main.fragment_stats.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.rowrepresentable.ReportRow
class ReportsFragment : PokerAnalyticsFragment() { class ReportsFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataSource, RowRepresentableDelegate {
companion object { companion object {
@ -22,8 +27,17 @@ class ReportsFragment : PokerAnalyticsFragment() {
fragment.arguments = bundle fragment.arguments = bundle
return fragment return fragment
} }
val rowRepresentation: List<RowRepresentable> by lazy {
val rows = ArrayList<RowRepresentable>()
rows.addAll(ReportRow.getRows())
rows
}
} }
private lateinit var reportsAdapter: RowRepresentableAdapter
// Life Cycle // Life Cycle
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
@ -36,6 +50,12 @@ class ReportsFragment : PokerAnalyticsFragment() {
initUI() initUI()
} }
// Rows
override fun adapterRows(): List<RowRepresentable>? {
return rowRepresentation
}
// Business // Business
@ -43,7 +63,6 @@ class ReportsFragment : PokerAnalyticsFragment() {
* Init data * Init data
*/ */
private fun initData() { private fun initData() {
} }
/** /**
@ -51,12 +70,14 @@ class ReportsFragment : PokerAnalyticsFragment() {
*/ */
private fun initUI() { private fun initUI() {
reportsAdapter = RowRepresentableAdapter(this, this)
val viewManager = LinearLayoutManager(requireContext()) val viewManager = LinearLayoutManager(requireContext())
recyclerView.apply { recyclerView.apply {
setHasFixedSize(true) setHasFixedSize(true)
layoutManager = viewManager layoutManager = viewManager
//adapter = statsAdapter adapter = reportsAdapter
} }
} }

@ -17,9 +17,22 @@ enum class ReportRow : RowRepresentable {
TOURNAMENT_TYPES, TOURNAMENT_TYPES,
VARIANT; VARIANT;
companion object {
/**
* Return the report rows
*/
fun getRows(): ArrayList<RowRepresentable> {
val rows = ArrayList<RowRepresentable>()
rows.add(CustomizableRowRepresentable(customViewType = RowViewType.HEADER_TITLE, resId = R.string.comparison))
rows.addAll(values())
return rows
}
}
override val resId: Int? override val resId: Int?
get() { get() {
return when(this) { return when (this) {
BLINDS -> R.string.blinds BLINDS -> R.string.blinds
BUY_IN -> R.string.buyin BUY_IN -> R.string.buyin
DAY_OF_WEEKS -> R.string.day_of_the_week DAY_OF_WEEKS -> R.string.day_of_the_week

Loading…
Cancel
Save