|
|
|
|
@ -3,6 +3,7 @@ package net.pokeranalytics.android.ui.view |
|
|
|
|
import android.content.Context |
|
|
|
|
import net.pokeranalytics.android.R |
|
|
|
|
import net.pokeranalytics.android.model.LiveData |
|
|
|
|
import net.pokeranalytics.android.model.extensions.SessionState |
|
|
|
|
import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetType |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
@ -37,7 +38,7 @@ interface RowRepresentable : Localizable { |
|
|
|
|
* The type of view associated with the row |
|
|
|
|
*/ |
|
|
|
|
val viewType: Int |
|
|
|
|
get() { |
|
|
|
|
get() { |
|
|
|
|
return 0 |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -56,32 +57,89 @@ interface RowRepresentable : Localizable { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
enum class SessionRow : RowRepresentable { |
|
|
|
|
|
|
|
|
|
DURATION, |
|
|
|
|
NET_HOURLY_RATE, |
|
|
|
|
BANKROLL_VARIATION, |
|
|
|
|
|
|
|
|
|
CASHED_OUT, |
|
|
|
|
BUY_IN, |
|
|
|
|
TIPS, |
|
|
|
|
|
|
|
|
|
GAME, |
|
|
|
|
BLINDS, |
|
|
|
|
LOCATION, |
|
|
|
|
BANKROLL, |
|
|
|
|
TABLE_SIZE, |
|
|
|
|
START_DATE, |
|
|
|
|
END_DATE, |
|
|
|
|
|
|
|
|
|
BREAK_TIME, |
|
|
|
|
COMMENT; |
|
|
|
|
|
|
|
|
|
companion object { |
|
|
|
|
/** |
|
|
|
|
* Return the rows to display for the current session state |
|
|
|
|
*/ |
|
|
|
|
fun getRowsForState(sessionState: SessionState): ArrayList<RowRepresentable> { |
|
|
|
|
return when (sessionState) { |
|
|
|
|
SessionState.PENDING -> { |
|
|
|
|
arrayListOf(GAME, BLINDS, LOCATION, BANKROLL, TABLE_SIZE, START_DATE, END_DATE) |
|
|
|
|
} |
|
|
|
|
SessionState.STARTED -> { |
|
|
|
|
arrayListOf( |
|
|
|
|
CASHED_OUT, BUY_IN, TIPS, |
|
|
|
|
GAME, BLINDS, LOCATION, BANKROLL, TABLE_SIZE, START_DATE, END_DATE, BREAK_TIME, COMMENT |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
SessionState.PAUSED -> { |
|
|
|
|
arrayListOf( |
|
|
|
|
CASHED_OUT, BUY_IN, TIPS, |
|
|
|
|
GAME, BLINDS, LOCATION, BANKROLL, TABLE_SIZE, START_DATE, END_DATE, BREAK_TIME, COMMENT |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
SessionState.FINISHED -> { |
|
|
|
|
arrayListOf( |
|
|
|
|
DURATION, NET_HOURLY_RATE, BANKROLL_VARIATION, |
|
|
|
|
CASHED_OUT, BUY_IN, TIPS, |
|
|
|
|
GAME, BLINDS, LOCATION, BANKROLL, TABLE_SIZE, START_DATE, END_DATE, BREAK_TIME, COMMENT |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
else -> arrayListOf() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override val resId: Int? |
|
|
|
|
get() { |
|
|
|
|
return when (this) { |
|
|
|
|
BLINDS -> R.string.blinds |
|
|
|
|
|
|
|
|
|
DURATION -> R.string.duration |
|
|
|
|
NET_HOURLY_RATE -> R.string.hour_rate_without_pauses |
|
|
|
|
BANKROLL_VARIATION -> R.string.bankroll_variation |
|
|
|
|
|
|
|
|
|
CASHED_OUT -> R.string.cashed_out |
|
|
|
|
BUY_IN -> R.string.buyin |
|
|
|
|
TIPS -> R.string.tips |
|
|
|
|
|
|
|
|
|
GAME -> R.string.game |
|
|
|
|
BLINDS -> R.string.blinds |
|
|
|
|
LOCATION -> R.string.location |
|
|
|
|
BANKROLL -> R.string.bankroll |
|
|
|
|
COMMENT -> R.string.comment |
|
|
|
|
TABLE_SIZE -> R.string.table_size |
|
|
|
|
START_DATE -> R.string.start_date |
|
|
|
|
END_DATE -> R.string.end_date |
|
|
|
|
BREAK_TIME -> R.string.break_time |
|
|
|
|
COMMENT -> R.string.comment |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override val viewType: Int |
|
|
|
|
get() { |
|
|
|
|
return when (this) { |
|
|
|
|
BLINDS, GAME, BANKROLL, LOCATION, COMMENT -> RowViewType.TITLE_VALUE.ordinal |
|
|
|
|
START_DATE, END_DATE -> RowViewType.TITLE_VALUE_ACTION.ordinal |
|
|
|
|
DURATION, NET_HOURLY_RATE, BANKROLL_VARIATION, |
|
|
|
|
CASHED_OUT, BUY_IN, TIPS, |
|
|
|
|
GAME, BLINDS, LOCATION, BANKROLL, TABLE_SIZE, COMMENT, START_DATE, END_DATE, BREAK_TIME -> RowViewType.TITLE_VALUE.ordinal |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -100,6 +158,7 @@ enum class SessionRow : RowRepresentable { |
|
|
|
|
|
|
|
|
|
enum class SimpleRow : RowRepresentable { |
|
|
|
|
NAME; |
|
|
|
|
|
|
|
|
|
override val resId: Int? = R.string.name |
|
|
|
|
override val viewType: Int = RowViewType.TITLE_VALUE.ordinal |
|
|
|
|
override val bottomSheetType: BottomSheetType = BottomSheetType.EDIT_TEXT |
|
|
|
|
@ -189,7 +248,7 @@ enum class TransactionTypeRow : RowRepresentable { |
|
|
|
|
enum class TournamentFeatureRow : RowRepresentable { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
enum class SettingRow: RowRepresentable { |
|
|
|
|
enum class SettingRow : RowRepresentable { |
|
|
|
|
BANKROLL, |
|
|
|
|
GAME, |
|
|
|
|
LOCATION, |
|
|
|
|
@ -207,7 +266,7 @@ enum class SettingRow: RowRepresentable { |
|
|
|
|
|
|
|
|
|
override val viewType: Int = RowViewType.TITLE.ordinal |
|
|
|
|
|
|
|
|
|
override val relatedResultsRepresentable : LiveData? |
|
|
|
|
override val relatedResultsRepresentable: LiveData? |
|
|
|
|
get() { |
|
|
|
|
return when (this) { |
|
|
|
|
BANKROLL -> LiveData.BANKROLL |
|
|
|
|
|