The filter name was not refreshed after a name update + cleanup

bs
Laurent 5 years ago
parent 24cc9327e4
commit 14210452bf
  1. 14
      app/src/main/java/net/pokeranalytics/android/model/realm/Filter.kt
  2. 50
      app/src/main/java/net/pokeranalytics/android/ui/modules/filter/FiltersListFragment.kt

@ -37,7 +37,6 @@ open class Filter : RealmObject(), RowRepresentable, Editable, Deletable, Counta
val filter = Filter()
filter.filterableTypeUniqueIdentifier = filterableTypeUniqueIdentifier
return filter
//return realm.copyToRealm(filter)
}
inline fun <reified T : Filterable> queryOn(realm: Realm, query: Query, sortField: String? = null): RealmResults<T> {
@ -46,7 +45,6 @@ open class Filter : RealmObject(), RowRepresentable, Editable, Deletable, Counta
sortField?.let {
realmQuery = realmQuery.sort(it)
}
// val desc = realmQuery.description
return realmQuery.findAll()
}
}
@ -153,10 +151,6 @@ open class Filter : RealmObject(), RowRepresentable, Editable, Deletable, Counta
inline fun <reified T : Filterable> query(firstField: String? = null, vararg remainingFields: String): RealmQuery<T> {
val realmQuery = realm.where<T>()
// if (firstField != null && secondField != null) {
// return this.query.queryWith(realmQuery).distinct(firstField, secondField)
// }
if (firstField != null) {
return this.query.queryWith(realmQuery).distinct(firstField, *remainingFields)
}
@ -205,11 +199,9 @@ open class Filter : RealmObject(), RowRepresentable, Editable, Deletable, Counta
}
override fun updateValue(value: Any?, row: RowRepresentable) {
realm.executeTransaction {
val newName = value as String? ?: ""
if (newName.isNotEmpty()) {
name = newName
}
val newName = value as String? ?: ""
if (newName.isNotEmpty()) {
name = newName
}
}
}

@ -13,52 +13,14 @@ import net.pokeranalytics.android.util.Preferences
open class FiltersListFragment : DataListFragment() {
// private var identifiableClass: Class<out Deletable> = Filter::class.java
// private var dataType: LiveData = LiveData.FILTER
// private lateinit var items: RealmResults<Filter>
//
// /**
// * Set fragment data
// */
// override fun setData(dataType: Int) {
// super.setData(dataType)
//
// this.dataType = LiveData.FILTER
// this.identifiableClass = Filter::class.java
// setToolbarTitle(this.dataType.pluralLocalizedTitle(requireContext()))
// this.items = this.retrieveItems(getRealm()) as RealmResults<Filter>
// }
//
// override fun rowRepresentableForPosition(position: Int): RowRepresentable? {
// Timber.d("rowRepresentableForPosition: ${this.items[position] as RowRepresentable}")
// return this.items[position] as RowRepresentable
// }
//
// override fun numberOfRows(): Int {
// return this.items.size
// }
//
// override fun adapterRows(): List<RowRepresentable>? {
// return items
// }
//
// override fun viewTypeForPosition(position: Int): Int {
// val viewType = (this.items[position] as RowRepresentable).viewType
// return if (viewType != -1) viewType else RowViewType.DATA.ordinal
// }
//
// override fun editDescriptors(row: RowRepresentable): List<RowRepresentableEditDescriptor>? {
// return when (row) {
// is Filter -> row.editingDescriptors(mapOf("defaultValue" to row.name))
// else -> super.editDescriptors(row)
// }
// }
override fun onRowValueChanged(value: Any?, row: RowRepresentable) {
when (row) {
is Filter -> {
row.updateValue(value, row)
dataListAdapter.refreshRow(row)
getRealm().executeTransaction {
row.updateValue(value, row)
}
val index = this.model.items.indexOf(row)
this.dataListAdapter.notifyItemChanged(index)
updateFilterUIIfNecessary(requireContext(), row.id)
}
else -> super.onRowValueChanged(value, row)
@ -94,8 +56,6 @@ open class FiltersListFragment : DataListFragment() {
}
else -> {
super.onRowSelected(position, row, tag)
// val identifier = (row as Identifiable).id
// EditableDataActivity.newInstanceForResult(this, this.dataType, identifier, REQUEST_CODE_DETAILS)
}
}
}

Loading…
Cancel
Save