|
|
|
@ -4,8 +4,6 @@ import android.content.Context |
|
|
|
import net.pokeranalytics.android.R |
|
|
|
import net.pokeranalytics.android.R |
|
|
|
import net.pokeranalytics.android.model.LiveData |
|
|
|
import net.pokeranalytics.android.model.LiveData |
|
|
|
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.ui.fragment.components.bottomsheet.BottomSheetType |
|
|
|
import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetType |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
@ -78,56 +76,11 @@ interface Displayable: Localizable { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* An enum to display headers as row representable |
|
|
|
* A class to display headers as row representable |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
enum class HeaderRowRepresentable : RowRepresentable { |
|
|
|
class HeaderRowRepresentable(override var resId: Int? = null, var title: String? = null, var value: String? = null) : RowRepresentable { |
|
|
|
|
|
|
|
|
|
|
|
HEADER_SESSION_DURATION, |
|
|
|
|
|
|
|
HEADER_SESSION_NET_HOURLY_RATE, |
|
|
|
|
|
|
|
HEADER_SESSION_BANKROLL_VARIATION; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override val resId: Int? |
|
|
|
|
|
|
|
get() { |
|
|
|
|
|
|
|
return when (this) { |
|
|
|
|
|
|
|
HEADER_SESSION_DURATION -> R.string.duration |
|
|
|
|
|
|
|
HEADER_SESSION_NET_HOURLY_RATE -> R.string.hour_rate_without_pauses |
|
|
|
|
|
|
|
HEADER_SESSION_BANKROLL_VARIATION -> R.string.bankroll_variation |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override val viewType: Int |
|
|
|
|
|
|
|
get() { |
|
|
|
|
|
|
|
return when (this) { |
|
|
|
|
|
|
|
HEADER_SESSION_DURATION, HEADER_SESSION_NET_HOURLY_RATE, HEADER_SESSION_BANKROLL_VARIATION -> { |
|
|
|
|
|
|
|
RowViewType.HEADER_DOUBLE_VALUES.ordinal |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fun getTitle(context: Context, data: Any) : String { |
|
|
|
|
|
|
|
return when (this) { |
|
|
|
|
|
|
|
HEADER_SESSION_DURATION -> { |
|
|
|
|
|
|
|
if (data is Session) { |
|
|
|
|
|
|
|
if (data.getState() == SessionState.PAUSED) context.getString(R.string.pause) else data.getDuration() |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
localizedTitle(context) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else -> localizedTitle(context) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fun getAmount(context: Context, data: Any) : Double { |
|
|
|
|
|
|
|
when (this) { |
|
|
|
|
|
|
|
HEADER_SESSION_DURATION -> { |
|
|
|
|
|
|
|
if (data is Session) { |
|
|
|
|
|
|
|
return data.result?.net ?: 0.0 |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return 0.0 |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override val viewType: Int = RowViewType.HEADER_DOUBLE_VALUES.ordinal |
|
|
|
override var displayHeader: Boolean = false |
|
|
|
override var displayHeader: Boolean = false |
|
|
|
override var headerValues: ArrayList<String> = ArrayList() |
|
|
|
override var headerValues: ArrayList<String> = ArrayList() |
|
|
|
|
|
|
|
|
|
|
|
|