From b98c0c3a3830a62a02ea694b12314571a4de9816 Mon Sep 17 00:00:00 2001 From: Laurent Date: Mon, 3 Feb 2020 11:08:56 +0100 Subject: [PATCH] Keyboard improvement + doc --- .../handhistory/views/KeyboardAmountView.kt | 18 ++++++++++++++++-- .../handhistory/views/KeyboardContainer.kt | 4 ++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/KeyboardAmountView.kt b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/KeyboardAmountView.kt index bcd6d28c..93b9ffd6 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/KeyboardAmountView.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/KeyboardAmountView.kt @@ -17,6 +17,7 @@ import net.pokeranalytics.android.ui.view.GridSpacingItemDecoration import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowViewType import net.pokeranalytics.android.util.extensions.noGroupingFormatted +import timber.log.Timber import java.text.DecimalFormatSymbols class NumericKey : RowRepresentable { @@ -64,10 +65,16 @@ class NumericKey : RowRepresentable { class KeyboardAmountView(context: Context) : AbstractKeyboardView(context), StaticRowRepresentableDataSource, RowRepresentableDelegate { + /*** + * The adapter managing the grid displayed keyboard + */ private var dataAdapter: RowRepresentableAdapter private lateinit var editText: EditText + /*** + * The interface linking the keyboard to the EditText + */ private var inputConnection: InputConnection? = null init { @@ -94,7 +101,7 @@ class KeyboardAmountView(context: Context) : AbstractKeyboardView(context), this.clearButton.setOnClickListener { this.editText.text = null - this.keyboardListener?.clearAmount() + this.keyboardListener?.amountCleared() } this.closeButton.setOnClickListener { @@ -103,11 +110,18 @@ class KeyboardAmountView(context: Context) : AbstractKeyboardView(context), } fun setEditText(editText: EditText, amount: Double?) { + + Timber.d("edit text = $editText") + this.editText = editText editText.setText(amount?.noGroupingFormatted) +// editText.requestFocus() + + editText.onCreateInputConnection(EditorInfo())?.let { + this.inputConnection = it + } ?: run { throw PAIllegalStateException("EditText did not return an input Connection") } - this.inputConnection = editText.onCreateInputConnection(EditorInfo()) } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/KeyboardContainer.kt b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/KeyboardContainer.kt index c6f07b40..7561d5d8 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/KeyboardContainer.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/modules/handhistory/views/KeyboardContainer.kt @@ -8,17 +8,17 @@ import android.widget.FrameLayout import androidx.core.view.isVisible import net.pokeranalytics.android.R import net.pokeranalytics.android.exceptions.PAIllegalStateException -import net.pokeranalytics.android.ui.modules.handhistory.HHKeyboard import net.pokeranalytics.android.model.handhistory.Position import net.pokeranalytics.android.model.realm.handhistory.Action import net.pokeranalytics.android.model.realm.handhistory.Card +import net.pokeranalytics.android.ui.modules.handhistory.HHKeyboard interface KeyboardListener { fun actionSelected(action: Action.Type) fun amountChanged(amount: String?) fun amountValidated() - fun clearAmount() + fun amountCleared() fun cardValueSelected(value: Card.Value) fun cardSuitSelected(suit: Card.Suit) fun clearCards()