From 2473dbdd36614290cfdc10ee1f3a6ca90a23dd24 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Wed, 27 Feb 2019 17:38:18 +0100 Subject: [PATCH] Add multi lines edit text --- .../android/model/realm/Session.kt | 2 +- .../BottomSheetEditTextMultiLinesFragment.kt | 56 +++++++++++++++++++ .../bottomsheet/BottomSheetFragment.kt | 2 + .../android/ui/view/RowRepresentable.kt | 2 +- .../bottom_sheet_edit_text_multi_lines.xml | 28 ++++++++++ 5 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextMultiLinesFragment.kt create mode 100644 app/src/main/res/layout/bottom_sheet_edit_text_multi_lines.xml diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt index ae6de33e..9184ff42 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt @@ -438,7 +438,7 @@ open class Session : RealmObject(), SessionInterface, Savable, ) } SessionRow.COMMENT -> { - data.add(RowRepresentableEditDescriptor(comment, R.string.comment, InputType.TYPE_CLASS_TEXT)) + data.add(RowRepresentableEditDescriptor(comment, R.string.comment)) } SessionRow.GAME -> { // Add current game & games list diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextMultiLinesFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextMultiLinesFragment.kt new file mode 100644 index 00000000..3787218f --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextMultiLinesFragment.kt @@ -0,0 +1,56 @@ +package net.pokeranalytics.android.ui.fragment.components.bottomsheet + +import android.os.Bundle +import android.text.InputType +import android.view.LayoutInflater +import android.view.View +import androidx.core.widget.addTextChangedListener +import kotlinx.android.synthetic.main.bottom_sheet_edit_text_multi_lines.* +import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.* + + +class BottomSheetEditTextMultiLinesFragment : BottomSheetFragment() { + + private var value = "" + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + initData() + initUI() + } + + override fun onStart() { + super.onStart() + editText1.requestFocus() + } + + override fun getValue(): Any? { + return value.trim() + } + + /** + * Init data + */ + private fun initData() { + } + + /** + * Init UI + */ + private fun initUI() { + + setAddButtonVisible(false) + + LayoutInflater.from(requireContext()).inflate(net.pokeranalytics.android.R.layout.bottom_sheet_edit_text_multi_lines, view?.bottomSheetContainer, true) + + val data = getData() + + if (data.size == 1) { + data[0].hint?.let { editText1.hint = getString(it) } + editText1.inputType = data[0].inputType ?: InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_MULTI_LINE or InputType.TYPE_TEXT_FLAG_CAP_SENTENCES + editText1.addTextChangedListener { value = it?.toString() ?: "" } + editText1.setText((data[0].defaultValue ?: "").toString()) + } + } + +} \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetFragment.kt index 79fb9c69..1f7a2760 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetFragment.kt @@ -22,6 +22,7 @@ enum class BottomSheetType { DOUBLE_LIST, GRID, EDIT_TEXT, + EDIT_TEXT_MULTI_LINES, DOUBLE_EDIT_TEXT, SUM } @@ -54,6 +55,7 @@ open class BottomSheetFragment : BottomSheetDialogFragment() { BottomSheetType.GRID -> BottomSheetTableSizeGridFragment() BottomSheetType.DOUBLE_LIST -> BottomSheetListGameFragment() BottomSheetType.EDIT_TEXT -> BottomSheetEditTextFragment() + BottomSheetType.EDIT_TEXT_MULTI_LINES -> BottomSheetEditTextMultiLinesFragment() BottomSheetType.DOUBLE_EDIT_TEXT -> BottomSheetDoubleEditTextFragment() BottomSheetType.SUM -> BottomSheetSumFragment() else -> BottomSheetFragment() diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/RowRepresentable.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/RowRepresentable.kt index 36176548..bb335e54 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/RowRepresentable.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/RowRepresentable.kt @@ -206,7 +206,7 @@ enum class SessionRow : RowRepresentable { GAME -> BottomSheetType.LIST_GAME LOCATION, BANKROLL, TOURNAMENT_TYPE -> BottomSheetType.LIST TABLE_SIZE -> BottomSheetType.GRID - COMMENT -> BottomSheetType.EDIT_TEXT + COMMENT -> BottomSheetType.EDIT_TEXT_MULTI_LINES else -> BottomSheetType.NONE } } diff --git a/app/src/main/res/layout/bottom_sheet_edit_text_multi_lines.xml b/app/src/main/res/layout/bottom_sheet_edit_text_multi_lines.xml new file mode 100644 index 00000000..766adff7 --- /dev/null +++ b/app/src/main/res/layout/bottom_sheet_edit_text_multi_lines.xml @@ -0,0 +1,28 @@ + + + + + + \ No newline at end of file