diff --git a/app/src/main/java/net/pokeranalytics/android/model/LiveData.kt b/app/src/main/java/net/pokeranalytics/android/model/LiveData.kt
index c5687eb8..83728288 100644
--- a/app/src/main/java/net/pokeranalytics/android/model/LiveData.kt
+++ b/app/src/main/java/net/pokeranalytics/android/model/LiveData.kt
@@ -62,7 +62,7 @@ enum class LiveData : Localizable {
fun updateOrCreate(realm:Realm, primaryKey:String?): RealmObject {
val proxyItem: RealmObject? = this.getData(realm, primaryKey)
proxyItem?.let {
- return proxyItem
+ return realm.copyFromRealm(it)
} ?: run {
return this.newEntity()
}
diff --git a/app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableAdapter.kt b/app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableAdapter.kt
index e9e61ae6..da324bcf 100644
--- a/app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableAdapter.kt
+++ b/app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableAdapter.kt
@@ -3,7 +3,9 @@ package net.pokeranalytics.android.ui.adapter
import android.os.Handler
import android.view.ViewGroup
import androidx.recyclerview.widget.DiffUtil
+import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.RecyclerView
+import kotlinx.android.synthetic.main.fragment_settings.*
import net.pokeranalytics.android.ui.view.BindableHolder
import net.pokeranalytics.android.ui.view.RowRepresentableEditDescriptor
import net.pokeranalytics.android.ui.view.RowRepresentable
diff --git a/app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableRecyclerView.kt b/app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableRecyclerView.kt
new file mode 100644
index 00000000..43d3a789
--- /dev/null
+++ b/app/src/main/java/net/pokeranalytics/android/ui/adapter/RowRepresentableRecyclerView.kt
@@ -0,0 +1,37 @@
+package net.pokeranalytics.android.ui.adapter
+
+import android.content.Context
+import android.util.AttributeSet
+import androidx.core.content.ContextCompat
+import androidx.recyclerview.widget.DividerItemDecoration
+import androidx.recyclerview.widget.RecyclerView
+import net.pokeranalytics.android.R
+
+
+class RowRepresentableRecyclerView : RecyclerView {
+ /**
+ * Constructors
+ */
+ constructor(context: Context) : super(context) {
+ init()
+ }
+
+ constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) {
+ init()
+ }
+
+ constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {
+ init()
+ }
+
+ /**
+ * Init
+ *
+ * @param attrs
+ */
+ private fun init() {
+ val itemDecorator = DividerItemDecoration(this.context, DividerItemDecoration.VERTICAL)
+ itemDecorator.setDrawable(ContextCompat.getDrawable(this.context!!, R.drawable.separator)!!)
+ this.addItemDecoration(itemDecorator)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt
index 1c70e275..d5c7a5b7 100644
--- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt
+++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt
@@ -4,7 +4,11 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.Toast
+import androidx.core.content.ContextCompat
+import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.fragment_settings.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.ui.activity.DataListActivity
@@ -50,7 +54,14 @@ class SettingsFragment : PokerAnalyticsFragment(), RowRepresentableDataSource,
}
override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) {
- DataListActivity.newInstance(requireContext(), (row as SettingRow).ordinal)
+
+ when (row) {
+ SettingRow.GDPR -> Toast.makeText(requireContext(), "Show GDPR", Toast.LENGTH_SHORT).show()
+ }
+
+ row.relatedResultsRepresentable?.let {
+ DataListActivity.newInstance(requireContext(), (row as SettingRow).ordinal)
+ }
}
/**
diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextFragment.kt
index b182c79b..9e6be4a7 100644
--- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextFragment.kt
+++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetEditTextFragment.kt
@@ -27,7 +27,7 @@ class BottomSheetEditTextFragment : BottomSheetFragment() {
}
override fun getValue(): Any? {
- return value
+ return value.trim()
}
/**
@@ -56,7 +56,7 @@ class BottomSheetEditTextFragment : BottomSheetFragment() {
editText1.setOnEditorActionListener { v, actionId, event ->
if (actionId == EditorInfo.IME_ACTION_DONE) {
- delegate.onRowValueChanged(value, row)
+ delegate.onRowValueChanged(getValue(), row)
dismiss()
true
} else {
diff --git a/app/src/main/res/drawable/separator.xml b/app/src/main/res/drawable/separator.xml
new file mode 100644
index 00000000..0af99c11
--- /dev/null
+++ b/app/src/main/res/drawable/separator.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml
index 0d9b6d37..12edc3e2 100644
--- a/app/src/main/res/layout/fragment_settings.xml
+++ b/app/src/main/res/layout/fragment_settings.xml
@@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
-