Fix session deletion and improve UI

feature/top10
Aurelien Hubert 7 years ago
parent cf249ccc3a
commit a5d179441f
  1. 2
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  2. 18
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt

@ -143,8 +143,8 @@ open class Session : RealmObject(), SessionInterface, RowRepresentableDataSource
* TODO: Cascade delete?
*/
fun delete() {
cleanup()
realm.executeTransaction {
cleanup()
deleteFromRealm()
}
}

@ -31,6 +31,8 @@ class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Bott
private lateinit var currentSession: Session
private lateinit var sessionAdapter: RowRepresentableAdapter
private var sessionMenu: Menu? = null
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_session, container, false)
@ -43,12 +45,14 @@ class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Bott
override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) {
inflater?.inflate(R.menu.session_toolbar, menu)
this.sessionMenu = menu
updateSessionUI()
super.onCreateOptionsMenu(menu, inflater)
}
override fun onOptionsItemSelected(item: MenuItem?): Boolean {
when (item!!.itemId) {
R.id.restart -> toast("Restard is clicked!")
R.id.restart -> toast("Restart is clicked!")
R.id.delete -> {
currentSession.delete()
activity?.finish()
@ -154,31 +158,31 @@ class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Bott
when (currentSession.getState()) {
SessionState.PENDING -> {
sessionMenu?.findItem(R.id.restart)?.isVisible = false
floatingActionButton.setImageResource(R.drawable.ic_outline_play)
bottomAppBar.menu.findItem(R.id.stop).isVisible = false
floatingActionButton.animate().scaleX(1f).scaleY(1f).alpha(1f)
.setInterpolator(OvershootInterpolator()).start()
}
SessionState.STARTED -> {
sessionMenu?.findItem(R.id.restart)?.isVisible = true
floatingActionButton.setImageResource(R.drawable.ic_outline_pause)
bottomAppBar.menu.findItem(R.id.stop).isVisible = true
floatingActionButton.animate().scaleX(1f).scaleY(1f).alpha(1f)
.setInterpolator(OvershootInterpolator()).start()
}
SessionState.PAUSED -> {
sessionMenu?.findItem(R.id.restart)?.isVisible = true
floatingActionButton.setImageResource(R.drawable.ic_outline_play)
bottomAppBar.menu.findItem(R.id.stop).isVisible = true
floatingActionButton.animate().scaleX(1f).scaleY(1f).alpha(1f)
.setInterpolator(OvershootInterpolator()).start()
}
SessionState.FINISHED -> {
sessionMenu?.findItem(R.id.restart)?.isVisible = true
bottomAppBar.menu.findItem(R.id.stop).isVisible = false
floatingActionButton.animate()
.scaleX(0f)
.scaleY(0f)
.alpha(0f)
.setInterpolator(FastOutSlowInInterpolator())
.start()
floatingActionButton.animate().scaleX(0f).scaleY(0f).alpha(0f)
.setInterpolator(FastOutSlowInInterpolator()).start()
}
}

Loading…
Cancel
Save