diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt index 70e58398..bb582c6d 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt @@ -143,8 +143,8 @@ open class Session : RealmObject(), SessionInterface, RowRepresentableDataSource * TODO: Cascade delete? */ fun delete() { - cleanup() realm.executeTransaction { + cleanup() deleteFromRealm() } } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt index e27a2be2..d11c4424 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt @@ -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() } }