Add net result

feature/top10
Aurelien Hubert 7 years ago
parent 09888cffaf
commit 1ae178a9c5
  1. 8
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  2. 2
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt
  3. 229
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SessionRow.kt

@ -362,7 +362,7 @@ open class Session : RealmObject(), SessionInterface, Savable,
} }
// Rows // Rows
rows.addAll(SessionRow.getRows(type, getState())) rows.addAll(SessionRow.getRows(this))
return rows return rows
} }
@ -376,7 +376,7 @@ open class Session : RealmObject(), SessionInterface, Savable,
SessionRow.BLINDS -> getBlinds() SessionRow.BLINDS -> getBlinds()
SessionRow.BREAK_TIME -> timeFrame?.breakDuration?.toMinutes() ?: "--" SessionRow.BREAK_TIME -> timeFrame?.breakDuration?.toMinutes() ?: "--"
SessionRow.BUY_IN -> buyin.toCurrency() SessionRow.BUY_IN -> buyin.toCurrency()
SessionRow.CASHED_OUT, SessionRow.PRIZE -> result?.cashout?.toCurrency() ?: "--" SessionRow.CASHED_OUT, SessionRow.PRIZE, SessionRow.NET_RESULT -> result?.cashout?.toCurrency() ?: "--"
SessionRow.COMMENT -> if (comment.isNotEmpty()) comment else "--" SessionRow.COMMENT -> if (comment.isNotEmpty()) comment else "--"
SessionRow.END_DATE -> if (timeFrame != null) timeFrame?.endDate?.shortDateTime() ?: "--" else "--" SessionRow.END_DATE -> if (timeFrame != null) timeFrame?.endDate?.shortDateTime() ?: "--" else "--"
SessionRow.GAME -> getGameTitle() SessionRow.GAME -> getGameTitle()
@ -461,7 +461,7 @@ open class Session : RealmObject(), SessionInterface, Savable,
) )
) )
} }
SessionRow.CASHED_OUT, SessionRow.PRIZE -> { SessionRow.CASHED_OUT, SessionRow.PRIZE, SessionRow.NET_RESULT -> {
data.add( data.add(
RowRepresentableEditDescriptor( RowRepresentableEditDescriptor(
result?.cashout?.round(), result?.cashout?.round(),
@ -560,7 +560,7 @@ open class Session : RealmObject(), SessionInterface, Savable,
localResult.buyin = value as Double? localResult.buyin = value as Double?
result = localResult result = localResult
} }
SessionRow.CASHED_OUT, SessionRow.PRIZE -> { SessionRow.CASHED_OUT, SessionRow.PRIZE, SessionRow.NET_RESULT -> {
val localResult = if (result != null) result as Result else realm.createObject(Result::class.java) val localResult = if (result != null) result as Result else realm.createObject(Result::class.java)
if (value == null) { if (value == null) {

@ -104,7 +104,7 @@ class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Bott
currentSession.updateValue(value, row) currentSession.updateValue(value, row)
sessionAdapter.refreshRow(row) sessionAdapter.refreshRow(row)
when (row) { when (row) {
SessionRow.CASHED_OUT, SessionRow.PRIZE, SessionRow.BUY_IN, SessionRow.TIPS, SessionRow.CASHED_OUT, SessionRow.PRIZE, SessionRow.NET_RESULT, SessionRow.BUY_IN, SessionRow.TIPS,
SessionRow.START_DATE, SessionRow.END_DATE -> updateSessionUI() SessionRow.START_DATE, SessionRow.END_DATE -> updateSessionUI()
} }
} }

@ -2,6 +2,7 @@ package net.pokeranalytics.android.ui.view.rowrepresentable
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.extensions.SessionState import net.pokeranalytics.android.model.extensions.SessionState
import net.pokeranalytics.android.model.extensions.getState
import net.pokeranalytics.android.model.realm.Session import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetType import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetType
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
@ -10,121 +11,131 @@ import net.pokeranalytics.android.ui.view.RowViewType
enum class SessionRow : RowRepresentable { enum class SessionRow : RowRepresentable {
PRIZE, PRIZE,
CASHED_OUT, CASHED_OUT,
INITIAL_BUY_IN, NET_RESULT,
BUY_IN, INITIAL_BUY_IN,
POSITION, BUY_IN,
PLAYERS, POSITION,
TIPS, PLAYERS,
TIPS,
GAME, GAME,
BLINDS, BLINDS,
LOCATION, LOCATION,
BANKROLL, BANKROLL,
TABLE_SIZE, TABLE_SIZE,
TOURNAMENT_TYPE, TOURNAMENT_TYPE,
START_DATE, START_DATE,
END_DATE, END_DATE,
BREAK_TIME, BREAK_TIME,
COMMENT; COMMENT;
companion object { companion object {
/** /**
* Return the rows to display for the current session state * Return the rows to display for the current session state
*/ */
fun getRows(type: Int, sessionState: SessionState): ArrayList<RowRepresentable> { fun getRows(session: Session): ArrayList<RowRepresentable> {
when (type) { when (session.type) {
Session.Type.TOURNAMENT.ordinal -> { Session.Type.TOURNAMENT.ordinal -> {
return when (sessionState) { return when (session.getState()) {
SessionState.PENDING, SessionState.PLANNED -> { SessionState.PENDING, SessionState.PLANNED -> {
arrayListOf( arrayListOf(
GAME, INITIAL_BUY_IN, LOCATION, BANKROLL, TABLE_SIZE, TOURNAMENT_TYPE, GAME, INITIAL_BUY_IN, LOCATION, BANKROLL, TABLE_SIZE, TOURNAMENT_TYPE,
START_DATE, END_DATE START_DATE, END_DATE
) )
} }
SessionState.STARTED, SessionState.PAUSED, SessionState.FINISHED -> { SessionState.STARTED, SessionState.PAUSED, SessionState.FINISHED -> {
arrayListOf( arrayListOf(
PRIZE, BUY_IN, POSITION, PLAYERS, TIPS, PRIZE, BUY_IN, POSITION, PLAYERS, TIPS,
GAME, INITIAL_BUY_IN, LOCATION, BANKROLL, TABLE_SIZE, TOURNAMENT_TYPE, GAME, INITIAL_BUY_IN, LOCATION, BANKROLL, TABLE_SIZE, TOURNAMENT_TYPE,
START_DATE, END_DATE, BREAK_TIME, COMMENT START_DATE, END_DATE, BREAK_TIME, COMMENT
) )
} }
else -> arrayListOf() else -> arrayListOf()
} }
} }
Session.Type.CASH_GAME.ordinal -> { Session.Type.CASH_GAME.ordinal -> {
return when (sessionState) { when (session.getState()) {
SessionState.PENDING, SessionState.PLANNED -> { SessionState.PENDING, SessionState.PLANNED -> {
arrayListOf(GAME, BLINDS, LOCATION, BANKROLL, TABLE_SIZE, START_DATE, END_DATE) return arrayListOf(GAME, BLINDS, LOCATION, BANKROLL, TABLE_SIZE, START_DATE, END_DATE)
} }
SessionState.STARTED, SessionState.PAUSED, SessionState.FINISHED -> { SessionState.STARTED, SessionState.PAUSED, SessionState.FINISHED -> {
arrayListOf( val liveBankroll = session.bankroll?.live ?: false
CASHED_OUT, BUY_IN, TIPS, return if (liveBankroll) {
GAME, BLINDS, LOCATION, BANKROLL, TABLE_SIZE, START_DATE, END_DATE, BREAK_TIME, COMMENT arrayListOf(
) CASHED_OUT, BUY_IN, TIPS,
} GAME, BLINDS, LOCATION, BANKROLL, TABLE_SIZE, START_DATE, END_DATE, BREAK_TIME, COMMENT
else -> arrayListOf() )
} } else {
} arrayListOf(
} NET_RESULT, BUY_IN, TIPS,
return arrayListOf() GAME, BLINDS, LOCATION, BANKROLL, TABLE_SIZE, START_DATE, END_DATE, BREAK_TIME, COMMENT
} )
} }
}
else -> return arrayListOf()
}
}
}
return arrayListOf()
}
}
override val needSeparator: Boolean override val needSeparator: Boolean
get() { get() {
return when (this) { return when (this) {
SessionRow.TIPS -> true SessionRow.TIPS -> true
else -> false else -> false
} }
} }
override val resId: Int? override val resId: Int?
get() { get() {
return when (this) { return when (this) {
PRIZE -> R.string.prize NET_RESULT -> R.string.net_result
POSITION -> R.string.position PRIZE -> R.string.prize
PLAYERS -> R.string.players POSITION -> R.string.position
CASHED_OUT -> R.string.cashed_out PLAYERS -> R.string.players
INITIAL_BUY_IN -> R.string.initial_stack CASHED_OUT -> R.string.cashed_out
BUY_IN -> R.string.buyin INITIAL_BUY_IN -> R.string.initial_stack
TIPS -> R.string.tips BUY_IN -> R.string.buyin
GAME -> R.string.game TIPS -> R.string.tips
BLINDS -> R.string.blinds GAME -> R.string.game
LOCATION -> R.string.location BLINDS -> R.string.blinds
BANKROLL -> R.string.bankroll LOCATION -> R.string.location
TABLE_SIZE -> R.string.table_size BANKROLL -> R.string.bankroll
TOURNAMENT_TYPE -> R.string.tournament_type TABLE_SIZE -> R.string.table_size
START_DATE -> R.string.start_date TOURNAMENT_TYPE -> R.string.tournament_type
END_DATE -> R.string.end_date START_DATE -> R.string.start_date
BREAK_TIME -> R.string.break_time END_DATE -> R.string.end_date
COMMENT -> R.string.comment BREAK_TIME -> R.string.break_time
} COMMENT -> R.string.comment
} }
}
override val viewType: Int override val viewType: Int
get() { get() {
return when (this) { return when (this) {
PRIZE, POSITION, PLAYERS, CASHED_OUT, INITIAL_BUY_IN, BUY_IN, TIPS, NET_RESULT, PRIZE, POSITION, PLAYERS, CASHED_OUT, INITIAL_BUY_IN, BUY_IN, TIPS,
GAME, BLINDS, LOCATION, BANKROLL, TABLE_SIZE, COMMENT, GAME, BLINDS, LOCATION, BANKROLL, TABLE_SIZE, COMMENT,
TOURNAMENT_TYPE, START_DATE, END_DATE, BREAK_TIME -> RowViewType.TITLE_VALUE.ordinal TOURNAMENT_TYPE, START_DATE, END_DATE, BREAK_TIME -> RowViewType.TITLE_VALUE.ordinal
} }
} }
override val bottomSheetType: BottomSheetType override val bottomSheetType: BottomSheetType
get() { get() {
return when (this) { return when (this) {
CASHED_OUT, INITIAL_BUY_IN, BREAK_TIME, POSITION, PLAYERS, PRIZE -> BottomSheetType.EDIT_TEXT NET_RESULT, CASHED_OUT, INITIAL_BUY_IN, BREAK_TIME, POSITION, PLAYERS, PRIZE -> BottomSheetType.EDIT_TEXT
BUY_IN, TIPS -> BottomSheetType.SUM BUY_IN, TIPS -> BottomSheetType.SUM
BLINDS -> BottomSheetType.DOUBLE_EDIT_TEXT BLINDS -> BottomSheetType.DOUBLE_EDIT_TEXT
GAME -> BottomSheetType.LIST_GAME GAME -> BottomSheetType.LIST_GAME
LOCATION, BANKROLL, TOURNAMENT_TYPE -> BottomSheetType.LIST LOCATION, BANKROLL, TOURNAMENT_TYPE -> BottomSheetType.LIST
TABLE_SIZE -> BottomSheetType.GRID TABLE_SIZE -> BottomSheetType.GRID
COMMENT -> BottomSheetType.EDIT_TEXT_MULTI_LINES COMMENT -> BottomSheetType.EDIT_TEXT_MULTI_LINES
else -> BottomSheetType.NONE else -> BottomSheetType.NONE
} }
} }
} }
Loading…
Cancel
Save