update refactoring

feature/top10
Razmig Sarkissian 7 years ago
parent de3ab3312f
commit 5e1db40841
  1. 11
      app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt
  2. 14
      app/src/main/java/net/pokeranalytics/android/model/realm/TournamentFeature.kt
  3. 11
      app/src/main/java/net/pokeranalytics/android/model/realm/TournamentName.kt
  4. 13
      app/src/main/java/net/pokeranalytics/android/model/realm/TransactionType.kt
  5. 2
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetDoubleEditTextFragment.kt
  6. 1
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextFragment.kt
  7. 2
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextMultiLinesFragment.kt
  8. 42
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetFragment.kt
  9. 3
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetListFragment.kt
  10. 3
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetListGameFragment.kt
  11. 1
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetMultiSelectionFragment.kt
  12. 5
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetStaticListFragment.kt
  13. 3
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetSumFragment.kt
  14. 4
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetTableSizeGridFragment.kt
  15. 32
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetType.kt
  16. 12
      app/src/main/java/net/pokeranalytics/android/ui/view/RowRepresentable.kt
  17. 3
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/BankrollRow.kt
  18. 4
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/GameRow.kt
  19. 1
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/LocationRow.kt
  20. 9
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/SimpleRow.kt
  21. 5
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/TournamentFeatureRow.kt
  22. 4
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/TournamentNameRow.kt
  23. 5
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/TransactionTypeRow.kt

@ -70,16 +70,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>() return row.editingDescriptors(mapOf("defaultValue" to this.name))
when (row) {
SimpleRow.NAME -> data.add(
RowRepresentableEditDescriptor(
this.name,
SimpleRow.NAME.resId
)
)
}
return data
} }
override fun updateValue(value: Any?, row: RowRepresentable) { override fun updateValue(value: Any?, row: RowRepresentable) {

@ -49,19 +49,9 @@ 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>() return row.editingDescriptors(mapOf(
when (row) { "defaultValue" to this.name))
SimpleRow.NAME -> data.add(
RowRepresentableEditDescriptor(
this.name,
SimpleRow.NAME.resId,
InputType.TYPE_CLASS_TEXT
)
)
}
return data
} }
override fun updateValue(value: Any?, row: RowRepresentable) { override fun updateValue(value: Any?, row: RowRepresentable) {

@ -51,16 +51,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>() return row.editingDescriptors(mapOf("defaultValue" to this.name))
when (row) {
SimpleRow.NAME -> data.add(
RowRepresentableEditDescriptor(
this.name,
SimpleRow.NAME.resId
)
)
}
return data
} }
override fun isValidForSave(): Boolean { override fun isValidForSave(): Boolean {

@ -1,6 +1,5 @@
package net.pokeranalytics.android.model.realm package net.pokeranalytics.android.model.realm
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
@ -54,17 +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>() return row.editingDescriptors(mapOf("defaultValue" to this.name))
when (row) {
SimpleRow.NAME -> data.add(
RowRepresentableEditDescriptor(
this.name,
SimpleRow.NAME.resId,
InputType.TYPE_CLASS_TEXT
)
)
}
return data
} }
override fun updateValue(value: Any?, row: RowRepresentable) { override fun updateValue(value: Any?, row: RowRepresentable) {

@ -55,8 +55,6 @@ class BottomSheetDoubleEditTextFragment : BottomSheetFragment() {
throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency") throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
} }
setAddButtonVisible(false)
values.add(0, "") values.add(0, "")
values.add(1, "") values.add(1, "")

@ -46,7 +46,6 @@ class BottomSheetEditTextFragment : BottomSheetFragment() {
throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency") throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
} }
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)
data[0].hint?.let { editText1.hint = getString(it) } data[0].hint?.let { editText1.hint = getString(it) }

@ -45,8 +45,6 @@ class BottomSheetEditTextMultiLinesFragment : BottomSheetFragment() {
throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency") throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
} }
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)
data[0].hint?.let { editText1.hint = getString(it) } data[0].hint?.let { editText1.hint = getString(it) }

@ -22,21 +22,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.SessionRow import net.pokeranalytics.android.ui.view.rowrepresentable.SessionRow
enum class BottomSheetType {
NONE { override fun newInstance() = BottomSheetFragment()},
LIST { override fun newInstance() = BottomSheetListFragment()},
LIST_STATIC { override fun newInstance() = BottomSheetStaticListFragment()},
LIST_GAME { override fun newInstance() = BottomSheetListGameFragment()},
DOUBLE_LIST { override fun newInstance() = BottomSheetListGameFragment()},
MULTI_SELECTION { override fun newInstance() = BottomSheetMultiSelectionFragment()},
GRID { override fun newInstance() = BottomSheetTableSizeGridFragment()},
EDIT_TEXT { override fun newInstance() = BottomSheetEditTextFragment()},
EDIT_TEXT_MULTI_LINES { override fun newInstance() = BottomSheetEditTextMultiLinesFragment()},
DOUBLE_EDIT_TEXT { override fun newInstance() = BottomSheetDoubleEditTextFragment()},
SUM { override fun newInstance() = BottomSheetSumFragment()};
abstract fun newInstance(): BottomSheetFragment
}
open class BottomSheetFragment : BottomSheetDialogFragment() { open class BottomSheetFragment : BottomSheetDialogFragment() {
lateinit var row: RowRepresentable lateinit var row: RowRepresentable
@ -103,13 +88,15 @@ open class BottomSheetFragment : BottomSheetDialogFragment() {
* Init UI * Init UI
*/ */
private fun initUI() { private fun initUI() {
row.let { row.let {
bottomSheetToolbar.title = row.localizedTitle(requireContext()) bottomSheetToolbar.title = row.localizedTitle(requireContext())
bottomSheetToolbar.inflateMenu(R.menu.bottom_sheet_menu) bottomSheetToolbar.inflateMenu(R.menu.bottom_sheet_menu)
bottomSheetToolbar.setOnMenuItemClickListener { bottomSheetToolbar.setOnMenuItemClickListener {
false false
} }
bottomSheetToolbar.menu.findItem(R.id.actionCheck).isVisible = row.bottomSheetType.validationRequired
bottomSheetToolbar.menu.findItem(R.id.actionClear).isVisible = row.bottomSheetType.clearRequired
bottomSheetToolbar.menu.findItem(R.id.actionAdd).isVisible = row.bottomSheetType.addRequired
// Menu // Menu
bottomSheetToolbar.menu.findItem(R.id.actionClear).setOnMenuItemClickListener { bottomSheetToolbar.menu.findItem(R.id.actionClear).setOnMenuItemClickListener {
@ -168,27 +155,4 @@ open class BottomSheetFragment : BottomSheetDialogFragment() {
return null return null
} }
/**
* Set clear button visibility
*/
fun setClearButtonVisible(visible: Boolean) {
bottomSheetToolbar?.let {
bottomSheetToolbar.menu.findItem(R.id.actionClear).isVisible = visible
}
}
/**
* Set check button visibility
*/
fun setCheckButtonVisible(visible: Boolean) {
bottomSheetToolbar.menu.findItem(R.id.actionCheck).isVisible = visible
}
/**
* Set add button visibility
*/
fun setAddButtonVisible(visible: Boolean) {
bottomSheetToolbar.menu.findItem(R.id.actionAdd).isVisible = visible
}
} }

@ -85,9 +85,6 @@ open class BottomSheetListFragment : BottomSheetFragment(), LiveRowRepresentable
* Init UI * Init UI
*/ */
open fun initUI() { open fun initUI() {
setCheckButtonVisible(false)
LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_list, view?.bottomSheetContainer, true) LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_list, view?.bottomSheetContainer, true)
val viewManager = LinearLayoutManager(requireContext()) val viewManager = LinearLayoutManager(requireContext())

@ -63,9 +63,6 @@ class BottomSheetListGameFragment : BottomSheetListFragment() {
* Init UI * Init UI
*/ */
override fun initUI() { override fun initUI() {
setCheckButtonVisible(false)
LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_game_list, view?.bottomSheetContainer, true) LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_game_list, view?.bottomSheetContainer, true)
values.add(0, limit) values.add(0, limit)

@ -67,6 +67,7 @@ open class BottomSheetMultiSelectionFragment : BottomSheetListFragment() {
} }
override fun initData() { override fun initData() {
super.initData()
val bottomSheetData = getData()?:throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor not found") val bottomSheetData = getData()?:throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor not found")
if (bottomSheetData.size != 1) { if (bottomSheetData.size != 1) {
throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency") throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")

@ -59,9 +59,6 @@ class BottomSheetStaticListFragment : BottomSheetFragment(), StaticRowRepresenta
* Init UI * Init UI
*/ */
private fun initUI() { private fun initUI() {
setCheckButtonVisible(false)
LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_list, view?.bottomSheetContainer, true) LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_list, view?.bottomSheetContainer, true)
val viewManager = LinearLayoutManager(requireContext()) val viewManager = LinearLayoutManager(requireContext())
@ -72,8 +69,6 @@ class BottomSheetStaticListFragment : BottomSheetFragment(), StaticRowRepresenta
layoutManager = viewManager layoutManager = viewManager
adapter = dataAdapter adapter = dataAdapter
} }
this.setAddButtonVisible(false)
} }
} }

@ -52,9 +52,6 @@ class BottomSheetSumFragment : BottomSheetFragment() {
if (data.size != 5) { if (data.size != 5) {
throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency") throw RowRepresentableEditDescriptorException("RowRepresentableEditDescriptor inconsistency")
} }
setAddButtonVisible(false)
LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_sum, view?.bottomSheetContainer, true) LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_sum, view?.bottomSheetContainer, true)
if (data.size == 5) { if (data.size == 5) {

@ -50,10 +50,6 @@ class BottomSheetTableSizeGridFragment : BottomSheetFragment(), StaticRowReprese
* Init UI * Init UI
*/ */
private fun initUI() { private fun initUI() {
setAddButtonVisible(false)
setCheckButtonVisible(false)
LayoutInflater.from(requireContext()) LayoutInflater.from(requireContext())
.inflate(net.pokeranalytics.android.R.layout.bottom_sheet_grid, view?.bottomSheetContainer, true) .inflate(net.pokeranalytics.android.R.layout.bottom_sheet_grid, view?.bottomSheetContainer, true)

@ -0,0 +1,32 @@
package net.pokeranalytics.android.ui.fragment.components.bottomsheet
enum class BottomSheetType {
NONE { override fun newInstance() = BottomSheetFragment()},
LIST { override fun newInstance() = BottomSheetListFragment()},
LIST_STATIC { override fun newInstance() = BottomSheetStaticListFragment()},
LIST_GAME { override fun newInstance() = BottomSheetListGameFragment()},
DOUBLE_LIST { override fun newInstance() = BottomSheetListGameFragment()},
MULTI_SELECTION { override fun newInstance() = BottomSheetMultiSelectionFragment()},
GRID { override fun newInstance() = BottomSheetTableSizeGridFragment()},
EDIT_TEXT { override fun newInstance() = BottomSheetEditTextFragment()},
EDIT_TEXT_MULTI_LINES { override fun newInstance() = BottomSheetEditTextMultiLinesFragment()},
DOUBLE_EDIT_TEXT { override fun newInstance() = BottomSheetDoubleEditTextFragment()},
SUM { override fun newInstance() = BottomSheetSumFragment()};
abstract fun newInstance(): BottomSheetFragment
val validationRequired : Boolean
get() = when (this) {
LIST, LIST_GAME, LIST_STATIC, GRID, DOUBLE_LIST -> false
else -> true
}
val clearRequired : Boolean
get() = true
val addRequired : Boolean
get() = when (this) {
EDIT_TEXT, DOUBLE_EDIT_TEXT, EDIT_TEXT_MULTI_LINES, GRID, LIST_STATIC, SUM -> false
else -> true
}
}

@ -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 android.inputmethodservice.Keyboard
import io.realm.RealmResults 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
@ -9,17 +10,26 @@ import net.pokeranalytics.android.util.NULL_TEXT
/** /**
* An interface extending Displayable to add a way to represent an object as a String * An interface extending Displayable to add a way to represent an object as a String
*/ */
interface RowRepresentable : Displayable { interface RowRepresentable : Displayable, Editable {
fun getDisplayName(): String { fun getDisplayName(): String {
return NULL_TEXT return NULL_TEXT
} }
}
interface Editable {
fun editingDescriptors(map:Map<String,Any?>): ArrayList<RowRepresentableEditDescriptor>? { fun editingDescriptors(map:Map<String,Any?>): ArrayList<RowRepresentableEditDescriptor>? {
return null return null
} }
} }
interface DefaultEditable : Editable, Localizable {
override fun editingDescriptors(map: Map<String, Any?>): ArrayList<RowRepresentableEditDescriptor>? {
val defaultValue : String? by map
return arrayListOf(RowRepresentableEditDescriptor(defaultValue, this.resId))
}
}
/** /**
* An interface used so that enums values can be represented visually * An interface used so that enums values can be represented visually
* as rows in RecyclerViews * as rows in RecyclerViews

@ -2,11 +2,12 @@ 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.DefaultEditable
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowViewType import net.pokeranalytics.android.ui.view.RowViewType
enum class BankrollRow : RowRepresentable { enum class BankrollRow : RowRepresentable, DefaultEditable {
LIVE; LIVE;
override val resId: Int? override val resId: Int?

@ -2,10 +2,12 @@ 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.DefaultEditable
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
enum class GameRow : RowRepresentable { enum class GameRow : RowRepresentable, DefaultEditable {
SHORT_NAME; SHORT_NAME;
override val resId: Int? override val resId: Int?

@ -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

@ -2,20 +2,15 @@ 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.DefaultEditable
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
enum class SimpleRow : RowRepresentable { enum class SimpleRow : RowRepresentable, DefaultEditable {
NAME; NAME;
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))
}
} }

@ -1,7 +1,6 @@
package net.pokeranalytics.android.ui.view.rowrepresentable package net.pokeranalytics.android.ui.view.rowrepresentable
import net.pokeranalytics.android.ui.view.DefaultEditable
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
enum class TournamentFeatureRow : RowRepresentable, DefaultEditable
enum class TournamentFeatureRow : RowRepresentable {
}

@ -1,6 +1,6 @@
package net.pokeranalytics.android.ui.view.rowrepresentable package net.pokeranalytics.android.ui.view.rowrepresentable
import net.pokeranalytics.android.ui.view.DefaultEditable
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
enum class TournamentNameRow : RowRepresentable { enum class TournamentNameRow : RowRepresentable, DefaultEditable
}

@ -1,7 +1,6 @@
package net.pokeranalytics.android.ui.view.rowrepresentable package net.pokeranalytics.android.ui.view.rowrepresentable
import net.pokeranalytics.android.ui.view.DefaultEditable
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
enum class TransactionTypeRow : RowRepresentable, DefaultEditable
enum class TransactionTypeRow : RowRepresentable {
}

Loading…
Cancel
Save