fix issue with localized tablesize

feature/top10
Razmig Sarkissian 7 years ago
parent 8adfb98199
commit c8280700bf
  1. 6
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  2. 9
      app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableAdapter.kt
  3. 8
      app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt

@ -2,6 +2,7 @@ package net.pokeranalytics.android.model.realm
import android.content.Context
import android.text.InputType
import com.google.android.material.tabs.TabLayout
import io.realm.RealmList
import io.realm.RealmObject
import io.realm.annotations.Ignore
@ -10,6 +11,7 @@ import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.SessionInterface
import net.pokeranalytics.android.model.Limit
import net.pokeranalytics.android.model.LiveData
import net.pokeranalytics.android.model.TableSize
import net.pokeranalytics.android.model.extensions.SessionState
import net.pokeranalytics.android.model.extensions.getState
import net.pokeranalytics.android.model.interfaces.Savable
@ -281,14 +283,14 @@ open class Session : RealmObject(), SessionInterface, Savable,
return false
}
override fun stringForRow(row: RowRepresentable): String {
override fun stringForRow(row: RowRepresentable, context:Context): String {
return when (row) {
SessionRow.BUY_IN -> buyin.toCurrency()
SessionRow.BLINDS -> getBlinds()
SessionRow.GAME -> getGameTitle()
SessionRow.LOCATION -> location?.name ?: "--"
SessionRow.BANKROLL -> bankroll?.name ?: "--"
SessionRow.TABLE_SIZE -> tableSize?.toString() ?: "--" // if (tableSize != null) TableSize(tableSize ?: 0).localizedTitle(context) else "--"
SessionRow.TABLE_SIZE -> this.tableSize?.let { TableSize(it).localizedTitle(context) } ?: "--"
SessionRow.START_DATE -> if (timeFrame != null) timeFrame?.startDate?.shortDateTime() ?: "--" else "--"
SessionRow.END_DATE -> if (timeFrame != null) timeFrame?.endDate?.shortDateTime() ?: "--" else "--"
SessionRow.COMMENT -> if (comment.isNotEmpty()) comment else "--"

@ -1,5 +1,6 @@
package net.pokeranalytics.android.ui.adapter
import android.content.Context
import android.os.Handler
import android.view.ViewGroup
import androidx.recyclerview.widget.DiffUtil
@ -64,6 +65,13 @@ interface DisplayableDataSource {
return false
}
/**
* Returns a localized string for a specific row
*/
fun stringForRow(row: RowRepresentable, context: Context): String {
return stringForRow(row)
}
/**
* Returns a string for a specific row
*/
@ -71,6 +79,7 @@ interface DisplayableDataSource {
return ""
}
/**
* Returns an action icon identifier for a specific row
*/

@ -16,8 +16,6 @@ import kotlinx.android.synthetic.main.row_title_value_action.view.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
/**
* An interface used to factor the configuration of RecyclerView.ViewHolder
@ -117,7 +115,7 @@ enum class RowViewType {
override fun bind(position: Int, row: RowRepresentable, adapter: RowRepresentableAdapter) {
itemView.rowHeaderTitleValue_title.text = row.localizedTitle(itemView.context)
adapter.dataSource?.let {
itemView.rowHeaderTitleValue_value.text = it.stringForRow(row)
itemView.rowHeaderTitleValue_value.text = it.stringForRow(row, itemView.context)
}
val listener = View.OnClickListener {
adapter.delegate?.onRowSelected(position, row)
@ -132,7 +130,7 @@ enum class RowViewType {
override fun bind(position: Int, row: RowRepresentable, adapter: RowRepresentableAdapter) {
itemView.rowTitleValue_title.text = row.localizedTitle(itemView.context)
adapter.dataSource?.let {
itemView.rowTitleValue_value.text = it.stringForRow(row)
itemView.rowTitleValue_value.text = it.stringForRow(row, itemView.context)
}
val listener = View.OnClickListener {
adapter.delegate?.onRowSelected(position, row)
@ -168,7 +166,7 @@ enum class RowViewType {
itemView.rowTitleValueAction_title.text = row.localizedTitle(itemView.context)
adapter.dataSource?.let { rowDelegate ->
val value = rowDelegate.stringForRow(row)
val value = rowDelegate.stringForRow(row, itemView.context)
itemView.rowTitleValueAction_value.text = value
itemView.rowTitleValueAction_action.visibility = if (value == "--") View.GONE else View.VISIBLE
rowDelegate.actionIconForRow(row)?.let {icon ->

Loading…
Cancel
Save