diff --git a/app/src/main/java/net/pokeranalytics/android/model/interfaces/Manageable.kt b/app/src/main/java/net/pokeranalytics/android/model/interfaces/Manageable.kt index 01fc7256..6ea3ecca 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/interfaces/Manageable.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/interfaces/Manageable.kt @@ -25,7 +25,7 @@ interface NameManageable: Manageable { } 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 { 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 93799320..2127315e 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,7 +12,8 @@ import io.realm.RealmObject import io.realm.RealmResults import kotlinx.android.synthetic.main.fragment_data_list.* 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.components.PokerAnalyticsActivity 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.RowViewType import net.pokeranalytics.android.ui.view.rowrepresentable.SettingRow -import net.pokeranalytics.android.util.extensions.showAlertDialog class DataListFragment : PokerAnalyticsFragment(), LiveRowRepresentableDataSource, RowRepresentableDelegate { @@ -71,7 +71,7 @@ class DataListFragment : PokerAnalyticsFragment(), LiveRowRepresentableDataSourc EditableDataActivity.newInstance( requireContext(), it.ordinal, - (row as Manageable).id + (row as Identifiable).id ) } } @@ -102,7 +102,7 @@ class DataListFragment : PokerAnalyticsFragment(), LiveRowRepresentableDataSourc if (mRecentlyDeletedItem is RealmObject) { // 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) getRealm().executeTransaction { mRecentlyDeletedItem.deleteFromRealm() @@ -112,7 +112,7 @@ class DataListFragment : PokerAnalyticsFragment(), LiveRowRepresentableDataSourc } else { dataListAdapter.notifyItemChanged(position) val builder = AlertDialog.Builder(requireContext()) - .setMessage((mRecentlyDeletedItem as Manageable).getFailedDeleteMessage()) + .setMessage((mRecentlyDeletedItem as Deletable).getFailedDeleteMessage()) .setNegativeButton(R.string.ok, null) builder.show() } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/HistoryFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/HistoryFragment.kt index 37f6323b..67d8d915 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/HistoryFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/HistoryFragment.kt @@ -10,7 +10,6 @@ import io.realm.kotlin.where import kotlinx.android.synthetic.main.fragment_history.* import net.pokeranalytics.android.R 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.ui.activity.SessionActivity import net.pokeranalytics.android.ui.adapter.HistorySessionRowRepresentableAdapter diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt index cb0c0ba3..ddf62652 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SessionFragment.kt @@ -14,7 +14,6 @@ import kotlinx.android.synthetic.main.fragment_session.* import net.pokeranalytics.android.R import net.pokeranalytics.android.model.extensions.SessionState 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.realm.Location import net.pokeranalytics.android.model.realm.Session