dev_raz_wip
Razmig Sarkissian 7 years ago
parent 79a4bc10d1
commit 0d9bcadfb9
  1. 5
      app/src/main/java/net/pokeranalytics/android/model/DataList.kt
  2. 1
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  3. 7
      app/src/main/java/net/pokeranalytics/android/ui/activity/DataListActivity.kt
  4. 12
      app/src/main/java/net/pokeranalytics/android/ui/activity/EditableDataActivity.kt
  5. 14
      app/src/main/java/net/pokeranalytics/android/ui/adapter/components/DynamicRowInterface.kt
  6. 23
      app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt
  7. 4
      app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt
  8. 1
      app/src/main/java/net/pokeranalytics/android/ui/fragment/NewSessionFragment.kt

@ -1,13 +1,13 @@
package net.pokeranalytics.android.model.realm package net.pokeranalytics.android.model
import io.realm.Realm import io.realm.Realm
import io.realm.RealmObject import io.realm.RealmObject
import io.realm.RealmResults import io.realm.RealmResults
import io.realm.Sort import io.realm.Sort
import net.pokeranalytics.android.model.realm.*
import java.util.* import java.util.*
enum class DataList { enum class DataList {
NONE,
BANKROLL, BANKROLL,
GAME, GAME,
LOCATION, LOCATION,
@ -25,7 +25,6 @@ enum class DataList {
private val relatedEntity: Class < out RealmObject > private val relatedEntity: Class < out RealmObject >
get() { get() {
return when (this) { return when (this) {
NONE -> RealmObject::class.java
BANKROLL -> Bankroll::class.java BANKROLL -> Bankroll::class.java
GAME -> Game::class.java GAME -> Game::class.java
LOCATION -> Location::class.java LOCATION -> Location::class.java

@ -5,6 +5,7 @@ import io.realm.*
import io.realm.annotations.Ignore import io.realm.annotations.Ignore
import io.realm.annotations.PrimaryKey import io.realm.annotations.PrimaryKey
import net.pokeranalytics.android.calculus.SessionInterface import net.pokeranalytics.android.calculus.SessionInterface
import net.pokeranalytics.android.model.DataList
import net.pokeranalytics.android.ui.adapter.components.* import net.pokeranalytics.android.ui.adapter.components.*
import net.pokeranalytics.android.ui.fragment.components.BottomSheetData import net.pokeranalytics.android.ui.fragment.components.BottomSheetData
import net.pokeranalytics.android.util.data.sessionDao import net.pokeranalytics.android.util.data.sessionDao

@ -9,11 +9,14 @@ import net.pokeranalytics.android.ui.fragment.DataListFragment
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
class DataListActivity : PokerAnalyticsActivity() { class DataListActivity : PokerAnalyticsActivity() {
enum class IntentKey(val keyName : String) {
DATATYPE("DATATYPE"),
}
companion object { companion object {
fun newInstance(context: Context, dataType: Int) { fun newInstance(context: Context, dataType: Int) {
val intent = Intent(context, DataListActivity::class.java) val intent = Intent(context, DataListActivity::class.java)
intent.putExtra("dataType", dataType) intent.putExtra(IntentKey.DATATYPE.keyName, dataType)
context.startActivity(intent) context.startActivity(intent)
} }
} }
@ -30,7 +33,7 @@ class DataListActivity : PokerAnalyticsActivity() {
*/ */
private fun initUI() { private fun initUI() {
val dataType = intent.getIntExtra("dataType", 0) val dataType = intent.getIntExtra(IntentKey.DATATYPE.keyName, 0)
val fragment = dataListFragment as DataListFragment val fragment = dataListFragment as DataListFragment
fragment.setData(dataType) fragment.setData(dataType)
} }

@ -9,13 +9,17 @@ import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.fragment.EditableDataFragment import net.pokeranalytics.android.ui.fragment.EditableDataFragment
class EditableDataActivity : PokerAnalyticsActivity() { class EditableDataActivity : PokerAnalyticsActivity() {
enum class IntentKey(val keyName : String) {
DATATYPE("DATATYPE"),
PRIMARYKEY("PRIMARYKEY");
}
companion object { companion object {
fun newInstance(context: Context, dataType: Int, primaryKey: String? = null) { fun newInstance(context: Context, dataType: Int, primaryKey: String? = null) {
val intent = Intent(context, EditableDataActivity::class.java) val intent = Intent(context, EditableDataActivity::class.java)
intent.putExtra("dataType", dataType) intent.putExtra(IntentKey.DATATYPE.keyName, dataType)
primaryKey?.let { primaryKey?.let {
intent.putExtra("primaryKey", it) intent.putExtra(IntentKey.PRIMARYKEY.keyName, it)
} }
context.startActivity(intent) context.startActivity(intent)
} }
@ -32,8 +36,8 @@ class EditableDataActivity : PokerAnalyticsActivity() {
*/ */
private fun initUI() { private fun initUI() {
val dataType = intent.getIntExtra("dataType", 0) val dataType = intent.getIntExtra(IntentKey.DATATYPE.keyName, 0)
val primaryKey = intent.getStringExtra("primaryKey") val primaryKey = intent.getStringExtra(IntentKey.PRIMARYKEY.keyName)
val fragment = editableDataFragment as EditableDataFragment val fragment = editableDataFragment as EditableDataFragment
fragment.setData(dataType, primaryKey) fragment.setData(dataType, primaryKey)
} }

@ -1,19 +1,15 @@
package net.pokeranalytics.android.ui.adapter.components package net.pokeranalytics.android.ui.adapter.components
import android.content.Context import android.content.Context
import io.realm.Realm
import io.realm.RealmObject
import io.realm.RealmResults
import io.realm.Sort
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.* import net.pokeranalytics.android.model.DataList
import net.pokeranalytics.android.ui.fragment.components.BottomSheetType import net.pokeranalytics.android.ui.fragment.components.BottomSheetType
interface DynamicRowInterface { interface DynamicRowInterface {
fun localizedTitle(context: Context): String fun localizedTitle(context: Context): String
val viewType: Int val viewType: Int
get() { get() {
return 0 return 0
} }
@ -22,9 +18,9 @@ interface DynamicRowInterface {
return BottomSheetType.NONE return BottomSheetType.NONE
} }
val relatedDataList: DataList val relatedDataList: DataList?
get() { get() {
return DataList.NONE return null
} }
} }
@ -195,7 +191,7 @@ enum class SettingRow(val resId: Int) : DynamicRowInterface {
override val viewType: Int = RowViewType.TITLE.ordinal override val viewType: Int = RowViewType.TITLE.ordinal
override val relatedDataList : DataList override val relatedDataList : DataList?
get() { get() {
return when (this) { return when (this) {
BANKROLL -> DataList.BANKROLL BANKROLL -> DataList.BANKROLL

@ -36,7 +36,9 @@ class DataListFragment : PokerAnalyticsFragment(), DisplayableDelegate {
} }
override fun onRowSelected(position: Int) { override fun onRowSelected(position: Int) {
EditableDataActivity.newInstance(requireContext(), this.dataType.relatedDataList.ordinal, this.data(position).primaryKey) this.dataType.relatedDataList?.let {
EditableDataActivity.newInstance(requireContext(), it.ordinal, this.data(position).primaryKey)
}
} }
override fun size(): Int { override fun size(): Int {
@ -61,7 +63,13 @@ class DataListFragment : PokerAnalyticsFragment(), DisplayableDelegate {
} }
this.addButton.setOnClickListener { this.addButton.setOnClickListener {
EditableDataActivity.newInstance(requireContext(), dataType = this.dataType.relatedDataList.ordinal, primaryKey = null) this.dataType.relatedDataList?.let {
EditableDataActivity.newInstance(
requireContext(),
dataType = it.ordinal,
primaryKey = null
)
}
} }
} }
@ -74,10 +82,13 @@ class DataListFragment : PokerAnalyticsFragment(), DisplayableDelegate {
this.dataType = SettingRow.values()[dataType] this.dataType = SettingRow.values()[dataType]
this.title.text = this.dataType.name.toLowerCase().capitalize() this.title.text = this.dataType.name.toLowerCase().capitalize()
val realm = Realm.getDefaultInstance() val realm = Realm.getDefaultInstance()
this.items = this.dataType.relatedDataList.items(realm)
this.items.addChangeListener { newItems -> this.dataType.relatedDataList?.let {
Timber.d("newItems: ${newItems.size}") this.items = it.items(realm)
this.recyclerView.adapter?.notifyDataSetChanged() this.items.addChangeListener { newItems ->
Timber.d("newItems: ${newItems.size}")
this.recyclerView.adapter?.notifyDataSetChanged()
}
} }
} }
} }

@ -11,7 +11,7 @@ import io.realm.RealmObject
import kotlinx.android.synthetic.main.fragment_editable_data.* import kotlinx.android.synthetic.main.fragment_editable_data.*
import kotlinx.android.synthetic.main.fragment_editable_data.view.* import kotlinx.android.synthetic.main.fragment_editable_data.view.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.DataList import net.pokeranalytics.android.model.DataList
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity 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
@ -25,7 +25,7 @@ import java.util.*
class EditableDataFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomSheetDelegate { class EditableDataFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomSheetDelegate {
private lateinit var item: RealmObject private lateinit var item: RealmObject
private var dataType: DataList = DataList.NONE private lateinit var dataType: DataList
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_editable_data, container, false) return inflater.inflate(R.layout.fragment_editable_data, container, false)

@ -9,6 +9,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
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.model.realm.*
import net.pokeranalytics.android.model.DataList
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
import net.pokeranalytics.android.ui.adapter.components.DynamicListAdapter import net.pokeranalytics.android.ui.adapter.components.DynamicListAdapter

Loading…
Cancel
Save