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
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()

@ -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)
}
/**

@ -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<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