diff --git a/app/src/main/java/net/pokeranalytics/android/ui/activity/EditableDataActivity.kt b/app/src/main/java/net/pokeranalytics/android/ui/activity/EditableDataActivity.kt
new file mode 100644
index 00000000..9547d252
--- /dev/null
+++ b/app/src/main/java/net/pokeranalytics/android/ui/activity/EditableDataActivity.kt
@@ -0,0 +1,47 @@
+package net.pokeranalytics.android.ui.activity
+
+import android.content.Context
+import android.content.Intent
+import android.os.Bundle
+import io.realm.Realm
+import io.realm.kotlin.where
+import kotlinx.android.synthetic.main.activity_data_list.*
+import kotlinx.android.synthetic.main.activity_editable_data.*
+import net.pokeranalytics.android.R
+import net.pokeranalytics.android.model.realm.Session
+import net.pokeranalytics.android.ui.fragment.DataListFragment
+import net.pokeranalytics.android.ui.fragment.EditableDataFragment
+import net.pokeranalytics.android.util.PokerAnalyticsActivity
+import net.pokeranalytics.android.util.data.sessionDao
+import java.util.*
+
+class EditableDataActivity : PokerAnalyticsActivity() {
+
+ companion object {
+ fun newInstance(context: Context, dataType: Int, primaryKey:String?) {
+ val intent = Intent(context, EditableDataActivity::class.java)
+ intent.putExtra("dataType", dataType)
+ primaryKey?.let {
+ intent.putExtra("primaryKey", it)
+ }
+ context.startActivity(intent)
+ }
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_editable_data)
+ initUI()
+ }
+
+ /**
+ * Init UI
+ */
+ private fun initUI() {
+
+ val dataType = intent.getIntExtra("dataType", 0)
+ val primaryKey = intent.getStringExtra("primaryKey")
+ val fragment = editableDataFragment as EditableDataFragment
+ fragment.setData(dataType, primaryKey)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt
index 0131e1a3..5a7997d7 100644
--- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt
+++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt
@@ -12,6 +12,8 @@ import io.realm.Sort
import kotlinx.android.synthetic.main.fragment_new_session.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.*
+import net.pokeranalytics.android.ui.activity.DataListActivity
+import net.pokeranalytics.android.ui.activity.EditableDataActivity
import net.pokeranalytics.android.ui.adapter.components.*
import net.pokeranalytics.android.util.PokerAnalyticsFragment
@@ -36,7 +38,7 @@ class DataListFragment : PokerAnalyticsFragment(), DisplayableDelegate {
}
override fun onRowSelected(position: Int) {
- TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
+ EditableDataActivity.newInstance(requireContext(), this.dataType.ordinal, null)
}
override fun size(): Int {
diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt
new file mode 100644
index 00000000..f67d0346
--- /dev/null
+++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt
@@ -0,0 +1,66 @@
+package net.pokeranalytics.android.ui.fragment
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.recyclerview.widget.LinearLayoutManager
+import io.realm.Realm
+import io.realm.RealmObject
+import kotlinx.android.synthetic.main.fragment_new_session.*
+import net.pokeranalytics.android.R
+import net.pokeranalytics.android.model.realm.*
+import net.pokeranalytics.android.ui.adapter.components.*
+import net.pokeranalytics.android.util.PokerAnalyticsFragment
+
+class EditableDataFragment : PokerAnalyticsFragment() {
+
+ private var item: RealmObject? = null
+ private var dataType: SettingRow = SettingRow.BANKROLL
+
+
+ override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
+ return inflater.inflate(R.layout.fragment_data_list, container, false)
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ initData()
+ initUI()
+ }
+
+ private fun initData() {
+ }
+
+ /**
+ * Init UI
+ */
+ private fun initUI() {
+
+ val viewManager = LinearLayoutManager(requireContext())
+// val dynamicListAdapter = DynamicListAdapter(this, this)
+
+ recyclerView.apply {
+ setHasFixedSize(true)
+ layoutManager = viewManager
+// adapter = dynamicListAdapter
+ }
+ }
+
+ /**
+ * Set fragment data
+ */
+ fun setData(dataType: Int, primaryKey: String?) {
+ this.dataType = SettingRow.values()[dataType]
+ primaryKey?.let {
+ val realm = Realm.getDefaultInstance()
+ this.item = realm.copyFromRealm( when (this.dataType) {
+ SettingRow.BANKROLL -> realm.where(Bankroll::class.java).equalTo("id", it).findFirst()
+ SettingRow.GAME -> realm.where(Game::class.java).equalTo("id", it).findFirst()
+ SettingRow.LOCATION -> realm.where(Location::class.java).equalTo("id", it).findFirst()
+ SettingRow.TOURNAMENT_TYPE -> realm.where(TournamentFeature::class.java).equalTo("id", it).findFirst()
+ SettingRow.TRANSACTION_TYPE-> realm.where(TransactionType::class.java).equalTo("id", it).findFirst()
+ })
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_editable_data.xml b/app/src/main/res/layout/activity_editable_data.xml
new file mode 100644
index 00000000..479e51ea
--- /dev/null
+++ b/app/src/main/res/layout/activity_editable_data.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_editable_data.xml b/app/src/main/res/layout/fragment_editable_data.xml
new file mode 100644
index 00000000..7d50fb8c
--- /dev/null
+++ b/app/src/main/res/layout/fragment_editable_data.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file