Improve Session UI

feature/top10
Aurelien Hubert 7 years ago
parent 6de5f26733
commit 529005321b
  1. 47
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt

@ -27,6 +27,7 @@ import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowRepresentableDiffCallback
import net.pokeranalytics.android.ui.view.SessionRow
import net.pokeranalytics.android.ui.view.SmoothScrollLinearLayoutManager
import timber.log.Timber
import java.util.*
class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, BottomSheetDelegate {
@ -36,7 +37,7 @@ class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Bott
private var sessionMenu: Menu? = null
private val oldRows: ArrayList<RowRepresentable> = ArrayList()
private val handler: Handler = Handler()
private val refreshTimer: Runnable = object: Runnable {
private val refreshTimer: Runnable = object : Runnable {
override fun run() {
sessionAdapter.notifyItemChanged(0)
handler.postDelayed(this, 30000)
@ -60,7 +61,7 @@ class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Bott
override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) {
inflater?.inflate(R.menu.session_toolbar, menu)
this.sessionMenu = menu
updateSessionUI()
updateMenuUI()
super.onCreateOptionsMenu(menu, inflater)
}
@ -94,7 +95,7 @@ class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Bott
this,
currentSession.timeFrame?.endDate
)
else -> BottomSheetFragment.create(fragmentManager, row,this, data)
else -> BottomSheetFragment.create(fragmentManager, row, this, data)
}
}
@ -110,7 +111,7 @@ class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Bott
currentSession.updateValue(value, row)
sessionAdapter.refreshRow(row)
when (row) {
SessionRow.CASHED_OUT, SessionRow.BUY_IN, SessionRow.TIPS -> updateSessionUI()
SessionRow.CASHED_OUT, SessionRow.BUY_IN, SessionRow.TIPS,
SessionRow.START_DATE, SessionRow.END_DATE -> updateSessionUI()
}
}
@ -146,6 +147,8 @@ class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Bott
*/
private fun updateSessionUI() {
Timber.d("updateSessionUI")
handler.removeCallbacksAndMessages(null)
when (currentSession.getState()) {
@ -181,11 +184,36 @@ class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Bott
floatingActionButton.animate().scaleX(0f).scaleY(0f).alpha(0f)
.setInterpolator(FastOutSlowInInterpolator()).start()
}
else -> {
}
}
updateMenuUI()
updateAdapterUI(true)
}
/**
* Update Menu UI
*/
private fun updateMenuUI() {
when (currentSession.getState()) {
SessionState.PENDING -> {
sessionMenu?.findItem(R.id.restart)?.isVisible = false
sessionMenu?.findItem(R.id.stop)?.isVisible = false
}
SessionState.STARTED, SessionState.PAUSED -> {
sessionMenu?.findItem(R.id.restart)?.isVisible = true
sessionMenu?.findItem(R.id.stop)?.isVisible = true
}
SessionState.FINISHED -> {
sessionMenu?.findItem(R.id.restart)?.isVisible = true
sessionMenu?.findItem(R.id.stop)?.isVisible = false
}
else -> {
}
}
}
/**
* Update adapter UI
*/
@ -207,20 +235,16 @@ class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Bott
* Update the state of the session (start / pause)
*/
private fun manageSessionState() {
when (currentSession.getState()) {
SessionState.PENDING -> {
SessionState.PENDING, SessionState.PAUSED -> {
currentSession.startSession()
}
SessionState.STARTED -> {
currentSession.pauseSession()
}
SessionState.PAUSED -> {
currentSession.startSession()
else -> {
}
else -> {}
}
updateSessionUI()
}
@ -264,7 +288,8 @@ class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Bott
realm.commitTransaction()
}
toolbar.title = if (currentSession.type == Session.TYPE_TOURNAMENT) getString(R.string.tournament) else getString(R.string.cash_game)
toolbar.title =
if (currentSession.type == Session.TYPE_TOURNAMENT) getString(R.string.tournament) else getString(R.string.cash_game)
sessionAdapter = RowRepresentableAdapter(currentSession, this)
recyclerView.adapter = sessionAdapter

Loading…
Cancel
Save