|
|
|
@ -10,9 +10,9 @@ import android.widget.Button |
|
|
|
import android.widget.EditText |
|
|
|
import android.widget.EditText |
|
|
|
import androidx.core.view.isVisible |
|
|
|
import androidx.core.view.isVisible |
|
|
|
import androidx.recyclerview.widget.RecyclerView |
|
|
|
import androidx.recyclerview.widget.RecyclerView |
|
|
|
|
|
|
|
import com.google.android.material.chip.Chip |
|
|
|
import kotlinx.android.synthetic.main.row_hhsettings_blinds.view.* |
|
|
|
import kotlinx.android.synthetic.main.row_hhsettings_blinds.view.* |
|
|
|
import kotlinx.android.synthetic.main.row_hhsettings_player_setup.view.* |
|
|
|
import kotlinx.android.synthetic.main.row_hhsettings_player_setup.view.* |
|
|
|
import kotlinx.android.synthetic.main.row_hhsettings_straddle.view.* |
|
|
|
|
|
|
|
import net.pokeranalytics.android.R |
|
|
|
import net.pokeranalytics.android.R |
|
|
|
import net.pokeranalytics.android.exceptions.PAIllegalStateException |
|
|
|
import net.pokeranalytics.android.exceptions.PAIllegalStateException |
|
|
|
import net.pokeranalytics.android.model.handhistory.Street |
|
|
|
import net.pokeranalytics.android.model.handhistory.Street |
|
|
|
@ -21,8 +21,10 @@ import net.pokeranalytics.android.ui.adapter.BindableHolder |
|
|
|
import net.pokeranalytics.android.ui.adapter.RecyclerAdapter |
|
|
|
import net.pokeranalytics.android.ui.adapter.RecyclerAdapter |
|
|
|
import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource |
|
|
|
import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource |
|
|
|
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate |
|
|
|
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate |
|
|
|
|
|
|
|
import net.pokeranalytics.android.ui.extensions.px |
|
|
|
import net.pokeranalytics.android.ui.modules.handhistory.model.ComputedAction |
|
|
|
import net.pokeranalytics.android.ui.modules.handhistory.model.ComputedAction |
|
|
|
import net.pokeranalytics.android.ui.modules.handhistory.model.HHKeyboard |
|
|
|
import net.pokeranalytics.android.ui.modules.handhistory.model.HHKeyboard |
|
|
|
|
|
|
|
import net.pokeranalytics.android.ui.modules.handhistory.model.StraddleRowRepresentable |
|
|
|
import net.pokeranalytics.android.ui.modules.handhistory.views.PlayerCardsRow |
|
|
|
import net.pokeranalytics.android.ui.modules.handhistory.views.PlayerCardsRow |
|
|
|
import net.pokeranalytics.android.ui.modules.handhistory.views.StreetCardsRow |
|
|
|
import net.pokeranalytics.android.ui.modules.handhistory.views.StreetCardsRow |
|
|
|
import net.pokeranalytics.android.ui.view.RowRepresentable |
|
|
|
import net.pokeranalytics.android.ui.view.RowRepresentable |
|
|
|
@ -31,7 +33,7 @@ import net.pokeranalytics.android.ui.view.rowrepresentable.ViewIdentifier |
|
|
|
import timber.log.Timber |
|
|
|
import timber.log.Timber |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
enum class HandRowType(var layoutRes: Int) : ViewIdentifier { |
|
|
|
enum class HandRowType(var layoutRes: Int) : ViewIdentifier, RowRepresentable { |
|
|
|
HEADER(R.layout.row_header_value), |
|
|
|
HEADER(R.layout.row_header_value), |
|
|
|
ACTION(R.layout.row_hand_action), |
|
|
|
ACTION(R.layout.row_hand_action), |
|
|
|
PLAYER_SUMMARY(R.layout.row_hand_player_summary), |
|
|
|
PLAYER_SUMMARY(R.layout.row_hand_player_summary), |
|
|
|
@ -42,6 +44,8 @@ enum class HandRowType(var layoutRes: Int) : ViewIdentifier { |
|
|
|
PLAYER_SETUP(R.layout.row_hhsettings_player_setup) |
|
|
|
PLAYER_SETUP(R.layout.row_hhsettings_player_setup) |
|
|
|
; |
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override val viewType: Int = this.ordinal |
|
|
|
|
|
|
|
|
|
|
|
override val identifier: Int |
|
|
|
override val identifier: Int |
|
|
|
get() { return this.ordinal } |
|
|
|
get() { return this.ordinal } |
|
|
|
} |
|
|
|
} |
|
|
|
@ -368,9 +372,9 @@ class HandHistoryAdapter( |
|
|
|
override fun onBind(position: Int, row: RowRepresentable, adapter: RecyclerAdapter) { |
|
|
|
override fun onBind(position: Int, row: RowRepresentable, adapter: RecyclerAdapter) { |
|
|
|
super.onBind(position, row, adapter) |
|
|
|
super.onBind(position, row, adapter) |
|
|
|
|
|
|
|
|
|
|
|
itemView.smallBlindEditText.setText(adapter.dataSource.stringForRow(row)) |
|
|
|
itemView.smallBlindEditText.setText(adapter.dataSource.stringForRow(row, 0)) |
|
|
|
itemView.bigBlindEditText.setText(adapter.dataSource.stringForRow(row)) |
|
|
|
itemView.bigBlindEditText.setText(adapter.dataSource.stringForRow(row, 1)) |
|
|
|
itemView.anteEditText.setText(adapter.dataSource.stringForRow(row)) |
|
|
|
itemView.anteEditText.setText(adapter.dataSource.stringForRow(row, 2)) |
|
|
|
itemView.bbAnteSwitch.isChecked = adapter.dataSource.isSelected(position, row, 0) |
|
|
|
itemView.bbAnteSwitch.isChecked = adapter.dataSource.isSelected(position, row, 0) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -381,27 +385,36 @@ class HandHistoryAdapter( |
|
|
|
override fun onBind(position: Int, row: RowRepresentable, adapter: RecyclerAdapter) { |
|
|
|
override fun onBind(position: Int, row: RowRepresentable, adapter: RecyclerAdapter) { |
|
|
|
super.onBind(position, row, adapter) |
|
|
|
super.onBind(position, row, adapter) |
|
|
|
|
|
|
|
|
|
|
|
// itemView.typeChipGroup.clearCheck() |
|
|
|
val straddleRow = row as StraddleRowRepresentable |
|
|
|
|
|
|
|
|
|
|
|
itemView.typeChipGroup.setOnCheckedChangeListener { chipGroup, i -> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
itemView.positionsChipGroup.removeAllViews() |
|
|
|
|
|
|
|
straddleRow.positions.forEach { pos -> |
|
|
|
|
|
|
|
|
|
|
|
val hadStraddle = adapter.dataSource.isSelectable(row) |
|
|
|
val chip = Chip(itemView.context) |
|
|
|
val countVisibility = if (hadStraddle) View.VISIBLE else View.GONE |
|
|
|
chip.id = View.generateViewId() |
|
|
|
|
|
|
|
// chip.tag = filter.id |
|
|
|
|
|
|
|
chip.text = pos.value |
|
|
|
|
|
|
|
chip.chipStartPadding = 8f.px |
|
|
|
|
|
|
|
chip.chipEndPadding = 8f.px |
|
|
|
|
|
|
|
|
|
|
|
itemView.countTextView.visibility = countVisibility |
|
|
|
chip.isChecked = straddleRow.selectedPositions.contains(pos) |
|
|
|
itemView.minusButton.visibility = countVisibility |
|
|
|
chip.setOnClickListener { |
|
|
|
itemView.plusButton.visibility = countVisibility |
|
|
|
if (chip.isChecked) { |
|
|
|
|
|
|
|
straddleRow.selectedPositions.add(pos) |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
straddleRow.selectedPositions.remove(pos) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
adapter.delegate?.onRowValueChanged(straddleRow.selectedPositions, row) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
itemView.positionsChipGroup.addView(chip) |
|
|
|
|
|
|
|
|
|
|
|
itemView.countTextView.text = adapter.dataSource.stringForRow(row) |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
// type: none, std, mississipi |
|
|
|
|
|
|
|
// number |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inner class RowHandPlayerSetup(itemView: View) : RowHandHolder(itemView) { |
|
|
|
inner class RowHandPlayerSetup(itemView: View) : RowHandHolder(itemView) { |
|
|
|
|
|
|
|
|
|
|
|
override fun onBind(position: Int, row: RowRepresentable, adapter: RecyclerAdapter) { |
|
|
|
override fun onBind(position: Int, row: RowRepresentable, adapter: RecyclerAdapter) { |
|
|
|
@ -409,8 +422,8 @@ class HandHistoryAdapter( |
|
|
|
|
|
|
|
|
|
|
|
// itemView.positionsChipGroup |
|
|
|
// itemView.positionsChipGroup |
|
|
|
|
|
|
|
|
|
|
|
itemView.handEditText.setText(adapter.dataSource.stringForRow(row)) |
|
|
|
itemView.handEditText.setText(adapter.dataSource.stringForRow(row, 0)) |
|
|
|
itemView.stackEditText.setText(adapter.dataSource.stringForRow(row)) |
|
|
|
itemView.stackEditText.setText(adapter.dataSource.stringForRow(row, 1)) |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|