Refactor toolbar management for filterable data

dev
Aurelien Hubert 7 years ago
parent 995c0c931d
commit eff635a474
  1. 17
      app/src/main/java/net/pokeranalytics/android/ui/fragment/BankrollDetailsFragment.kt
  2. 8
      app/src/main/java/net/pokeranalytics/android/ui/fragment/BankrollFragment.kt
  3. 17
      app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarDetailsFragment.kt
  4. 18
      app/src/main/java/net/pokeranalytics/android/ui/fragment/ComparisonChartFragment.kt
  5. 11
      app/src/main/java/net/pokeranalytics/android/ui/fragment/CurrenciesFragment.kt
  6. 14
      app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt
  7. 5
      app/src/main/java/net/pokeranalytics/android/ui/fragment/FeedFragment.kt
  8. 8
      app/src/main/java/net/pokeranalytics/android/ui/fragment/FilterDetailsFragment.kt
  9. 8
      app/src/main/java/net/pokeranalytics/android/ui/fragment/FiltersFragment.kt
  10. 5
      app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt
  11. 18
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt
  12. 26
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt
  13. 1
      app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticsFragment.kt
  14. 72
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/FilterableFragment.kt
  15. 47
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/PokerAnalyticsFragment.kt
  16. 16
      app/src/main/java/net/pokeranalytics/android/ui/fragment/data/EditableDataFragment.kt
  17. 6
      app/src/main/java/net/pokeranalytics/android/ui/fragment/data/LocationDataFragment.kt
  18. 10
      app/src/main/java/net/pokeranalytics/android/ui/fragment/report/AbstractReportFragment.kt
  19. 15
      app/src/main/java/net/pokeranalytics/android/ui/fragment/report/ComparisonReportFragment.kt
  20. 17
      app/src/main/java/net/pokeranalytics/android/ui/fragment/report/ProgressReportFragment.kt
  21. 17
      app/src/main/java/net/pokeranalytics/android/ui/fragment/report/TableReportFragment.kt

@ -13,7 +13,6 @@ import net.pokeranalytics.android.calculus.bankroll.BankrollReport
import net.pokeranalytics.android.model.LiveData import net.pokeranalytics.android.model.LiveData
import net.pokeranalytics.android.ui.activity.DataListActivity import net.pokeranalytics.android.ui.activity.DataListActivity
import net.pokeranalytics.android.ui.activity.EditableDataActivity import net.pokeranalytics.android.ui.activity.EditableDataActivity
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
@ -38,7 +37,6 @@ class BankrollDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresentable
} }
} }
private lateinit var parentActivity: PokerAnalyticsActivity
private lateinit var bankrollAdapter: RowRepresentableAdapter private lateinit var bankrollAdapter: RowRepresentableAdapter
private lateinit var bankrollReport: BankrollReport private lateinit var bankrollReport: BankrollReport
@ -129,14 +127,8 @@ class BankrollDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresentable
*/ */
private fun initUI() { private fun initUI() {
parentActivity = activity as PokerAnalyticsActivity setDisplayHomeAsUpEnabled(true)
// Avoid a bug during setting the titleResId
toolbar.title = ""
parentActivity.setSupportActionBar(toolbar)
parentActivity.supportActionBar?.setDisplayHomeAsUpEnabled(true)
setHasOptionsMenu(true)
updateMenuUI() updateMenuUI()
bankrollAdapter = RowRepresentableAdapter(this, this) bankrollAdapter = RowRepresentableAdapter(this, this)
@ -154,13 +146,12 @@ class BankrollDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresentable
* Update menu UI * Update menu UI
*/ */
private fun updateMenuUI() { private fun updateMenuUI() {
if (bankrollReport.setup.virtualBankroll) { if (bankrollReport.setup.virtualBankroll) {
toolbar.title = getString(R.string.total) setToolbarTitle(getString(R.string.total))
collapsingToolbar.title = getString(R.string.total)
bankrollDetailsMenu?.findItem(R.id.settings)?.isVisible = false bankrollDetailsMenu?.findItem(R.id.settings)?.isVisible = false
} else { } else {
toolbar.title = bankrollReport.setup.bankroll?.name setToolbarTitle(bankrollReport.setup.bankroll?.name)
collapsingToolbar.title = bankrollReport.setup.bankroll?.name
bankrollDetailsMenu?.findItem(R.id.settings)?.isVisible = true bankrollDetailsMenu?.findItem(R.id.settings)?.isVisible = true
} }

@ -28,7 +28,6 @@ import net.pokeranalytics.android.ui.activity.BankrollDetailsActivity
import net.pokeranalytics.android.ui.activity.DataListActivity import net.pokeranalytics.android.ui.activity.DataListActivity
import net.pokeranalytics.android.ui.activity.EditableDataActivity import net.pokeranalytics.android.ui.activity.EditableDataActivity
import net.pokeranalytics.android.ui.activity.GraphActivity import net.pokeranalytics.android.ui.activity.GraphActivity
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
@ -59,7 +58,6 @@ class BankrollFragment : DeletableItemFragment(), StaticRowRepresentableDataSour
} }
} }
private lateinit var parentActivity: PokerAnalyticsActivity
private lateinit var bankrollAdapter: RowRepresentableAdapter private lateinit var bankrollAdapter: RowRepresentableAdapter
private var rows: ArrayList<RowRepresentable> = ArrayList() private var rows: ArrayList<RowRepresentable> = ArrayList()
@ -179,11 +177,7 @@ class BankrollFragment : DeletableItemFragment(), StaticRowRepresentableDataSour
*/ */
private fun initUI() { private fun initUI() {
parentActivity = activity as PokerAnalyticsActivity setDisplayHomeAsUpEnabled(true)
parentActivity.setSupportActionBar(toolbar)
parentActivity.supportActionBar?.setDisplayHomeAsUpEnabled(true)
setHasOptionsMenu(true)
bankrollAdapter = RowRepresentableAdapter(this, this) bankrollAdapter = RowRepresentableAdapter(this, this)

@ -21,7 +21,6 @@ import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.model.filter.Query import net.pokeranalytics.android.model.filter.Query
import net.pokeranalytics.android.model.filter.QueryCondition import net.pokeranalytics.android.model.filter.QueryCondition
import net.pokeranalytics.android.ui.activity.ProgressReportActivity import net.pokeranalytics.android.ui.activity.ProgressReportActivity
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
@ -44,7 +43,6 @@ class CalendarDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresentable
} }
} }
private lateinit var parentActivity: PokerAnalyticsActivity
private lateinit var statsAdapter: RowRepresentableAdapter private lateinit var statsAdapter: RowRepresentableAdapter
private var title: String? = "" private var title: String? = ""
@ -80,14 +78,7 @@ class CalendarDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresentable
*/ */
private fun initUI() { private fun initUI() {
parentActivity = activity as PokerAnalyticsActivity setDisplayHomeAsUpEnabled(true)
// Avoid a bug during setting the titleResId
toolbar.title = ""
parentActivity.setSupportActionBar(toolbar)
parentActivity.supportActionBar?.setDisplayHomeAsUpEnabled(true)
setHasOptionsMenu(true)
var tabIndexToSelect = 0 var tabIndexToSelect = 0
sessionTypeCondition?.let { sessionTypeCondition?.let {
@ -134,11 +125,7 @@ class CalendarDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresentable
* Display data * Display data
*/ */
private fun displayData() { private fun displayData() {
setToolbarTitle(title)
title?.let {
toolbar.title = it
}
} }
// StaticRowRepresentableDataSource // StaticRowRepresentableDataSource

@ -6,7 +6,6 @@ import kotlinx.android.synthetic.main.fragment_comparison_chart.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
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.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.ComparisonChartPagerAdapter import net.pokeranalytics.android.ui.adapter.ComparisonChartPagerAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
@ -37,7 +36,6 @@ class ComparisonChartFragment : PokerAnalyticsFragment(), StaticRowRepresentable
} }
private lateinit var parentActivity: PokerAnalyticsActivity
private lateinit var viewPagerAdapter: ComparisonChartPagerAdapter private lateinit var viewPagerAdapter: ComparisonChartPagerAdapter
private var comparisonChartMenu: Menu? = null private var comparisonChartMenu: Menu? = null
@ -94,21 +92,17 @@ class ComparisonChartFragment : PokerAnalyticsFragment(), StaticRowRepresentable
*/ */
private fun initUI() { private fun initUI() {
parentActivity = activity as PokerAnalyticsActivity setDisplayHomeAsUpEnabled(true)
toolbar.title = "" //TODO: Localize title
setToolbarTitle("Comparison chart")
parentActivity.setSupportActionBar(toolbar) parentActivity?.let {
parentActivity.supportActionBar?.setDisplayHomeAsUpEnabled(true) viewPagerAdapter = ComparisonChartPagerAdapter(requireContext(), it.supportFragmentManager)
setHasOptionsMenu(true)
toolbar.title = "Comparison chart"
viewPagerAdapter = ComparisonChartPagerAdapter(requireContext(), parentActivity.supportFragmentManager)
viewPager.adapter = viewPagerAdapter viewPager.adapter = viewPagerAdapter
viewPager.offscreenPageLimit = 2 viewPager.offscreenPageLimit = 2
tabs.setupWithViewPager(viewPager) tabs.setupWithViewPager(viewPager)
}
} }

@ -10,7 +10,6 @@ import android.view.ViewGroup
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import kotlinx.android.synthetic.main.fragment_data_list.* import kotlinx.android.synthetic.main.fragment_data_list.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
@ -114,14 +113,8 @@ class CurrenciesFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataS
*/ */
private fun initUI() { private fun initUI() {
val activity = activity as PokerAnalyticsActivity setDisplayHomeAsUpEnabled(true)
setToolbarTitle(getString(R.string.currency))
// Avoid a bug during setting the titleResId
toolbar.title = this.getString( R.string.currency)
activity.setSupportActionBar(toolbar)
activity.supportActionBar?.setDisplayHomeAsUpEnabled(true)
setHasOptionsMenu(true)
val viewManager = LinearLayoutManager(requireContext()) val viewManager = LinearLayoutManager(requireContext())
val dataListAdapter = RowRepresentableAdapter(this, this) val dataListAdapter = RowRepresentableAdapter(this, this)

@ -21,7 +21,6 @@ import net.pokeranalytics.android.model.realm.Filter
import net.pokeranalytics.android.ui.activity.DataListActivity import net.pokeranalytics.android.ui.activity.DataListActivity
import net.pokeranalytics.android.ui.activity.EditableDataActivity import net.pokeranalytics.android.ui.activity.EditableDataActivity
import net.pokeranalytics.android.ui.activity.FiltersActivity import net.pokeranalytics.android.ui.activity.FiltersActivity
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.LiveRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.LiveRowRepresentableDataSource
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
@ -46,8 +45,8 @@ class DataListFragment : DeletableItemFragment(), LiveRowRepresentableDataSource
*/ */
fun setData(dataType: Int) { fun setData(dataType: Int) {
this.dataType = LiveData.values()[dataType] this.dataType = LiveData.values()[dataType]
this.toolbar.title = this.dataType.localizedTitle(requireContext()) setToolbarTitle(this.dataType.localizedTitle(requireContext()))
this.dataType?.let { this.dataType.let {
this.items = it.items(getRealm()) this.items = it.items(getRealm())
} }
} }
@ -68,14 +67,7 @@ class DataListFragment : DeletableItemFragment(), LiveRowRepresentableDataSource
*/ */
private fun initUI() { private fun initUI() {
val activity = activity as PokerAnalyticsActivity setDisplayHomeAsUpEnabled(true)
// Avoid a bug during setting the titleResId
toolbar.title = ""
activity.setSupportActionBar(toolbar)
activity.supportActionBar?.setDisplayHomeAsUpEnabled(true)
setHasOptionsMenu(true)
val viewManager = LinearLayoutManager(requireContext()) val viewManager = LinearLayoutManager(requireContext())
dataListAdapter = RowRepresentableAdapter(this, this) dataListAdapter = RowRepresentableAdapter(this, this)

@ -28,7 +28,6 @@ import net.pokeranalytics.android.ui.adapter.FeedTransactionRowRepresentableAdap
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.fragment.components.RealmFragment import net.pokeranalytics.android.ui.fragment.components.RealmFragment
import net.pokeranalytics.android.ui.interfaces.FilterActivityRequestCode import net.pokeranalytics.android.ui.interfaces.FilterActivityRequestCode
import net.pokeranalytics.android.ui.interfaces.FilterHandler
import net.pokeranalytics.android.ui.interfaces.FilterableType import net.pokeranalytics.android.ui.interfaces.FilterableType
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.SmoothScrollLinearLayoutManager import net.pokeranalytics.android.ui.view.SmoothScrollLinearLayoutManager
@ -37,7 +36,7 @@ import java.text.SimpleDateFormat
import java.util.* import java.util.*
class FeedFragment : RealmFragment(), RowRepresentableDelegate, FilterHandler { class FeedFragment : RealmFragment(), RowRepresentableDelegate {
companion object { companion object {
@ -69,6 +68,7 @@ class FeedFragment : RealmFragment(), RowRepresentableDelegate, FilterHandler {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
setFilterable(true)
initUI() initUI()
initData() initData()
} }
@ -162,7 +162,6 @@ class FeedFragment : RealmFragment(), RowRepresentableDelegate, FilterHandler {
*/ */
private fun initData() { private fun initData() {
val sdf = SimpleDateFormat("dd/M/yyyy hh:mm", Locale.getDefault()) val sdf = SimpleDateFormat("dd/M/yyyy hh:mm", Locale.getDefault())
betaLimitDate = sdf.parse("17/7/2019 10:00") betaLimitDate = sdf.parse("17/7/2019 10:00")

@ -14,7 +14,6 @@ import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.filter.QueryCondition import net.pokeranalytics.android.model.filter.QueryCondition
import net.pokeranalytics.android.model.realm.Filter import net.pokeranalytics.android.model.realm.Filter
import net.pokeranalytics.android.ui.activity.FilterDetailsActivity import net.pokeranalytics.android.ui.activity.FilterDetailsActivity
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
@ -36,7 +35,6 @@ import kotlin.collections.ArrayList
open class FilterDetailsFragment : RealmFragment(), StaticRowRepresentableDataSource, RowRepresentableDelegate { open class FilterDetailsFragment : RealmFragment(), StaticRowRepresentableDataSource, RowRepresentableDelegate {
lateinit var parentActivity: PokerAnalyticsActivity
lateinit var rowRepresentableAdapter: RowRepresentableAdapter lateinit var rowRepresentableAdapter: RowRepresentableAdapter
private lateinit var primaryKey: String private lateinit var primaryKey: String
private lateinit var filterCategoryRow: FilterCategoryRow private lateinit var filterCategoryRow: FilterCategoryRow
@ -155,10 +153,8 @@ open class FilterDetailsFragment : RealmFragment(), StaticRowRepresentableDataS
* Init UI * Init UI
*/ */
private fun initUI() { private fun initUI() {
parentActivity = activity as PokerAnalyticsActivity
parentActivity.setSupportActionBar(toolbar) setDisplayHomeAsUpEnabled(true)
parentActivity.supportActionBar?.setDisplayHomeAsUpEnabled(true)
setHasOptionsMenu(true)
this.appBar.toolbar.title = getString(R.string.filter) this.appBar.toolbar.title = getString(R.string.filter)

@ -13,7 +13,6 @@ import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.Filter import net.pokeranalytics.android.model.realm.Filter
import net.pokeranalytics.android.ui.activity.FilterDetailsActivity import net.pokeranalytics.android.ui.activity.FilterDetailsActivity
import net.pokeranalytics.android.ui.activity.FiltersActivity import net.pokeranalytics.android.ui.activity.FiltersActivity
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
@ -30,7 +29,6 @@ open class FiltersFragment : RealmFragment(), StaticRowRepresentableDataSource,
const val REQUEST_CODE_FILTER_DETAILS = 100 const val REQUEST_CODE_FILTER_DETAILS = 100
} }
private lateinit var parentActivity: PokerAnalyticsActivity
private lateinit var rowRepresentableAdapter: RowRepresentableAdapter private lateinit var rowRepresentableAdapter: RowRepresentableAdapter
private var currentFilter: Filter? = null private var currentFilter: Filter? = null
@ -127,10 +125,8 @@ open class FiltersFragment : RealmFragment(), StaticRowRepresentableDataSource,
* Init UI * Init UI
*/ */
private fun initUI() { private fun initUI() {
parentActivity = activity as PokerAnalyticsActivity
parentActivity.setSupportActionBar(toolbar) setDisplayHomeAsUpEnabled(true)
parentActivity.supportActionBar?.setDisplayHomeAsUpEnabled(true)
setHasOptionsMenu(true)
this.appBar.toolbar.title = getString(R.string.filter) this.appBar.toolbar.title = getString(R.string.filter)

@ -14,7 +14,6 @@ import com.github.mikephil.charting.listener.OnChartValueSelectedListener
import kotlinx.android.synthetic.main.fragment_graph.* import kotlinx.android.synthetic.main.fragment_graph.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.Stat import net.pokeranalytics.android.calculus.Stat
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.fragment.components.RealmFragment import net.pokeranalytics.android.ui.fragment.components.RealmFragment
import net.pokeranalytics.android.ui.graph.AxisFormatting import net.pokeranalytics.android.ui.graph.AxisFormatting
import net.pokeranalytics.android.ui.graph.GraphUnderlyingEntry import net.pokeranalytics.android.ui.graph.GraphUnderlyingEntry
@ -49,8 +48,6 @@ class GraphFragment : RealmFragment(), OnChartValueSelectedListener {
} }
private lateinit var parentActivity: PokerAnalyticsActivity
private var style: Style = Style.LINE private var style: Style = Style.LINE
private lateinit var legendView: LegendView private lateinit var legendView: LegendView
@ -101,8 +98,6 @@ class GraphFragment : RealmFragment(), OnChartValueSelectedListener {
*/ */
private fun initUI() { private fun initUI() {
parentActivity = activity as PokerAnalyticsActivity
this.legendView = when (this.style) { this.legendView = when (this.style) {
Style.MULTILINE -> MultiLineLegendView(requireContext()) Style.MULTILINE -> MultiLineLegendView(requireContext())
else -> LegendView(requireContext()) else -> LegendView(requireContext())

@ -19,7 +19,6 @@ import net.pokeranalytics.android.model.realm.Location
import net.pokeranalytics.android.model.realm.Session import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.model.utils.FavoriteSessionFinder import net.pokeranalytics.android.model.utils.FavoriteSessionFinder
import net.pokeranalytics.android.ui.activity.EditableDataActivity import net.pokeranalytics.android.ui.activity.EditableDataActivity
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.fragment.components.RealmFragment import net.pokeranalytics.android.ui.fragment.components.RealmFragment
@ -41,7 +40,6 @@ class SessionFragment : RealmFragment(), RowRepresentableDelegate {
const val REQUEST_CODE_NEW_CUSTOM_FIELD = 1000 const val REQUEST_CODE_NEW_CUSTOM_FIELD = 1000
} }
private lateinit var parentActivity: PokerAnalyticsActivity
private lateinit var currentSession: Session private lateinit var currentSession: Session
private lateinit var sessionAdapter: RowRepresentableAdapter private lateinit var sessionAdapter: RowRepresentableAdapter
@ -150,14 +148,7 @@ class SessionFragment : RealmFragment(), RowRepresentableDelegate {
*/ */
private fun initUI() { private fun initUI() {
parentActivity = activity as PokerAnalyticsActivity setDisplayHomeAsUpEnabled(true)
// Avoid a bug during setting the titleResId
toolbar.title = ""
parentActivity.setSupportActionBar(toolbar)
parentActivity.supportActionBar?.setDisplayHomeAsUpEnabled(true)
setHasOptionsMenu(true)
val viewManager = SmoothScrollLinearLayoutManager(requireContext()) val viewManager = SmoothScrollLinearLayoutManager(requireContext())
recyclerView.apply { recyclerView.apply {
@ -334,7 +325,7 @@ class SessionFragment : RealmFragment(), RowRepresentableDelegate {
realm.commitTransaction() realm.commitTransaction()
// Find the nearest location around the user // Find the nearest location around the user
parentActivity.findNearestLocation { parentActivity?.findNearestLocation {
it?.let { location -> it?.let { location ->
realm.beginTransaction() realm.beginTransaction()
val realmLocation = realm.where<Location>().equalTo("id", location.id).findFirst() val realmLocation = realm.where<Location>().equalTo("id", location.id).findFirst()
@ -348,9 +339,8 @@ class SessionFragment : RealmFragment(), RowRepresentableDelegate {
sessionHasBeenCustomized = false sessionHasBeenCustomized = false
} }
toolbar.title = if (currentSession.isTournament()) getString(R.string.tournament) else getString(R.string.cash_game)
toolbar.title = collapsingToolbar.title = toolbar.title
if (currentSession.isTournament()) getString(R.string.tournament) else getString(R.string.cash_game)
sessionAdapter = RowRepresentableAdapter(currentSession, this) sessionAdapter = RowRepresentableAdapter(currentSession, this)
recyclerView.adapter = sessionAdapter recyclerView.adapter = sessionAdapter

@ -16,7 +16,6 @@ import net.pokeranalytics.android.ui.activity.BillingActivity
import net.pokeranalytics.android.ui.activity.CurrenciesActivity import net.pokeranalytics.android.ui.activity.CurrenciesActivity
import net.pokeranalytics.android.ui.activity.DataListActivity import net.pokeranalytics.android.ui.activity.DataListActivity
import net.pokeranalytics.android.ui.activity.GDPRActivity import net.pokeranalytics.android.ui.activity.GDPRActivity
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
@ -58,7 +57,6 @@ class SettingsFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Sta
} }
private lateinit var settingsAdapterRow: RowRepresentableAdapter private lateinit var settingsAdapterRow: RowRepresentableAdapter
private lateinit var parentActivity: PokerAnalyticsActivity
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_settings, container, false) return inflater.inflate(R.layout.fragment_settings, container, false)
@ -106,20 +104,20 @@ class SettingsFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Sta
BillingActivity.newInstance(requireContext()) BillingActivity.newInstance(requireContext())
} }
} }
SettingRow.RATE_APP -> parentActivity.openPlayStorePage() SettingRow.RATE_APP -> parentActivity?.openPlayStorePage()
SettingRow.CONTACT_US -> parentActivity.openContactMail(R.string.contact) SettingRow.CONTACT_US -> parentActivity?.openContactMail(R.string.contact)
SettingRow.BUG_REPORT -> parentActivity.openContactMail(R.string.bug_report_subject, Realm.getDefaultInstance().path) SettingRow.BUG_REPORT -> parentActivity?.openContactMail(R.string.bug_report_subject, Realm.getDefaultInstance().path)
SettingRow.CURRENCY -> CurrenciesActivity.newInstanceForResult(this@SettingsFragment, REQUEST_CODE_CURRENCY) SettingRow.CURRENCY -> CurrenciesActivity.newInstanceForResult(this@SettingsFragment, REQUEST_CODE_CURRENCY)
SettingRow.FOLLOW_US -> { SettingRow.FOLLOW_US -> {
when (position) { when (position) {
0 -> parentActivity.openUrl(URL.BLOG.value) 0 -> parentActivity?.openUrl(URL.BLOG.value)
1 -> parentActivity.openUrl(URL.INSTAGRAM.value) 1 -> parentActivity?.openUrl(URL.INSTAGRAM.value)
2 -> parentActivity.openUrl(URL.TWITTER.value) 2 -> parentActivity?.openUrl(URL.TWITTER.value)
3 -> parentActivity.openUrl(URL.FACEBOOK.value) 3 -> parentActivity?.openUrl(URL.FACEBOOK.value)
} }
} }
SettingRow.PRIVACY_POLICY -> parentActivity.openUrl(URL.PRIVACY_POLICY.value) SettingRow.PRIVACY_POLICY -> parentActivity?.openUrl(URL.PRIVACY_POLICY.value)
SettingRow.TERMS_OF_USE -> parentActivity.openUrl(URL.TERMS.value) SettingRow.TERMS_OF_USE -> parentActivity?.openUrl(URL.TERMS.value)
SettingRow.GDPR -> openGDPRActivity() SettingRow.GDPR -> openGDPRActivity()
} }
@ -133,11 +131,7 @@ class SettingsFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Sta
*/ */
private fun initUI() { private fun initUI() {
parentActivity = activity as PokerAnalyticsActivity setDisplayHomeAsUpEnabled(true)
parentActivity.setSupportActionBar(toolbar)
parentActivity.supportActionBar?.setDisplayHomeAsUpEnabled(true)
setHasOptionsMenu(true)
val viewManager = LinearLayoutManager(requireContext()) val viewManager = LinearLayoutManager(requireContext())
settingsAdapterRow = RowRepresentableAdapter( settingsAdapterRow = RowRepresentableAdapter(

@ -58,6 +58,7 @@ class StatisticsFragment : ResultsObserverFragment(), FilterHandler {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
setFilterable(true)
initUI() initUI()
launchStatComputation() launchStatComputation()
} }

@ -0,0 +1,72 @@
package net.pokeranalytics.android.ui.fragment.components
import android.os.Bundle
import android.view.*
import androidx.appcompat.widget.Toolbar
import androidx.fragment.app.Fragment
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.interfaces.FilterHandler
import net.pokeranalytics.android.ui.interfaces.FilterableType
import timber.log.Timber
/**
* A class which define the fragment as Filterable
* - Add an filter icon menu
* - Access to the filters actions (new, select, modify, remove)
* - ...
*/
open class FilterableFragment: Fragment(), FilterHandler {
override var currentFilterable: FilterableType = FilterableType.ALL
private var filterMenuItem: MenuItem? = null
private var displayFilter: Boolean = false
set(value) {
field = value
filterMenuItem?.isVisible = displayFilter
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
setHasOptionsMenu(true)
return super.onCreateView(inflater, container, savedInstanceState)
}
override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) {
super.onCreateOptionsMenu(menu, inflater)
Timber.d("onCreateOptionsMenu")
view?.findViewById<Toolbar>(R.id.toolbar)?.let { toolbar ->
Timber.d("toolbar menu ${toolbar.menu}")
toolbar.menu.removeItem(R.id.menu_item_filter)
filterMenuItem = toolbar.menu?.add(0, R.id.menu_item_filter, 0, R.string.filter)
filterMenuItem?.setIcon(R.drawable.ic_outline_filter_list)
filterMenuItem?.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM)
filterMenuItem?.isVisible = displayFilter
}
}
override fun onOptionsItemSelected(item: MenuItem?): Boolean {
when(item?.itemId) {
R.id.menu_item_filter -> {
manageFilters(this)
}
}
return super.onOptionsItemSelected(item)
}
override fun createFilter() {
}
override fun applyFilter() {
}
override fun removeFilter() {
}
/**
* Set the current fragment as filterable
*/
fun setFilterable(filterable: Boolean) {
this.displayFilter = filterable
}
}

@ -1,18 +1,28 @@
package net.pokeranalytics.android.ui.fragment.components package net.pokeranalytics.android.ui.fragment.components
import android.os.Bundle import android.os.Bundle
import androidx.fragment.app.Fragment import android.view.View
import androidx.appcompat.widget.Toolbar
import com.crashlytics.android.Crashlytics import com.crashlytics.android.Crashlytics
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.interfaces.FilterHandler
open class PokerAnalyticsFragment: Fragment() { open class PokerAnalyticsFragment : FilterableFragment(), FilterHandler {
private var loaderDialogFragment: LoaderDialogFragment? = null private var loaderDialogFragment: LoaderDialogFragment? = null
var parentActivity: PokerAnalyticsActivity? = null
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
Crashlytics.log("$this.localClassName onCreate") Crashlytics.log("$this.localClassName onCreate")
} }
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
initUI()
}
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
Crashlytics.log("$this.localClassName onResume") Crashlytics.log("$this.localClassName onResume")
@ -33,6 +43,22 @@ open class PokerAnalyticsFragment: Fragment() {
*/ */
open fun onBackPressed() {} open fun onBackPressed() {}
/**
* Init UI
*/
private fun initUI() {
setHasOptionsMenu(true)
parentActivity = activity as PokerAnalyticsActivity
// Set the toolbar to the parent activity
view?.findViewById<Toolbar>(R.id.toolbar)?.let { toolbar ->
parentActivity?.setSupportActionBar(toolbar)
}
}
/** /**
* Show the loader * Show the loader
*/ */
@ -51,4 +77,21 @@ open class PokerAnalyticsFragment: Fragment() {
loaderDialogFragment = null loaderDialogFragment = null
} }
/**
* Set the toolbar title
*/
fun setToolbarTitle(title: String?) {
view?.findViewById<Toolbar>(R.id.toolbar)?.let { toolbar ->
toolbar.title = title
}
parentActivity?.supportActionBar?.title = title
}
/**
* Display or not the back arrow icon
*/
fun setDisplayHomeAsUpEnabled(enabled: Boolean) {
parentActivity?.supportActionBar?.setDisplayHomeAsUpEnabled(enabled)
}
} }

@ -8,7 +8,6 @@ import androidx.appcompat.app.AlertDialog
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import io.realm.RealmObject import io.realm.RealmObject
import kotlinx.android.synthetic.main.fragment_editable_data.* import kotlinx.android.synthetic.main.fragment_editable_data.*
import kotlinx.android.synthetic.main.fragment_editable_data.view.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.exceptions.ConfigurationException import net.pokeranalytics.android.exceptions.ConfigurationException
import net.pokeranalytics.android.model.LiveData import net.pokeranalytics.android.model.LiveData
@ -18,7 +17,6 @@ import net.pokeranalytics.android.model.interfaces.Savable
import net.pokeranalytics.android.model.interfaces.SaveValidityStatus import net.pokeranalytics.android.model.interfaces.SaveValidityStatus
import net.pokeranalytics.android.ui.activity.DataListActivity import net.pokeranalytics.android.ui.activity.DataListActivity
import net.pokeranalytics.android.ui.activity.EditableDataActivity import net.pokeranalytics.android.ui.activity.EditableDataActivity
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
@ -29,7 +27,6 @@ import net.pokeranalytics.android.ui.view.RowRepresentable
open class EditableDataFragment : RealmFragment(), RowRepresentableDelegate { open class EditableDataFragment : RealmFragment(), RowRepresentableDelegate {
lateinit var parentActivity: PokerAnalyticsActivity
lateinit var item: RealmObject lateinit var item: RealmObject
lateinit var liveDataType: LiveData lateinit var liveDataType: LiveData
lateinit var rowRepresentableAdapter: RowRepresentableAdapter lateinit var rowRepresentableAdapter: RowRepresentableAdapter
@ -85,13 +82,10 @@ open class EditableDataFragment : RealmFragment(), RowRepresentableDelegate {
* Init UI * Init UI
*/ */
private fun initUI() { private fun initUI() {
parentActivity = activity as PokerAnalyticsActivity
parentActivity.setSupportActionBar(toolbar)
parentActivity.supportActionBar?.setDisplayHomeAsUpEnabled(true)
setHasOptionsMenu(true)
val viewManager = LinearLayoutManager(requireContext()) setDisplayHomeAsUpEnabled(true)
val viewManager = LinearLayoutManager(requireContext())
recyclerView.apply { recyclerView.apply {
setHasFixedSize(true) setHasFixedSize(true)
layoutManager = viewManager layoutManager = viewManager
@ -113,11 +107,13 @@ open class EditableDataFragment : RealmFragment(), RowRepresentableDelegate {
val proxyItem: RealmObject? = this.liveDataType.getData(this.getRealm(), primaryKey) val proxyItem: RealmObject? = this.liveDataType.getData(this.getRealm(), primaryKey)
proxyItem?.let { proxyItem?.let {
//TODO: Localize //TODO: Localize
this.appBar.toolbar.title = "Update ${this.liveDataType.localizedTitle(this.parentActivity).toLowerCase().capitalize()}" //this.appBar.toolbar.title = "Update ${this.liveDataType.localizedTitle(requireContext()).toLowerCase().capitalize()}"
setToolbarTitle("Update ${this.liveDataType.localizedTitle(requireContext()).toLowerCase().capitalize()}")
isUpdating = true isUpdating = true
} ?: run { } ?: run {
//TODO: Localize //TODO: Localize
this.appBar.toolbar.title = this.liveDataType.newEntityLocalizedTitle(requireContext()) //this.appBar.toolbar.title = this.liveDataType.newEntityLocalizedTitle(requireContext())
setToolbarTitle(this.liveDataType.newEntityLocalizedTitle(requireContext()))
} }
this.item = this.liveDataType.updateOrCreate(this.getRealm(), primaryKey) this.item = this.liveDataType.updateOrCreate(this.getRealm(), primaryKey)

@ -38,7 +38,7 @@ class LocationDataFragment : EditableDataFragment(), StaticRowRepresentableDataS
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
shouldOpenKeyboard = false shouldOpenKeyboard = false
locationActivated = parentActivity.hasLocationPermissionGranted() locationActivated = parentActivity?.hasLocationPermissionGranted() ?: false
if (isUpdating) { if (isUpdating) {
@ -168,11 +168,11 @@ class LocationDataFragment : EditableDataFragment(), StaticRowRepresentableDataS
val maxResults = 5 val maxResults = 5
parentActivity.askForPlacesRequest { success, places -> parentActivity?.askForPlacesRequest { success, places ->
if (success) { if (success) {
// Try to get the location of the user // Try to get the location of the user
parentActivity.findCurrentLocation {currentLocation -> parentActivity?.findCurrentLocation {currentLocation ->
currentLocation?.let { currentLocation?.let {
location.latitude = currentLocation.latitude location.latitude = currentLocation.latitude
location.longitude = currentLocation.longitude location.longitude = currentLocation.longitude

@ -1,13 +1,10 @@
package net.pokeranalytics.android.ui.fragment.report package net.pokeranalytics.android.ui.fragment.report
import android.os.Bundle
import android.view.Menu import android.view.Menu
import android.view.MenuInflater import android.view.MenuInflater
import android.view.MenuItem import android.view.MenuItem
import android.view.View
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.Report import net.pokeranalytics.android.calculus.Report
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.fragment.components.RealmFragment import net.pokeranalytics.android.ui.fragment.components.RealmFragment
abstract class AbstractReportFragment : RealmFragment() { abstract class AbstractReportFragment : RealmFragment() {
@ -17,7 +14,6 @@ abstract class AbstractReportFragment : RealmFragment() {
protected var reportTitle: String? = null protected var reportTitle: String? = null
private var editableMenu: Menu? = null private var editableMenu: Menu? = null
protected lateinit var parentActivity: PokerAnalyticsActivity
override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) { override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) {
menu?.clear() menu?.clear()
@ -34,11 +30,6 @@ abstract class AbstractReportFragment : RealmFragment() {
return true return true
} }
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
parentActivity = activity as PokerAnalyticsActivity
}
/** /**
* Update menu UI * Update menu UI
*/ */
@ -50,7 +41,6 @@ abstract class AbstractReportFragment : RealmFragment() {
} }
private fun saveReportRequest() { private fun saveReportRequest() {
} }
private fun saveReport(name: String) { private fun saveReport(name: String) {

@ -5,7 +5,6 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import com.google.android.material.tabs.TabLayout import com.google.android.material.tabs.TabLayout
import kotlinx.android.synthetic.main.fragment_progress_report.toolbar
import kotlinx.android.synthetic.main.fragment_report_details.* import kotlinx.android.synthetic.main.fragment_report_details.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.Report import net.pokeranalytics.android.calculus.Report
@ -53,18 +52,14 @@ class ComparisonReportFragment : AbstractReportFragment() {
*/ */
private fun initUI() { private fun initUI() {
// Avoid a bug during setting the titleResId setDisplayHomeAsUpEnabled(true)
toolbar.title = "" setToolbarTitle(reportTitle)
parentActivity.setSupportActionBar(toolbar) parentActivity?.let {
parentActivity.supportActionBar?.setDisplayHomeAsUpEnabled(true) val reportPagerAdapter = ReportPagerAdapter(requireContext(), it.supportFragmentManager, selectedReport)
setHasOptionsMenu(true)
toolbar.title = reportTitle
val reportPagerAdapter = ReportPagerAdapter(requireContext(), parentActivity.supportFragmentManager, selectedReport)
viewPager.adapter = reportPagerAdapter viewPager.adapter = reportPagerAdapter
viewPager.offscreenPageLimit = 3 viewPager.offscreenPageLimit = 3
}
tabs.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { tabs.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
override fun onTabSelected(tab: TabLayout.Tab) { override fun onTabSelected(tab: TabLayout.Tab) {

@ -80,19 +80,15 @@ class ProgressReportFragment : AbstractReportFragment() {
*/ */
private fun initUI() { private fun initUI() {
// Avoid a bug during setting the titleResId setDisplayHomeAsUpEnabled(true)
toolbar.title = "" setToolbarTitle(this.reportTitle ?: stat.localizedTitle(requireContext()))
parentActivity.setSupportActionBar(toolbar) val fragmentManager = parentActivity?.supportFragmentManager
parentActivity.supportActionBar?.setDisplayHomeAsUpEnabled(true) val fragmentTransaction = fragmentManager?.beginTransaction()
setHasOptionsMenu(true)
val fragmentManager = parentActivity.supportFragmentManager
val fragmentTransaction = fragmentManager.beginTransaction()
graphFragment = GraphFragment() graphFragment = GraphFragment()
fragmentTransaction.add(R.id.graphContainer, graphFragment) fragmentTransaction?.add(R.id.graphContainer, graphFragment)
fragmentTransaction.commit() fragmentTransaction?.commit()
stat.aggregationTypes.firstOrNull()?.let { aggregationType -> stat.aggregationTypes.firstOrNull()?.let { aggregationType ->
reports[aggregationType]?.let { report -> reports[aggregationType]?.let { report ->
@ -100,7 +96,6 @@ class ProgressReportFragment : AbstractReportFragment() {
} }
} }
toolbar.title = this.reportTitle ?: stat.localizedTitle(requireContext())
val aggregationTypes = stat.aggregationTypes val aggregationTypes = stat.aggregationTypes
aggregationTypes.forEachIndexed { index, type -> aggregationTypes.forEachIndexed { index, type ->

@ -4,7 +4,6 @@ import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import kotlinx.android.synthetic.main.fragment_progress_report.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.Report import net.pokeranalytics.android.calculus.Report
@ -41,19 +40,13 @@ class TableReportFragment : AbstractReportFragment() {
private fun initUI() { private fun initUI() {
// Avoid a bug during setting the titleResId setDisplayHomeAsUpEnabled(true)
toolbar.title = "" setToolbarTitle(reportTitle)
parentActivity.setSupportActionBar(toolbar) val fragmentTransaction = parentActivity?.supportFragmentManager?.beginTransaction()
parentActivity.supportActionBar?.setDisplayHomeAsUpEnabled(true)
setHasOptionsMenu(true)
toolbar.title = reportTitle
val fragmentTransaction = parentActivity.supportFragmentManager.beginTransaction()
val fragment = ComposableTableReportFragment.newInstance(this.selectedReport) val fragment = ComposableTableReportFragment.newInstance(this.selectedReport)
fragmentTransaction.add(R.id.tableReportContainer, fragment) fragmentTransaction?.add(R.id.tableReportContainer, fragment)
fragmentTransaction.commit() fragmentTransaction?.commit()
this.tableReportFragment = fragment this.tableReportFragment = fragment

Loading…
Cancel
Save