Update session fragment access

dev_raz_wip
Aurelien Hubert 7 years ago
parent 9be6c36284
commit c1ac9c79fb
  1. 4
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  2. 2
      app/src/main/java/net/pokeranalytics/android/ui/activity/SessionActivity.kt
  3. 47
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt

@ -204,15 +204,19 @@ open class Session : RealmObject(), SessionInterface, DynamicRowDelegate, Displa
} }
//TODO: Update //TODO: Update
SessionRow.START_DATE -> if (value is Date) { SessionRow.START_DATE -> if (value is Date) {
/*
val timeFrameToUpdate = timeFrame ?: TimeFrame() val timeFrameToUpdate = timeFrame ?: TimeFrame()
timeFrameToUpdate.setDate(value, null) timeFrameToUpdate.setDate(value, null)
timeFrame = timeFrameToUpdate timeFrame = timeFrameToUpdate
*/
} }
//TODO: Update //TODO: Update
SessionRow.END_DATE -> if (value is Date) { SessionRow.END_DATE -> if (value is Date) {
/*
val timeFrameToUpdate = timeFrame ?: TimeFrame() val timeFrameToUpdate = timeFrame ?: TimeFrame()
timeFrameToUpdate.setDate(timeFrame?.startDate ?: Date(), value) timeFrameToUpdate.setDate(timeFrame?.startDate ?: Date(), value)
timeFrame = timeFrameToUpdate timeFrame = timeFrameToUpdate
*/
} }
} }
realm.commitTransaction() realm.commitTransaction()

@ -41,7 +41,7 @@ class SessionActivity: PokerAnalyticsActivity() {
val sessionId = intent.getStringExtra("session_id") val sessionId = intent.getStringExtra("session_id")
val isTournament = intent.getBooleanExtra("is_tournament", false) val isTournament = intent.getBooleanExtra("is_tournament", false)
val fragment = newSessionFragment as SessionFragment val fragment = newSessionFragment as SessionFragment
fragment.setData(isTournament) fragment.setData(isTournament, sessionId)
} }
/** /**

@ -6,6 +6,7 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.Toast import android.widget.Toast
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import io.realm.kotlin.where
import kotlinx.android.synthetic.main.fragment_new_session.* import kotlinx.android.synthetic.main.fragment_new_session.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.DataList import net.pokeranalytics.android.model.DataList
@ -25,7 +26,7 @@ import java.util.*
class SessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomSheetDelegate { class SessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomSheetDelegate {
private lateinit var currentSession: Session 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? { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_new_session, container, false) 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?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
initData()
initUI() initUI()
} }
override fun onRowSelected(row: DynamicRowInterface) { override fun onRowSelected(row: DynamicRowInterface) {
val data = currentSession.getBottomSheetData(row) val data = currentSession.getBottomSheetData(row)
when(row) { when (row) {
SessionRow.START_DATE -> DateTimePickerManager.create(requireContext(), row, this, currentSession.timeFrame?.startDate) SessionRow.START_DATE -> DateTimePickerManager.create(
SessionRow.END_DATE -> DateTimePickerManager.create(requireContext(), row, this, currentSession.timeFrame?.endDate) requireContext(),
row,
this,
currentSession.timeFrame?.startDate
)
SessionRow.END_DATE -> DateTimePickerManager.create(
requireContext(),
row,
this,
currentSession.timeFrame?.endDate
)
else -> BottomSheetFragment.create(fragmentManager, row, this, data) else -> BottomSheetFragment.create(fragmentManager, row, this, data)
} }
} }
@ -51,7 +61,7 @@ class SessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomShee
} }
override fun clickOnAdd(row: DynamicRowInterface) { override fun clickOnAdd(row: DynamicRowInterface) {
when(row) { when (row) {
SessionRow.GAME -> EditableDataActivity.newInstance(requireContext(), DataList.GAME.ordinal) SessionRow.GAME -> EditableDataActivity.newInstance(requireContext(), DataList.GAME.ordinal)
SessionRow.BANKROLL -> EditableDataActivity.newInstance(requireContext(), DataList.BANKROLL.ordinal) SessionRow.BANKROLL -> EditableDataActivity.newInstance(requireContext(), DataList.BANKROLL.ordinal)
SessionRow.LOCATION -> EditableDataActivity.newInstance(requireContext(), DataList.LOCATION.ordinal) SessionRow.LOCATION -> EditableDataActivity.newInstance(requireContext(), DataList.LOCATION.ordinal)
@ -68,13 +78,6 @@ class SessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomShee
sessionAdapter.refreshRow(row) sessionAdapter.refreshRow(row)
} }
private fun initData() {
val realm = getRealm()
realm.beginTransaction()
currentSession = realm.createObject(Session::class.java, UUID.randomUUID().toString())
realm.commitTransaction()
}
/** /**
* Init UI * Init UI
*/ */
@ -85,12 +88,10 @@ class SessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomShee
activity.supportActionBar?.setDisplayHomeAsUpEnabled(true) activity.supportActionBar?.setDisplayHomeAsUpEnabled(true)
val viewManager = LinearLayoutManager(requireContext()) val viewManager = LinearLayoutManager(requireContext())
sessionAdapter = DynamicListAdapter(currentSession, this)
recyclerView.apply { recyclerView.apply {
setHasFixedSize(true) setHasFixedSize(true)
layoutManager = viewManager layoutManager = viewManager
adapter = sessionAdapter
} }
} }
@ -98,8 +99,22 @@ class SessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomShee
/** /**
* Set fragment data * Set fragment data
*/ */
fun setData(isTournament: Boolean) { fun setData(isTournament: Boolean, sessionId: String) {
toolbar.title = if (isTournament) "Tournament" else "Cash game" toolbar.title = if (isTournament) "Tournament" else "Cash game"
val realm = getRealm()
val sessionRealm = realm.where<Session>().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
} }
} }
Loading…
Cancel
Save