From 0d9bcadfb90cfdfe7ff001365cd07d1cca372202 Mon Sep 17 00:00:00 2001 From: Razmig Sarkissian Date: Tue, 19 Feb 2019 11:17:36 +0100 Subject: [PATCH] clean up --- .../android/model/{realm => }/DataList.kt | 5 ++-- .../android/model/realm/Session.kt | 1 + .../android/ui/activity/DataListActivity.kt | 7 ++++-- .../ui/activity/EditableDataActivity.kt | 12 ++++++---- .../adapter/components/DynamicRowInterface.kt | 14 ++++------- .../android/ui/fragment/DataListFragment.kt | 23 ++++++++++++++----- .../ui/fragment/EditableDataFragment.kt | 4 ++-- .../android/ui/fragment/NewSessionFragment.kt | 1 + 8 files changed, 41 insertions(+), 26 deletions(-) rename app/src/main/java/net/pokeranalytics/android/model/{realm => }/DataList.kt (94%) diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/DataList.kt b/app/src/main/java/net/pokeranalytics/android/model/DataList.kt similarity index 94% rename from app/src/main/java/net/pokeranalytics/android/model/realm/DataList.kt rename to app/src/main/java/net/pokeranalytics/android/model/DataList.kt index a7f8fda5..38a5afed 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/DataList.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/DataList.kt @@ -1,13 +1,13 @@ -package net.pokeranalytics.android.model.realm +package net.pokeranalytics.android.model import io.realm.Realm import io.realm.RealmObject import io.realm.RealmResults import io.realm.Sort +import net.pokeranalytics.android.model.realm.* import java.util.* enum class DataList { - NONE, BANKROLL, GAME, LOCATION, @@ -25,7 +25,6 @@ enum class DataList { private val relatedEntity: Class < out RealmObject > get() { return when (this) { - NONE -> RealmObject::class.java BANKROLL -> Bankroll::class.java GAME -> Game::class.java LOCATION -> Location::class.java diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt index c57fba5f..035b7987 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt @@ -5,6 +5,7 @@ import io.realm.* import io.realm.annotations.Ignore import io.realm.annotations.PrimaryKey import net.pokeranalytics.android.calculus.SessionInterface +import net.pokeranalytics.android.model.DataList import net.pokeranalytics.android.ui.adapter.components.* import net.pokeranalytics.android.ui.fragment.components.BottomSheetData import net.pokeranalytics.android.util.data.sessionDao diff --git a/app/src/main/java/net/pokeranalytics/android/ui/activity/DataListActivity.kt b/app/src/main/java/net/pokeranalytics/android/ui/activity/DataListActivity.kt index 58584e18..3b492ebd 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/activity/DataListActivity.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/activity/DataListActivity.kt @@ -9,11 +9,14 @@ import net.pokeranalytics.android.ui.fragment.DataListFragment import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity class DataListActivity : PokerAnalyticsActivity() { + enum class IntentKey(val keyName : String) { + DATATYPE("DATATYPE"), + } companion object { fun newInstance(context: Context, dataType: Int) { val intent = Intent(context, DataListActivity::class.java) - intent.putExtra("dataType", dataType) + intent.putExtra(IntentKey.DATATYPE.keyName, dataType) context.startActivity(intent) } } @@ -30,7 +33,7 @@ class DataListActivity : PokerAnalyticsActivity() { */ private fun initUI() { - val dataType = intent.getIntExtra("dataType", 0) + val dataType = intent.getIntExtra(IntentKey.DATATYPE.keyName, 0) val fragment = dataListFragment as DataListFragment fragment.setData(dataType) } 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 index 80805141..28b7f8ff 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/activity/EditableDataActivity.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/activity/EditableDataActivity.kt @@ -9,13 +9,17 @@ import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity import net.pokeranalytics.android.ui.fragment.EditableDataFragment class EditableDataActivity : PokerAnalyticsActivity() { + enum class IntentKey(val keyName : String) { + DATATYPE("DATATYPE"), + PRIMARYKEY("PRIMARYKEY"); + } companion object { fun newInstance(context: Context, dataType: Int, primaryKey: String? = null) { val intent = Intent(context, EditableDataActivity::class.java) - intent.putExtra("dataType", dataType) + intent.putExtra(IntentKey.DATATYPE.keyName, dataType) primaryKey?.let { - intent.putExtra("primaryKey", it) + intent.putExtra(IntentKey.PRIMARYKEY.keyName, it) } context.startActivity(intent) } @@ -32,8 +36,8 @@ class EditableDataActivity : PokerAnalyticsActivity() { */ private fun initUI() { - val dataType = intent.getIntExtra("dataType", 0) - val primaryKey = intent.getStringExtra("primaryKey") + val dataType = intent.getIntExtra(IntentKey.DATATYPE.keyName, 0) + val primaryKey = intent.getStringExtra(IntentKey.PRIMARYKEY.keyName) val fragment = editableDataFragment as EditableDataFragment fragment.setData(dataType, primaryKey) } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/adapter/components/DynamicRowInterface.kt b/app/src/main/java/net/pokeranalytics/android/ui/adapter/components/DynamicRowInterface.kt index bff7f869..a222d522 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/adapter/components/DynamicRowInterface.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/adapter/components/DynamicRowInterface.kt @@ -1,19 +1,15 @@ package net.pokeranalytics.android.ui.adapter.components 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.model.realm.* +import net.pokeranalytics.android.model.DataList import net.pokeranalytics.android.ui.fragment.components.BottomSheetType interface DynamicRowInterface { fun localizedTitle(context: Context): String val viewType: Int - get() { + get() { return 0 } @@ -22,9 +18,9 @@ interface DynamicRowInterface { return BottomSheetType.NONE } - val relatedDataList: DataList + val relatedDataList: DataList? 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 relatedDataList : DataList + override val relatedDataList : DataList? get() { return when (this) { BANKROLL -> DataList.BANKROLL 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 a75395be..f1bde12b 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 @@ -36,7 +36,9 @@ class DataListFragment : PokerAnalyticsFragment(), DisplayableDelegate { } 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 { @@ -61,7 +63,13 @@ class DataListFragment : PokerAnalyticsFragment(), DisplayableDelegate { } 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.title.text = this.dataType.name.toLowerCase().capitalize() val realm = Realm.getDefaultInstance() - this.items = this.dataType.relatedDataList.items(realm) - this.items.addChangeListener { newItems -> - Timber.d("newItems: ${newItems.size}") - this.recyclerView.adapter?.notifyDataSetChanged() + + this.dataType.relatedDataList?.let { + this.items = it.items(realm) + this.items.addChangeListener { newItems -> + Timber.d("newItems: ${newItems.size}") + this.recyclerView.adapter?.notifyDataSetChanged() + } } } } \ No newline at end of file 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 index 0cffb39e..67e63e8e 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt @@ -11,7 +11,7 @@ import io.realm.RealmObject import kotlinx.android.synthetic.main.fragment_editable_data.* import kotlinx.android.synthetic.main.fragment_editable_data.view.* 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.adapter.components.DynamicListAdapter import net.pokeranalytics.android.ui.adapter.components.DynamicRowCallback @@ -25,7 +25,7 @@ import java.util.* class EditableDataFragment : PokerAnalyticsFragment(), DynamicRowCallback, BottomSheetDelegate { 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? { return inflater.inflate(R.layout.fragment_editable_data, container, false) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/NewSessionFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/NewSessionFragment.kt index ae0c5d3c..db0e68bd 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/NewSessionFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/NewSessionFragment.kt @@ -9,6 +9,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import kotlinx.android.synthetic.main.fragment_new_session.* import net.pokeranalytics.android.R 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.components.PokerAnalyticsActivity import net.pokeranalytics.android.ui.adapter.components.DynamicListAdapter