update interface casting to the relevant one

feature/top10
Razmig Sarkissian 7 years ago
parent a86a3691f8
commit 7717c3ea10
  1. 2
      app/src/main/java/net/pokeranalytics/android/model/interfaces/Manageable.kt
  2. 10
      app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt
  3. 1
      app/src/main/java/net/pokeranalytics/android/ui/fragment/HistoryFragment.kt
  4. 1
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt

@ -25,7 +25,7 @@ interface NameManageable: Manageable {
} }
override fun alreadyExists(realm: Realm): Boolean { override fun alreadyExists(realm: Realm): Boolean {
return realm.where(this::class.java).equalTo("name", this.name).findAll().isNotEmpty() return realm.where(this::class.java).equalTo("name", this.name).and().notEqualTo("id", this.id).findAll().isNotEmpty()
} }
override fun getFailedSaveMessage(status: SaveValidityStatus): Int { override fun getFailedSaveMessage(status: SaveValidityStatus): Int {

@ -12,7 +12,8 @@ import io.realm.RealmObject
import io.realm.RealmResults import io.realm.RealmResults
import kotlinx.android.synthetic.main.fragment_data_list.* import kotlinx.android.synthetic.main.fragment_data_list.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.interfaces.Manageable import net.pokeranalytics.android.model.interfaces.Deletable
import net.pokeranalytics.android.model.interfaces.Identifiable
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.LiveRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.LiveRowRepresentableDataSource
@ -23,7 +24,6 @@ import net.pokeranalytics.android.ui.helpers.SwipeToDeleteCallback
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowViewType import net.pokeranalytics.android.ui.view.RowViewType
import net.pokeranalytics.android.ui.view.rowrepresentable.SettingRow import net.pokeranalytics.android.ui.view.rowrepresentable.SettingRow
import net.pokeranalytics.android.util.extensions.showAlertDialog
class DataListFragment : PokerAnalyticsFragment(), LiveRowRepresentableDataSource, RowRepresentableDelegate { class DataListFragment : PokerAnalyticsFragment(), LiveRowRepresentableDataSource, RowRepresentableDelegate {
@ -71,7 +71,7 @@ class DataListFragment : PokerAnalyticsFragment(), LiveRowRepresentableDataSourc
EditableDataActivity.newInstance( EditableDataActivity.newInstance(
requireContext(), requireContext(),
it.ordinal, it.ordinal,
(row as Manageable).id (row as Identifiable).id
) )
} }
} }
@ -102,7 +102,7 @@ class DataListFragment : PokerAnalyticsFragment(), LiveRowRepresentableDataSourc
if (mRecentlyDeletedItem is RealmObject) { if (mRecentlyDeletedItem is RealmObject) {
// Check if the object is valid for the deletion // Check if the object is valid for the deletion
if ((mRecentlyDeletedItem as Manageable).isValidForDelete(this.getRealm())) { if ((mRecentlyDeletedItem as Deletable).isValidForDelete(this.getRealm())) {
deletedItem = getRealm().copyFromRealm(mRecentlyDeletedItem) deletedItem = getRealm().copyFromRealm(mRecentlyDeletedItem)
getRealm().executeTransaction { getRealm().executeTransaction {
mRecentlyDeletedItem.deleteFromRealm() mRecentlyDeletedItem.deleteFromRealm()
@ -112,7 +112,7 @@ class DataListFragment : PokerAnalyticsFragment(), LiveRowRepresentableDataSourc
} else { } else {
dataListAdapter.notifyItemChanged(position) dataListAdapter.notifyItemChanged(position)
val builder = AlertDialog.Builder(requireContext()) val builder = AlertDialog.Builder(requireContext())
.setMessage((mRecentlyDeletedItem as Manageable).getFailedDeleteMessage()) .setMessage((mRecentlyDeletedItem as Deletable).getFailedDeleteMessage())
.setNegativeButton(R.string.ok, null) .setNegativeButton(R.string.ok, null)
builder.show() builder.show()
} }

@ -10,7 +10,6 @@ import io.realm.kotlin.where
import kotlinx.android.synthetic.main.fragment_history.* import kotlinx.android.synthetic.main.fragment_history.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.interfaces.Editable import net.pokeranalytics.android.model.interfaces.Editable
import net.pokeranalytics.android.model.interfaces.Manageable
import net.pokeranalytics.android.model.realm.Session import net.pokeranalytics.android.model.realm.Session
import net.pokeranalytics.android.ui.activity.SessionActivity import net.pokeranalytics.android.ui.activity.SessionActivity
import net.pokeranalytics.android.ui.adapter.HistorySessionRowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.HistorySessionRowRepresentableAdapter

@ -14,7 +14,6 @@ import kotlinx.android.synthetic.main.fragment_session.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.extensions.SessionState import net.pokeranalytics.android.model.extensions.SessionState
import net.pokeranalytics.android.model.extensions.getState import net.pokeranalytics.android.model.extensions.getState
import net.pokeranalytics.android.model.interfaces.Manageable
import net.pokeranalytics.android.model.interfaces.SaveValidityStatus import net.pokeranalytics.android.model.interfaces.SaveValidityStatus
import net.pokeranalytics.android.model.realm.Location import net.pokeranalytics.android.model.realm.Location
import net.pokeranalytics.android.model.realm.Session import net.pokeranalytics.android.model.realm.Session

Loading…
Cancel
Save