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 76cd9dc7..50fefa73 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 @@ -204,15 +204,19 @@ open class Session : RealmObject(), SessionInterface, DynamicRowDelegate, Displa } //TODO: Update SessionRow.START_DATE -> if (value is Date) { + /* val timeFrameToUpdate = timeFrame ?: TimeFrame() timeFrameToUpdate.setDate(value, null) timeFrame = timeFrameToUpdate + */ } //TODO: Update SessionRow.END_DATE -> if (value is Date) { + /* val timeFrameToUpdate = timeFrame ?: TimeFrame() timeFrameToUpdate.setDate(timeFrame?.startDate ?: Date(), value) timeFrame = timeFrameToUpdate + */ } } realm.commitTransaction() diff --git a/app/src/main/java/net/pokeranalytics/android/ui/activity/SessionActivity.kt b/app/src/main/java/net/pokeranalytics/android/ui/activity/SessionActivity.kt index 0766a360..e7d7810c 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/activity/SessionActivity.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/activity/SessionActivity.kt @@ -41,7 +41,7 @@ class SessionActivity: PokerAnalyticsActivity() { val sessionId = intent.getStringExtra("session_id") val isTournament = intent.getBooleanExtra("is_tournament", false) val fragment = newSessionFragment as SessionFragment - fragment.setData(isTournament) + fragment.setData(isTournament, sessionId) } /** 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 5b7809f2..99222a26 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 @@ -6,6 +6,7 @@ import android.view.View import android.view.ViewGroup import android.widget.Toast import androidx.recyclerview.widget.LinearLayoutManager +import io.realm.kotlin.where import kotlinx.android.synthetic.main.fragment_new_session.* import net.pokeranalytics.android.R import net.pokeranalytics.android.model.DataList @@ -25,7 +26,7 @@ import java.util.* class SessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomSheetDelegate { private lateinit var currentSession: Session - private lateinit var sessionAdapter : DynamicListAdapter + private lateinit var sessionAdapter: DynamicListAdapter override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { return inflater.inflate(R.layout.fragment_new_session, container, false) @@ -33,15 +34,24 @@ class SessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomShee override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - initData() initUI() } override fun onRowSelected(row: DynamicRowInterface) { val data = currentSession.getBottomSheetData(row) - when(row) { - SessionRow.START_DATE -> DateTimePickerManager.create(requireContext(), row, this, currentSession.timeFrame?.startDate) - SessionRow.END_DATE -> DateTimePickerManager.create(requireContext(), row, this, currentSession.timeFrame?.endDate) + when (row) { + SessionRow.START_DATE -> DateTimePickerManager.create( + requireContext(), + row, + this, + currentSession.timeFrame?.startDate + ) + SessionRow.END_DATE -> DateTimePickerManager.create( + requireContext(), + row, + this, + currentSession.timeFrame?.endDate + ) else -> BottomSheetFragment.create(fragmentManager, row, this, data) } } @@ -51,7 +61,7 @@ class SessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomShee } override fun clickOnAdd(row: DynamicRowInterface) { - when(row) { + when (row) { SessionRow.GAME -> EditableDataActivity.newInstance(requireContext(), DataList.GAME.ordinal) SessionRow.BANKROLL -> EditableDataActivity.newInstance(requireContext(), DataList.BANKROLL.ordinal) SessionRow.LOCATION -> EditableDataActivity.newInstance(requireContext(), DataList.LOCATION.ordinal) @@ -68,13 +78,6 @@ class SessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomShee sessionAdapter.refreshRow(row) } - private fun initData() { - val realm = getRealm() - realm.beginTransaction() - currentSession = realm.createObject(Session::class.java, UUID.randomUUID().toString()) - realm.commitTransaction() - } - /** * Init UI */ @@ -85,12 +88,10 @@ class SessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomShee activity.supportActionBar?.setDisplayHomeAsUpEnabled(true) val viewManager = LinearLayoutManager(requireContext()) - sessionAdapter = DynamicListAdapter(currentSession, this) recyclerView.apply { setHasFixedSize(true) layoutManager = viewManager - adapter = sessionAdapter } } @@ -98,8 +99,22 @@ class SessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomShee /** * Set fragment data */ - fun setData(isTournament: Boolean) { + fun setData(isTournament: Boolean, sessionId: String) { toolbar.title = if (isTournament) "Tournament" else "Cash game" + + val realm = getRealm() + val sessionRealm = realm.where().equalTo("id", sessionId).findFirst() + if (sessionRealm != null) { + currentSession = sessionRealm + } else { + realm.beginTransaction() + currentSession = realm.createObject(Session::class.java, UUID.randomUUID().toString()) + realm.commitTransaction() + } + + sessionAdapter = DynamicListAdapter(currentSession, this) + recyclerView.adapter = sessionAdapter + } } \ No newline at end of file