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

dev_raz_wip
Razmig Sarkissian 7 years ago
commit 7e782eea90
  1. 7
      app/src/main/java/net/pokeranalytics/android/model/realm/Game.kt
  2. 13
      app/src/main/java/net/pokeranalytics/android/ui/adapter/components/DataListAdapter.kt
  3. 6
      app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt
  4. 4
      app/src/main/java/net/pokeranalytics/android/ui/fragment/NewSessionFragment.kt
  5. 10
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetFragment.kt
  6. 28
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetGameFragment.kt
  7. 1
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/PokerAnalyticsFragment.kt

@ -2,9 +2,10 @@ package net.pokeranalytics.android.model.realm
import io.realm.RealmObject import io.realm.RealmObject
import io.realm.annotations.PrimaryKey import io.realm.annotations.PrimaryKey
import net.pokeranalytics.android.ui.adapter.components.DisplayableDataSource
import java.util.* import java.util.*
open class Game : RealmObject() { open class Game : RealmObject(), DisplayableDataSource {
@PrimaryKey @PrimaryKey
var id = UUID.randomUUID().toString() var id = UUID.randomUUID().toString()
@ -15,4 +16,8 @@ open class Game : RealmObject() {
// A shorter name for the game // A shorter name for the game
var shortName: String? = null var shortName: String? = null
override var title: String = ""
get() {
return name
}
} }

@ -3,8 +3,8 @@ package net.pokeranalytics.android.ui.adapter.components
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.appcompat.widget.AppCompatTextView
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.row_session.view.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
interface DisplayableDelegate { interface DisplayableDelegate {
@ -17,12 +17,17 @@ interface DisplayableDataSource {
var title: String var title: String
} }
class DataListAdapter(var delegate: DisplayableDelegate) : RecyclerView.Adapter<RecyclerView.ViewHolder>() { class DataListAdapter(var delegate: DisplayableDelegate, layout: Int? = null) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
inner class DataViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { inner class DataViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
fun bind(row: DisplayableDataSource, listener: View.OnClickListener) { fun bind(row: DisplayableDataSource, listener: View.OnClickListener) {
itemView.title.text = row.title //itemView.title.text = row.title
itemView.container.setOnClickListener(listener) //itemView.container.setOnClickListener(listener)
itemView.findViewById<AppCompatTextView>(R.id.title).text = row.title
itemView.findViewById<AppCompatTextView>(R.id.title).text = row.title
} }
} }

@ -8,18 +8,16 @@ import android.widget.Toast
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import io.realm.Realm import io.realm.Realm
import io.realm.RealmObject import io.realm.RealmObject
import io.realm.kotlin.createObject
import kotlinx.android.synthetic.main.fragment_new_session.* import kotlinx.android.synthetic.main.fragment_new_session.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.*
import net.pokeranalytics.android.ui.adapter.components.* import net.pokeranalytics.android.ui.adapter.components.*
import net.pokeranalytics.android.ui.fragment.components.BottomSheetDelegate
import net.pokeranalytics.android.ui.fragment.components.BottomSheetFragment import net.pokeranalytics.android.ui.fragment.components.BottomSheetFragment
import net.pokeranalytics.android.ui.fragment.components.BottomSheetType
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import java.util.* import java.util.*
import java.util.UUID.randomUUID import java.util.UUID.randomUUID
class EditableDataFragment : PokerAnalyticsFragment(), DynamicRowCallback, EditableDataDelegate { class EditableDataFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomSheetDelegate {
private lateinit var item: RealmObject private lateinit var item: RealmObject
private var dataType: SettingRow = SettingRow.BANKROLL private var dataType: SettingRow = SettingRow.BANKROLL

@ -13,12 +13,12 @@ import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.components.DynamicListAdapter import net.pokeranalytics.android.ui.adapter.components.DynamicListAdapter
import net.pokeranalytics.android.ui.adapter.components.DynamicRowCallback import net.pokeranalytics.android.ui.adapter.components.DynamicRowCallback
import net.pokeranalytics.android.ui.adapter.components.DynamicRowInterface import net.pokeranalytics.android.ui.adapter.components.DynamicRowInterface
import net.pokeranalytics.android.ui.adapter.components.EditableDataDelegate import net.pokeranalytics.android.ui.fragment.components.BottomSheetDelegate
import net.pokeranalytics.android.ui.fragment.components.BottomSheetFragment import net.pokeranalytics.android.ui.fragment.components.BottomSheetFragment
import net.pokeranalytics.android.ui.fragment.components.BottomSheetType import net.pokeranalytics.android.ui.fragment.components.BottomSheetType
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
class NewSessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, EditableDataDelegate { class NewSessionFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomSheetDelegate {
private lateinit var newSession: Session private lateinit var newSession: Session

@ -11,7 +11,6 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import kotlinx.android.synthetic.main.fragment_bottom_sheet.* import kotlinx.android.synthetic.main.fragment_bottom_sheet.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.adapter.components.DynamicRowInterface import net.pokeranalytics.android.ui.adapter.components.DynamicRowInterface
import net.pokeranalytics.android.ui.adapter.components.EditableDataDelegate
enum class BottomSheetType { enum class BottomSheetType {
NONE, NONE,
@ -29,15 +28,20 @@ interface BottomSheetInterface {
fun clickOnAdd() fun clickOnAdd()
} }
interface BottomSheetDelegate {
fun setValue(value: Any, row: DynamicRowInterface)
}
open class BottomSheetFragment : BottomSheetDialogFragment(), BottomSheetInterface { open class BottomSheetFragment : BottomSheetDialogFragment(), BottomSheetInterface {
lateinit var row: DynamicRowInterface lateinit var row: DynamicRowInterface
lateinit var valueDelegate: EditableDataDelegate lateinit var valueDelegate: BottomSheetDelegate
private var data: Any? = null private var data: Any? = null
companion object { companion object {
fun create( fragmentManager: FragmentManager?, row: DynamicRowInterface, valueDelegate: EditableDataDelegate, data: Any?): BottomSheetFragment { fun create( fragmentManager: FragmentManager?, row: DynamicRowInterface, valueDelegate: BottomSheetDelegate, data: Any?): BottomSheetFragment {
val bottomSheetFragment = when (row.bottomSheetType) { val bottomSheetFragment = when (row.bottomSheetType) {
BottomSheetType.BLINDS -> BottomSheetBlindsFragment() BottomSheetType.BLINDS -> BottomSheetBlindsFragment()

@ -9,13 +9,13 @@ import kotlinx.android.synthetic.main.bottom_sheet_game.*
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.model.realm.Game import net.pokeranalytics.android.model.realm.Game
import net.pokeranalytics.android.ui.adapter.components.DynamicListAdapter import net.pokeranalytics.android.ui.adapter.components.DataListAdapter
import net.pokeranalytics.android.ui.adapter.components.DynamicRowDelegate import net.pokeranalytics.android.ui.adapter.components.DisplayableDataSource
import net.pokeranalytics.android.ui.adapter.components.DisplayableDelegate
import net.pokeranalytics.android.ui.adapter.components.DynamicRowInterface import net.pokeranalytics.android.ui.adapter.components.DynamicRowInterface
class BottomSheetGameFragment : BottomSheetFragment(), DisplayableDelegate {
class BottomSheetGameFragment : BottomSheetFragment(), DynamicRowDelegate {
private var game: Game = Game() private var game: Game = Game()
@ -31,14 +31,18 @@ class BottomSheetGameFragment : BottomSheetFragment(), DynamicRowDelegate {
dismiss() dismiss()
} }
override fun adapterRows(): ArrayList<DynamicRowInterface> { override fun data(position: Int): DisplayableDataSource {
val array = ArrayList<DynamicRowInterface>() return game
array.add(TitleObject("Game 1")) }
array.add(TitleObject("Game 2"))
array.add(TitleObject("Game 3")) override fun onRowSelected(position: Int) {
return array
} }
override fun size(): Int {
return 1
}
/** /**
* Init data * Init data
*/ */
@ -54,12 +58,12 @@ class BottomSheetGameFragment : BottomSheetFragment(), DynamicRowDelegate {
LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_game, view?.bottomSheetContainer, true) LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_game, view?.bottomSheetContainer, true)
val viewManager = LinearLayoutManager(requireContext()) val viewManager = LinearLayoutManager(requireContext())
val dataAdapter = DynamicListAdapter(this) val dataAdapter = DataListAdapter(this)
gameNameRecyclerView.apply { gameNameRecyclerView.apply {
setHasFixedSize(true) setHasFixedSize(true)
layoutManager = viewManager layoutManager = viewManager
//adapter = dataAdapter adapter = dataAdapter
} }
} }

@ -4,6 +4,7 @@ import android.os.Bundle
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import io.realm.Realm import io.realm.Realm
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.adapter.components.DynamicRowInterface
open class PokerAnalyticsFragment: Fragment() { open class PokerAnalyticsFragment: Fragment() {

Loading…
Cancel
Save