From 85fdbdaa9d1c7b75a5d480506cb0848c00f4cd61 Mon Sep 17 00:00:00 2001 From: Laurent Date: Tue, 11 Feb 2020 11:27:19 +0100 Subject: [PATCH] Fixes various card selection issues --- .../modules/handhistory/HandHistoryAdapter.kt | 42 +++++++++---------- .../handhistory/model/HandHistorySettings.kt | 8 ---- .../handhistory/model/HandHistoryViewModel.kt | 29 +++++++------ .../ui/modules/handhistory/views/CardsRow.kt | 14 ++++--- 4 files changed, 45 insertions(+), 48 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryAdapter.kt b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryAdapter.kt index a44ca387..cabf6ef1 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryAdapter.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/HandHistoryAdapter.kt @@ -384,7 +384,7 @@ class HandHistoryAdapter( flopEditText.setText(text) val selected = adapter.dataSource.isSelected(position, row, Street.FLOP.ordinal) - if (selected) flopEditText.requestFocus() else flopEditText.clearFocus() + toggleFocus(flopEditText, selected) } @@ -399,8 +399,8 @@ class HandHistoryAdapter( turnEditText.text = null } - val selected = adapter.dataSource.isSelected(position, row, Street.FLOP.ordinal) - if (selected) turnEditText.requestFocus() else turnEditText.clearFocus() + val selected = adapter.dataSource.isSelected(position, row, Street.TURN.ordinal) + toggleFocus(turnEditText, selected) } itemView.findViewById(R.id.riverEditText)?.let { riverEditText -> @@ -414,8 +414,8 @@ class HandHistoryAdapter( riverEditText.text = null } - val selected = adapter.dataSource.isSelected(position, row, Street.FLOP.ordinal) - if (selected) riverEditText.requestFocus() else riverEditText.clearFocus() + val selected = adapter.dataSource.isSelected(position, row, Street.RIVER.ordinal) + toggleFocus(riverEditText, selected) } } @@ -428,23 +428,25 @@ class HandHistoryAdapter( */ inner class RowHandPlayerSummary(itemView: View) : RowHandHolder(itemView) { + private val CARDS_TAG = 0 + init { // Cards - itemView.findViewById(R.id.cardsEditText)?.let { amountEditText -> + itemView.findViewById(R.id.cardsEditText)?.let { cardsEditText -> - amountEditText.isFocusableInTouchMode = true + cardsEditText.isFocusableInTouchMode = true - amountEditText.setOnTouchListener { _, event -> + cardsEditText.setOnTouchListener { _, event -> if (event.action == MotionEvent.ACTION_UP) { // Both are required, otherwise requestFocus() fails - amountEditText.isFocusable = true - amountEditText.isFocusableInTouchMode = true + cardsEditText.isFocusable = true + cardsEditText.isFocusableInTouchMode = true - amountEditText.requestFocus() + cardsEditText.requestFocus() - editTextSelected(amountEditText, true, HHKeyboard.AMOUNT.ordinal) + editTextSelected(cardsEditText, true, CARDS_TAG) } return@setOnTouchListener true } @@ -459,30 +461,24 @@ class HandHistoryAdapter( val playerCardView = row as PlayerCardsRow // Position - itemView.findViewById