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

feature/top10
Razmig Sarkissian 7 years ago
commit d37ccef5c3
  1. 8
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  2. 7
      app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt
  3. 3
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt
  4. 13
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetFragment.kt
  5. 13
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetListFragment.kt
  6. 55
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetListGameFragment.kt

@ -31,6 +31,7 @@ import net.pokeranalytics.android.ui.view.rowrepresentable.HeaderRowRepresentabl
import net.pokeranalytics.android.ui.view.rowrepresentable.SeparatorRowRepresentable
import net.pokeranalytics.android.ui.view.rowrepresentable.SessionRow
import net.pokeranalytics.android.util.*
import timber.log.Timber
import java.util.*
import java.util.Currency
import kotlin.collections.ArrayList
@ -416,7 +417,9 @@ open class Session : RealmObject(), SessionInterface, Manageable, StaticRowRepre
fun getGameTitle(): String {
var gameTitle = ""
limit?.let {
gameTitle += Limit.values()[it].shortName + " "
if (it >= 0 && it < Limit.values().size) {
gameTitle += Limit.values()[it].shortName + " "
}
}
if (game != null) {
gameTitle += game?.name
@ -776,9 +779,12 @@ open class Session : RealmObject(), SessionInterface, Manageable, StaticRowRepre
} catch (e: Exception) {
null
}
} else if (value is Game) {
game = value
} else if (value == null) {
limit = null
game = null
}
}
SessionRow.INITIAL_BUY_IN -> tournamentEntryFee = if (value == null) null else (value as String).toDouble()

@ -21,12 +21,11 @@ import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetDelegate
import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetFragment
import net.pokeranalytics.android.ui.view.RowRepresentable
open class EditableDataFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, BottomSheetDelegate {
open class EditableDataFragment : PokerAnalyticsFragment(), RowRepresentableDelegate {
lateinit var parentActivity: PokerAnalyticsActivity
lateinit var item: RealmObject
@ -68,10 +67,6 @@ open class EditableDataFragment : PokerAnalyticsFragment(), RowRepresentableDele
BottomSheetFragment.create(fragmentManager, row, this, (this.item as RowRepresentableDataSource).editDescriptors(row))
}
override fun clickOnAdd(row: RowRepresentable) {
Toast.makeText(requireContext(), "Add new element: $row", Toast.LENGTH_SHORT).show()
}
override fun onRowValueChanged(value: Any?, row: RowRepresentable) {
this.getRealm().executeTransaction {
(this.item as Savable).updateValue(value, row)

@ -20,7 +20,6 @@ import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetDelegate
import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheetFragment
import net.pokeranalytics.android.ui.helpers.DateTimePickerManager
import net.pokeranalytics.android.ui.view.RowRepresentable
@ -30,7 +29,7 @@ import net.pokeranalytics.android.ui.view.rowrepresentable.SessionRow
import java.util.*
class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, BottomSheetDelegate {
class SessionFragment : PokerAnalyticsFragment(), RowRepresentableDelegate {
private lateinit var parentActivity: PokerAnalyticsActivity
private lateinit var currentSession: Session

@ -35,17 +35,10 @@ enum class BottomSheetType {
SUM
}
interface BottomSheetDelegate : RowRepresentableDelegate {
fun clickOnAdd(row: RowRepresentable) {}
fun clickOnClear(row: RowRepresentable) {
this.onRowValueChanged(null, row)
}
}
open class BottomSheetFragment : BottomSheetDialogFragment() {
lateinit var row: RowRepresentable
lateinit var delegate: BottomSheetDelegate
lateinit var delegate: RowRepresentableDelegate
private var isClearable: Boolean = true
private var rowRepresentableEditDescriptors: ArrayList<RowRepresentableEditDescriptor> = ArrayList()
@ -57,7 +50,7 @@ open class BottomSheetFragment : BottomSheetDialogFragment() {
fun create(
fragmentManager: FragmentManager?,
row: RowRepresentable,
delegate: BottomSheetDelegate,
delegate: RowRepresentableDelegate,
rowRepresentableEditDescriptors: ArrayList<RowRepresentableEditDescriptor>,
isClearable: Boolean? = true
): BottomSheetFragment {
@ -131,7 +124,7 @@ open class BottomSheetFragment : BottomSheetDialogFragment() {
// Menu
bottomSheetToolbar.menu.findItem(R.id.actionClear).setOnMenuItemClickListener {
this.delegate.clickOnClear(row)
delegate.onRowValueChanged(null, row)
dismiss()
true
}

@ -14,11 +14,10 @@ import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowViewType
class BottomSheetListFragment : BottomSheetFragment(), LiveRowRepresentableDataSource,
RowRepresentableDelegate {
open class BottomSheetListFragment : BottomSheetFragment(), LiveRowRepresentableDataSource, RowRepresentableDelegate {
private var realmData: RealmResults<*>? = null
private lateinit var dataAdapter: RowRepresentableAdapter
lateinit var dataAdapter: RowRepresentableAdapter
var realmData: RealmResults<*>? = null
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@ -35,7 +34,7 @@ class BottomSheetListFragment : BottomSheetFragment(), LiveRowRepresentableDataS
realmData?.let {
return it[position] as RowRepresentable
}
return null
throw IllegalStateException("Need to implement Data Source")
}
override fun numberOfRows(): Int {
@ -70,7 +69,7 @@ class BottomSheetListFragment : BottomSheetFragment(), LiveRowRepresentableDataS
/**
* Init data
*/
private fun initData() {
open fun initData() {
val bottomSheetData = getData()
if (bottomSheetData.isNotEmpty() && bottomSheetData.first().data != null) {
this.realmData = bottomSheetData.first().data as RealmResults<*>
@ -80,7 +79,7 @@ class BottomSheetListFragment : BottomSheetFragment(), LiveRowRepresentableDataS
/**
* Init UI
*/
private fun initUI() {
open fun initUI() {
LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_list, view?.bottomSheetContainer, true)

@ -10,18 +10,16 @@ import kotlinx.android.synthetic.main.bottom_sheet_game_list.*
import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.Limit
import net.pokeranalytics.android.ui.adapter.LiveRowRepresentableDataSource
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowViewType
/**
* Bottom Sheet List Game Fragment
* Display a list of game + chips to choose the game limit
*/
class BottomSheetListGameFragment : BottomSheetListFragment() {
class BottomSheetListGameFragment : BottomSheetFragment(), LiveRowRepresentableDataSource, RowRepresentableDelegate {
private var limit: Int = -1
private var realmData: RealmResults<*>? = null
private lateinit var dataAdapter: RowRepresentableAdapter
private var limit: Int? = 0
private val values = ArrayList<Any?>()
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
@ -30,40 +28,10 @@ class BottomSheetListGameFragment : BottomSheetFragment(), LiveRowRepresentableD
initUI()
}
override fun onResume() {
super.onResume()
dataAdapter.notifyDataSetChanged()
}
override fun getValue(): Any? {
return values
}
override fun rowRepresentableForPosition(position: Int): RowRepresentable? {
realmData?.let {
return it[position] as RowRepresentable
}
throw IllegalStateException("Need to implement Data Source")
}
override fun numberOfRows(): Int {
realmData?.let {
return it.size
}
return 0
}
override fun viewTypeForPosition(position: Int): Int {
return RowViewType.BOTTOM_SHEET_DATA.ordinal
}
override fun indexForRow(row: RowRepresentable): Int {
realmData?.let {
return it.indexOf(row)
}
throw IllegalStateException("Need to implement Data Source")
}
override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) {
realmData?.let {
val selectedData = it[position]
@ -73,16 +41,15 @@ class BottomSheetListGameFragment : BottomSheetFragment(), LiveRowRepresentableD
dismiss()
}
}
super.onRowSelected(position, row, fromAction)
}
/**
* Init data
*/
private fun initData() {
override fun initData() {
val bottomSheetData = getData()
if (bottomSheetData.isNotEmpty() && bottomSheetData.size >= 2 && bottomSheetData[1].data != null) {
this.limit = bottomSheetData[0].defaultValue as Int? ?: -1
this.limit = bottomSheetData[0].defaultValue as Int?
this.realmData = bottomSheetData[1].data as RealmResults<*>
}
}
@ -90,18 +57,18 @@ class BottomSheetListGameFragment : BottomSheetFragment(), LiveRowRepresentableD
/**
* Init UI
*/
private fun initUI() {
override fun initUI() {
LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_game_list, view?.bottomSheetContainer, true)
values.add(0, if (limit == -1) null else limit)
values.add(0, limit)
values.add(1, null)
chipGroup.removeAllViews()
Limit.values().forEach {
val chip = Chip(requireContext())
chip.text = it.shortName
chip.id = it.ordinal
chip.text = it.shortName
chip.isChecked = it.ordinal == limit
chipGroup.addView(chip)
}

Loading…
Cancel
Save