Merge branch 'master' of gitlab.com:stax-river/poker-analytics

feature/top10
Aurelien Hubert 7 years ago
commit 665702267f
  1. 4
      app/src/main/java/net/pokeranalytics/android/exceptions/Exceptions.kt
  2. 3
      app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt
  3. 24
      app/src/main/java/net/pokeranalytics/android/model/realm/Game.kt
  4. 5
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  5. 2
      app/src/main/java/net/pokeranalytics/android/model/realm/TournamentFeature.kt
  6. 3
      app/src/main/java/net/pokeranalytics/android/model/realm/TournamentName.kt
  7. 3
      app/src/main/java/net/pokeranalytics/android/model/realm/TransactionType.kt
  8. 4
      app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableDataSource.kt
  9. 2
      app/src/main/java/net/pokeranalytics/android/ui/fragment/LocationDataFragment.kt
  10. 65
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetDoubleEditTextFragment.kt
  11. 35
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextFragment.kt
  12. 18
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextMultiLinesFragment.kt
  13. 45
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetFragment.kt
  14. 11
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetListFragment.kt
  15. 13
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetListGameFragment.kt
  16. 13
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetMultiSelectionFragment.kt
  17. 11
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetStaticListFragment.kt
  18. 7
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetSumFragment.kt
  19. 9
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetTableSizeGridFragment.kt
  20. 12
      app/src/main/java/net/pokeranalytics/android/ui/view/RowRepresentable.kt
  21. 6
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SimpleRow.kt

@ -7,3 +7,7 @@ class ModelException(message: String) : Exception(message) {
class FormattingException(message: String) : Exception(message) { class FormattingException(message: String) : Exception(message) {
} }
class RowRepresentableEditDescriptorException(message: String) : Exception(message) {
}

@ -11,7 +11,6 @@ import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowRepresentableEditDescriptor import net.pokeranalytics.android.ui.view.RowRepresentableEditDescriptor
import net.pokeranalytics.android.ui.view.rowrepresentable.BankrollRow import net.pokeranalytics.android.ui.view.rowrepresentable.BankrollRow
import net.pokeranalytics.android.ui.view.rowrepresentable.SimpleRow import net.pokeranalytics.android.ui.view.rowrepresentable.SimpleRow
import timber.log.Timber
import java.util.* import java.util.*
import kotlin.collections.ArrayList import kotlin.collections.ArrayList
@ -70,7 +69,7 @@ open class Bankroll(name: String = "") : RealmObject(), Manageable,
} }
} }
override fun editDescriptors(row: RowRepresentable): ArrayList<RowRepresentableEditDescriptor> { override fun editDescriptors(row: RowRepresentable): ArrayList<RowRepresentableEditDescriptor>? {
val data = java.util.ArrayList<RowRepresentableEditDescriptor>() val data = java.util.ArrayList<RowRepresentableEditDescriptor>()
when (row) { when (row) {
SimpleRow.NAME -> data.add( SimpleRow.NAME -> data.add(

@ -1,9 +1,6 @@
package net.pokeranalytics.android.model.realm package net.pokeranalytics.android.model.realm
import io.realm.Realm
import io.realm.RealmObject import io.realm.RealmObject
import io.realm.RealmResults
import io.realm.Sort
import io.realm.annotations.PrimaryKey import io.realm.annotations.PrimaryKey
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.interfaces.CountableUsage import net.pokeranalytics.android.model.interfaces.CountableUsage
@ -55,23 +52,12 @@ open class Game : RealmObject(), Manageable, StaticRowRepresentableDataSource, R
} }
} }
override fun editDescriptors(row: RowRepresentable): ArrayList<RowRepresentableEditDescriptor> { override fun editDescriptors(row: RowRepresentable): ArrayList<RowRepresentableEditDescriptor>? {
val data = java.util.ArrayList<RowRepresentableEditDescriptor>() return when (row) {
when (row) { SimpleRow.NAME -> row.editingDescriptors(mapOf("defaultValue" to this.name))
SimpleRow.NAME -> data.add( GameRow.SHORT_NAME -> row.editingDescriptors(mapOf("defaultValue" to this.shortName))
RowRepresentableEditDescriptor( else -> null
this.name,
SimpleRow.NAME.resId
)
)
GameRow.SHORT_NAME -> data.add(
RowRepresentableEditDescriptor(
this.shortName,
GameRow.SHORT_NAME.resId
)
)
} }
return data
} }
override fun updateValue(value: Any?, row: RowRepresentable) { override fun updateValue(value: Any?, row: RowRepresentable) {

@ -5,7 +5,6 @@ import android.text.InputType
import io.realm.Realm import io.realm.Realm
import io.realm.RealmList import io.realm.RealmList
import io.realm.RealmObject import io.realm.RealmObject
import io.realm.Sort
import io.realm.annotations.Ignore import io.realm.annotations.Ignore
import io.realm.annotations.PrimaryKey import io.realm.annotations.PrimaryKey
import io.realm.kotlin.where import io.realm.kotlin.where
@ -36,8 +35,6 @@ import net.pokeranalytics.android.util.extensions.*
import java.util.* import java.util.*
import java.util.Currency import java.util.Currency
import kotlin.collections.ArrayList import kotlin.collections.ArrayList
import kotlin.properties.Delegates
import kotlin.reflect.KProperty
open class Session : RealmObject(), SessionInterface, Manageable, StaticRowRepresentableDataSource, RowRepresentable, open class Session : RealmObject(), SessionInterface, Manageable, StaticRowRepresentableDataSource, RowRepresentable,
Timed { Timed {
@ -590,7 +587,7 @@ open class Session : RealmObject(), SessionInterface, Manageable, StaticRowRepre
} }
} }
override fun editDescriptors(row: RowRepresentable): ArrayList<RowRepresentableEditDescriptor> { override fun editDescriptors(row: RowRepresentable): ArrayList<RowRepresentableEditDescriptor>? {
val data = ArrayList<RowRepresentableEditDescriptor>() val data = ArrayList<RowRepresentableEditDescriptor>()

@ -50,7 +50,7 @@ open class TournamentFeature : RealmObject(), Manageable, StaticRowRepresentable
} }
override fun editDescriptors(row: RowRepresentable): ArrayList<RowRepresentableEditDescriptor> { override fun editDescriptors(row: RowRepresentable): ArrayList<RowRepresentableEditDescriptor>? {
val data = java.util.ArrayList<RowRepresentableEditDescriptor>() val data = java.util.ArrayList<RowRepresentableEditDescriptor>()
when (row) { when (row) {
SimpleRow.NAME -> data.add( SimpleRow.NAME -> data.add(

@ -4,7 +4,6 @@ import io.realm.RealmObject
import io.realm.annotations.PrimaryKey import io.realm.annotations.PrimaryKey
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.interfaces.Manageable import net.pokeranalytics.android.model.interfaces.Manageable
import net.pokeranalytics.android.model.interfaces.Savable
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowRepresentableEditDescriptor import net.pokeranalytics.android.ui.view.RowRepresentableEditDescriptor
@ -51,7 +50,7 @@ open class TournamentName : RealmObject(), Manageable, StaticRowRepresentableDat
} }
} }
override fun editDescriptors(row: RowRepresentable): ArrayList<RowRepresentableEditDescriptor> { override fun editDescriptors(row: RowRepresentable): ArrayList<RowRepresentableEditDescriptor>? {
val data = java.util.ArrayList<RowRepresentableEditDescriptor>() val data = java.util.ArrayList<RowRepresentableEditDescriptor>()
when (row) { when (row) {
SimpleRow.NAME -> data.add( SimpleRow.NAME -> data.add(

@ -4,7 +4,6 @@ import android.text.InputType
import io.realm.RealmObject import io.realm.RealmObject
import io.realm.annotations.PrimaryKey import io.realm.annotations.PrimaryKey
import net.pokeranalytics.android.model.interfaces.Manageable import net.pokeranalytics.android.model.interfaces.Manageable
import net.pokeranalytics.android.model.interfaces.Savable
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowRepresentableEditDescriptor import net.pokeranalytics.android.ui.view.RowRepresentableEditDescriptor
@ -54,7 +53,7 @@ open class TransactionType : RealmObject(), Manageable, StaticRowRepresentableDa
} }
} }
override fun editDescriptors(row: RowRepresentable): ArrayList<RowRepresentableEditDescriptor> { override fun editDescriptors(row: RowRepresentable): ArrayList<RowRepresentableEditDescriptor>? {
val data = java.util.ArrayList<RowRepresentableEditDescriptor>() val data = java.util.ArrayList<RowRepresentableEditDescriptor>()
when (row) { when (row) {
SimpleRow.NAME -> data.add( SimpleRow.NAME -> data.add(

@ -154,8 +154,8 @@ interface EditableDataSource {
/** /**
* A list of [RowRepresentableEditDescriptor] object specifying the way the edition will be handled * A list of [RowRepresentableEditDescriptor] object specifying the way the edition will be handled
*/ */
fun editDescriptors(row: RowRepresentable): ArrayList<RowRepresentableEditDescriptor> { fun editDescriptors(row: RowRepresentable): ArrayList<RowRepresentableEditDescriptor>? {
return ArrayList() return null
} }
} }

@ -78,7 +78,7 @@ class LocationDataFragment : EditableDataFragment(), StaticRowRepresentableDataS
} }
} }
override fun editDescriptors(row: RowRepresentable): ArrayList<RowRepresentableEditDescriptor> { override fun editDescriptors(row: RowRepresentable): ArrayList<RowRepresentableEditDescriptor>? {
val data = java.util.ArrayList<RowRepresentableEditDescriptor>() val data = java.util.ArrayList<RowRepresentableEditDescriptor>()
when (row) { when (row) {
SimpleRow.NAME -> data.add( SimpleRow.NAME -> data.add(

@ -9,6 +9,7 @@ import androidx.core.widget.addTextChangedListener
import kotlinx.android.synthetic.main.bottom_sheet_double_edit_text.* import kotlinx.android.synthetic.main.bottom_sheet_double_edit_text.*
import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.* import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.exceptions.RowRepresentableEditDescriptorException
import net.pokeranalytics.android.ui.view.rowrepresentable.SessionRow import net.pokeranalytics.android.ui.view.rowrepresentable.SessionRow
import net.pokeranalytics.android.util.extensions.round import net.pokeranalytics.android.util.extensions.round
@ -49,57 +50,55 @@ class BottomSheetDoubleEditTextFragment : BottomSheetFragment() {
* Init UI * Init UI
*/ */
private fun initUI() { private fun initUI() {
val data = getData()?:throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor not found")
if (data.size != 2) {
throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
}
setAddButtonVisible(false) setAddButtonVisible(false)
val data = getData()
values.add(0, "") values.add(0, "")
values.add(1, "") values.add(1, "")
LayoutInflater.from(requireContext()) LayoutInflater.from(requireContext())
.inflate(R.layout.bottom_sheet_double_edit_text, view?.bottomSheetContainer, true) .inflate(R.layout.bottom_sheet_double_edit_text, view?.bottomSheetContainer, true)
if (data.size == 2) { values[0] = (data[0].defaultValue ?: "").toString()
values[1] = (data[1].defaultValue ?: "").toString()
values[0] = (data[0].defaultValue ?: "").toString() editText1.setText(values[0])
values[1] = (data[1].defaultValue ?: "").toString() editText2.setText(values[1])
editText1.setText(values[0]) data[0].hint?.let { editText1.hint = getString(it) }
editText2.setText(values[1]) editText1.inputType = data[0].inputType ?: InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_CAP_SENTENCES
editText1.addTextChangedListener {
data[0].hint?.let { editText1.hint = getString(it) } values[0] = it?.toString() ?: ""
editText1.inputType = data[0].inputType ?: InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_CAP_SENTENCES }
editText1.addTextChangedListener {
values[0] = it?.toString() ?: ""
}
data[1].hint?.let { editText2.hint = getString(it) } data[1].hint?.let { editText2.hint = getString(it) }
editText2.inputType = data[1].inputType ?: InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_CAP_SENTENCES editText2.inputType = data[1].inputType ?: InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_CAP_SENTENCES
editText2.addTextChangedListener { editText2.addTextChangedListener {
values[1] = it?.toString() ?: "" values[1] = it?.toString() ?: ""
if (isEditingBlinds) { if (isEditingBlinds) {
try { try {
val bigBlind = values[1].toDouble() val bigBlind = values[1].toDouble()
editText1.setText((bigBlind / 2.0).round()) editText1.setText((bigBlind / 2.0).round())
} catch (e: Exception) { } catch (e: Exception) {
editText1.setText("") editText1.setText("")
}
} }
} }
}
editText2.setOnEditorActionListener { v, actionId, _ -> editText2.setOnEditorActionListener { v, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_DONE) { if (actionId == EditorInfo.IME_ACTION_DONE) {
this.delegate.onRowValueChanged(values, row) this.delegate.onRowValueChanged(values, row)
dismiss() dismiss()
true true
} else { } else {
false false
}
} }
} }
} }
} }

@ -9,6 +9,7 @@ import androidx.core.widget.addTextChangedListener
import kotlinx.android.synthetic.main.bottom_sheet_edit_text.* import kotlinx.android.synthetic.main.bottom_sheet_edit_text.*
import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.* import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.exceptions.RowRepresentableEditDescriptorException
class BottomSheetEditTextFragment : BottomSheetFragment() { class BottomSheetEditTextFragment : BottomSheetFragment() {
@ -40,28 +41,26 @@ class BottomSheetEditTextFragment : BottomSheetFragment() {
* Init UI * Init UI
*/ */
private fun initUI() { private fun initUI() {
val data = getData()?:throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor not found")
if (data.size != 1) {
throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
}
setAddButtonVisible(false) setAddButtonVisible(false)
LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_edit_text, view?.bottomSheetContainer, true) LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_edit_text, view?.bottomSheetContainer, true)
val data = getData() data[0].hint?.let { editText1.hint = getString(it) }
editText1.inputType = data[0].inputType ?: InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_CAP_SENTENCES
if (data.size == 1) { editText1.addTextChangedListener { value = it?.toString() ?: "" }
editText1.setText((data[0].defaultValue ?: "").toString())
data[0].hint?.let { editText1.hint = getString(it) }
editText1.inputType = data[0].inputType ?: InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_CAP_SENTENCES editText1.setOnEditorActionListener { v, actionId, _ ->
editText1.addTextChangedListener { value = it?.toString() ?: "" } if (actionId == EditorInfo.IME_ACTION_DONE) {
editText1.setText((data[0].defaultValue ?: "").toString()) delegate.onRowValueChanged(getValue(), row)
dismiss()
editText1.setOnEditorActionListener { v, actionId, _ -> true
if (actionId == EditorInfo.IME_ACTION_DONE) { } else {
delegate.onRowValueChanged(getValue(), row) false
dismiss()
true
} else {
false
}
} }
} }
} }

@ -7,6 +7,8 @@ import android.view.View
import androidx.core.widget.addTextChangedListener import androidx.core.widget.addTextChangedListener
import kotlinx.android.synthetic.main.bottom_sheet_edit_text_multi_lines.* import kotlinx.android.synthetic.main.bottom_sheet_edit_text_multi_lines.*
import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.* import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.*
import net.pokeranalytics.android.exceptions.RowRepresentableEditDescriptorException
import java.lang.AssertionError
class BottomSheetEditTextMultiLinesFragment : BottomSheetFragment() { class BottomSheetEditTextMultiLinesFragment : BottomSheetFragment() {
@ -38,19 +40,19 @@ class BottomSheetEditTextMultiLinesFragment : BottomSheetFragment() {
* Init UI * Init UI
*/ */
private fun initUI() { private fun initUI() {
val data = getData()?:throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor not found")
if (data.size != 1) {
throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
}
setAddButtonVisible(false) setAddButtonVisible(false)
LayoutInflater.from(requireContext()).inflate(net.pokeranalytics.android.R.layout.bottom_sheet_edit_text_multi_lines, view?.bottomSheetContainer, true) LayoutInflater.from(requireContext()).inflate(net.pokeranalytics.android.R.layout.bottom_sheet_edit_text_multi_lines, view?.bottomSheetContainer, true)
val data = getData() 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
if (data.size == 1) { editText1.addTextChangedListener { value = it?.toString() ?: "" }
data[0].hint?.let { editText1.hint = getString(it) } editText1.setText((data[0].defaultValue ?: "").toString())
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())
}
} }
} }

@ -23,17 +23,18 @@ import net.pokeranalytics.android.ui.view.RowRepresentableEditDescriptor
import net.pokeranalytics.android.ui.view.rowrepresentable.SessionRow import net.pokeranalytics.android.ui.view.rowrepresentable.SessionRow
enum class BottomSheetType { enum class BottomSheetType {
NONE, NONE { override fun newInstance() = BottomSheetFragment()},
LIST, LIST { override fun newInstance() = BottomSheetListFragment()},
LIST_STATIC, LIST_STATIC { override fun newInstance() = BottomSheetStaticListFragment()},
LIST_GAME, LIST_GAME { override fun newInstance() = BottomSheetListGameFragment()},
DOUBLE_LIST, DOUBLE_LIST { override fun newInstance() = BottomSheetListGameFragment()},
MULTI_SELECTION, MULTI_SELECTION { override fun newInstance() = BottomSheetMultiSelectionFragment()},
GRID, GRID { override fun newInstance() = BottomSheetTableSizeGridFragment()},
EDIT_TEXT, EDIT_TEXT { override fun newInstance() = BottomSheetEditTextFragment()},
EDIT_TEXT_MULTI_LINES, EDIT_TEXT_MULTI_LINES { override fun newInstance() = BottomSheetEditTextMultiLinesFragment()},
DOUBLE_EDIT_TEXT, DOUBLE_EDIT_TEXT { override fun newInstance() = BottomSheetDoubleEditTextFragment()},
SUM SUM { override fun newInstance() = BottomSheetSumFragment()};
abstract fun newInstance(): BottomSheetFragment
} }
open class BottomSheetFragment : BottomSheetDialogFragment() { open class BottomSheetFragment : BottomSheetDialogFragment() {
@ -42,7 +43,7 @@ open class BottomSheetFragment : BottomSheetDialogFragment() {
lateinit var delegate: RowRepresentableDelegate lateinit var delegate: RowRepresentableDelegate
private var isClearable: Boolean = true private var isClearable: Boolean = true
private var rowRepresentableEditDescriptors: ArrayList<RowRepresentableEditDescriptor> = ArrayList() private var rowRepresentableEditDescriptors: ArrayList<RowRepresentableEditDescriptor>? = null
companion object { companion object {
@ -52,24 +53,10 @@ open class BottomSheetFragment : BottomSheetDialogFragment() {
fragmentManager: FragmentManager?, fragmentManager: FragmentManager?,
row: RowRepresentable, row: RowRepresentable,
delegate: RowRepresentableDelegate, delegate: RowRepresentableDelegate,
rowRepresentableEditDescriptors: ArrayList<RowRepresentableEditDescriptor>, rowRepresentableEditDescriptors: ArrayList<RowRepresentableEditDescriptor>?,
isClearable: Boolean? = true isClearable: Boolean? = true
): BottomSheetFragment { ): BottomSheetFragment {
val bottomSheetFragment = row.bottomSheetType.newInstance()
val bottomSheetFragment = when (row.bottomSheetType) {
BottomSheetType.LIST -> BottomSheetListFragment()
BottomSheetType.LIST_GAME -> BottomSheetListGameFragment()
BottomSheetType.LIST_STATIC -> BottomSheetStaticListFragment()
BottomSheetType.MULTI_SELECTION -> BottomSheetMultiSelectionFragment()
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()
}
bottomSheetFragment.show(fragmentManager, "bottomSheet") bottomSheetFragment.show(fragmentManager, "bottomSheet")
bottomSheetFragment.row = row bottomSheetFragment.row = row
bottomSheetFragment.delegate = delegate bottomSheetFragment.delegate = delegate
@ -173,7 +160,7 @@ open class BottomSheetFragment : BottomSheetDialogFragment() {
/** /**
* Return the data list * Return the data list
*/ */
fun getData(): ArrayList<RowRepresentableEditDescriptor> { fun getData(): ArrayList<RowRepresentableEditDescriptor>? {
return this.rowRepresentableEditDescriptors return this.rowRepresentableEditDescriptors
} }

@ -8,6 +8,7 @@ import io.realm.RealmResults
import kotlinx.android.synthetic.main.bottom_sheet_list.* import kotlinx.android.synthetic.main.bottom_sheet_list.*
import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.* import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.exceptions.RowRepresentableEditDescriptorException
import net.pokeranalytics.android.ui.adapter.LiveRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.LiveRowRepresentableDataSource
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
@ -70,10 +71,14 @@ open class BottomSheetListFragment : BottomSheetFragment(), LiveRowRepresentable
* Init data * Init data
*/ */
open fun initData() { open fun initData() {
val bottomSheetData = getData() val bottomSheetData = getData()?:throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor not found")
if (bottomSheetData.isNotEmpty() && bottomSheetData.first().data != null) { if (bottomSheetData.size != 1) {
this.realmData = bottomSheetData.first().data as RealmResults<*> throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
} }
if (bottomSheetData.first().data == null) {
throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
}
this.realmData = bottomSheetData.first().data as RealmResults<*>
} }
/** /**

@ -9,6 +9,7 @@ import io.realm.RealmResults
import kotlinx.android.synthetic.main.bottom_sheet_game_list.* import kotlinx.android.synthetic.main.bottom_sheet_game_list.*
import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.* import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.exceptions.RowRepresentableEditDescriptorException
import net.pokeranalytics.android.model.Limit import net.pokeranalytics.android.model.Limit
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
@ -47,11 +48,15 @@ class BottomSheetListGameFragment : BottomSheetListFragment() {
* Init data * Init data
*/ */
override fun initData() { override fun initData() {
val bottomSheetData = getData() val bottomSheetData = getData()?:throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor not found")
if (bottomSheetData.isNotEmpty() && bottomSheetData.size >= 2 && bottomSheetData[1].data != null) { if (bottomSheetData.size != 2) {
this.limit = bottomSheetData[0].defaultValue as Int? throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
this.realmData = bottomSheetData[1].data as RealmResults<*>
} }
if (bottomSheetData[1].data == null) {
throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
}
this.limit = bottomSheetData[0].defaultValue as Int?
this.realmData = bottomSheetData[1].data as RealmResults<*>
} }
/** /**

@ -6,6 +6,8 @@ import android.os.Bundle
import android.view.View import android.view.View
import io.realm.RealmList import io.realm.RealmList
import io.realm.RealmObject import io.realm.RealmObject
import io.realm.RealmResults
import net.pokeranalytics.android.exceptions.RowRepresentableEditDescriptorException
import net.pokeranalytics.android.model.LiveData import net.pokeranalytics.android.model.LiveData
import net.pokeranalytics.android.ui.activity.EditableDataActivity import net.pokeranalytics.android.ui.activity.EditableDataActivity
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
@ -65,13 +67,14 @@ open class BottomSheetMultiSelectionFragment : BottomSheetListFragment() {
} }
override fun initData() { override fun initData() {
super.initData() val bottomSheetData = getData()?:throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor not found")
getData().first().defaultValue?.let { if (bottomSheetData.size != 1) {
throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
}
bottomSheetData.first().defaultValue?.let {
(it as RealmList<*>).forEach{row -> (it as RealmList<*>).forEach{row ->
selectedRows.add(row as RowRepresentable) this.selectedRows.add(row as RowRepresentable)
} }
} }
} }
} }

@ -7,6 +7,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import kotlinx.android.synthetic.main.bottom_sheet_list.* import kotlinx.android.synthetic.main.bottom_sheet_list.*
import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.* import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.exceptions.RowRepresentableEditDescriptorException
import net.pokeranalytics.android.model.TournamentType import net.pokeranalytics.android.model.TournamentType
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
@ -44,10 +45,14 @@ class BottomSheetStaticListFragment : BottomSheetFragment(), StaticRowRepresenta
* Init data * Init data
*/ */
private fun initData() { private fun initData() {
val bottomSheetData = this.getData() val bottomSheetData = getData()?:throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor not found")
if (bottomSheetData.isNotEmpty() && bottomSheetData.first().staticData != null) { if (bottomSheetData.size != 1) {
this.staticRows = bottomSheetData.first().staticData as List<RowRepresentable> throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
} }
if (bottomSheetData.first().staticData == null) {
throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
}
this.staticRows = bottomSheetData.first().staticData as List<RowRepresentable>
} }
/** /**

@ -9,6 +9,7 @@ import androidx.core.widget.addTextChangedListener
import kotlinx.android.synthetic.main.bottom_sheet_sum.* import kotlinx.android.synthetic.main.bottom_sheet_sum.*
import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.* import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.exceptions.RowRepresentableEditDescriptorException
import net.pokeranalytics.android.util.extensions.round import net.pokeranalytics.android.util.extensions.round
import net.pokeranalytics.android.util.extensions.toCurrency import net.pokeranalytics.android.util.extensions.toCurrency
@ -47,8 +48,10 @@ class BottomSheetSumFragment : BottomSheetFragment() {
* Init UI * Init UI
*/ */
private fun initUI() { private fun initUI() {
val data = getData()?:throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor not found")
val data = getData() if (data.size != 5) {
throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
}
setAddButtonVisible(false) setAddButtonVisible(false)

@ -6,6 +6,7 @@ import android.view.View
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import kotlinx.android.synthetic.main.bottom_sheet_grid.* import kotlinx.android.synthetic.main.bottom_sheet_grid.*
import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.* import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.*
import net.pokeranalytics.android.exceptions.RowRepresentableEditDescriptorException
import net.pokeranalytics.android.model.TableSize import net.pokeranalytics.android.model.TableSize
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
@ -38,11 +39,11 @@ class BottomSheetTableSizeGridFragment : BottomSheetFragment(), StaticRowReprese
* Init data * Init data
*/ */
private fun initData() { private fun initData() {
val bottomSheetData = getData()?:throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor not found")
val bottomSheetData = getData() if (bottomSheetData.size != 1) {
if (bottomSheetData.isNotEmpty() && bottomSheetData.first().defaultValue != null) { throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
defaultSize = bottomSheetData.first().defaultValue as Int?
} }
defaultSize = bottomSheetData.first().defaultValue as Int?
} }
/** /**

@ -1,6 +1,7 @@
package net.pokeranalytics.android.ui.view package net.pokeranalytics.android.ui.view
import android.content.Context import android.content.Context
import io.realm.RealmResults
import net.pokeranalytics.android.model.LiveData import net.pokeranalytics.android.model.LiveData
import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetType import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetType
import net.pokeranalytics.android.util.NULL_TEXT import net.pokeranalytics.android.util.NULL_TEXT
@ -14,14 +15,9 @@ interface RowRepresentable : Displayable {
return NULL_TEXT return NULL_TEXT
} }
var isSelected: Boolean fun editingDescriptors(map:Map<String,Any?>): ArrayList<RowRepresentableEditDescriptor>? {
get() { return null
return false }
}
set(value) {
}
} }
/** /**

@ -3,6 +3,7 @@ package net.pokeranalytics.android.ui.view.rowrepresentable
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetType import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetType
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowRepresentableEditDescriptor
import net.pokeranalytics.android.ui.view.RowViewType import net.pokeranalytics.android.ui.view.RowViewType
@ -12,4 +13,9 @@ enum class SimpleRow : RowRepresentable {
override val resId: Int? = R.string.name override val resId: Int? = R.string.name
override val viewType: Int = RowViewType.TITLE_VALUE.ordinal override val viewType: Int = RowViewType.TITLE_VALUE.ordinal
override val bottomSheetType: BottomSheetType = BottomSheetType.EDIT_TEXT override val bottomSheetType: BottomSheetType = BottomSheetType.EDIT_TEXT
override fun editingDescriptors(map: Map<String, Any?>): ArrayList<RowRepresentableEditDescriptor>? {
val defaultValue by map
return arrayListOf(RowRepresentableEditDescriptor(defaultValue, this.resId))
}
} }
Loading…
Cancel
Save