From da6a6c53ba555417f7abb6cc27448c0f6a5652e1 Mon Sep 17 00:00:00 2001 From: Laurent Date: Tue, 1 Dec 2020 09:35:08 +0100 Subject: [PATCH] Fixes crash when clearing custom field values --- .../modules/filter/FilterDetailsFragment.kt | 22 ++++++++++++++----- .../ui/view/rowrepresentable/FilterItemRow.kt | 4 ++++ 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/modules/filter/FilterDetailsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/modules/filter/FilterDetailsFragment.kt index 3707b84b..c81166eb 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/modules/filter/FilterDetailsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/modules/filter/FilterDetailsFragment.kt @@ -176,15 +176,27 @@ open class FilterDetailsFragment : RealmFragment(), RowRepresentableDelegate { } } is DoubleValueListFilterItemRow -> { - val string = value as String - row.add(string.toDouble()) + if (value == null) { + row.clear() + } else { + val string = value as String + row.add(string.toDouble()) + } } is IntValueListFilterItemRow -> { - val string = value as String - row.add(string.toInt()) + if (value == null) { + row.clear() + } else { + val string = value as String + row.add(string.toInt()) + } } is StringValueListFilterItemRow -> { - row.add(value as String) + if (value == null) { + row.clear() + } else { + row.add(value as String) + } } } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterItemRow.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterItemRow.kt index e8cc52d1..7a15ddc5 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterItemRow.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/FilterItemRow.kt @@ -159,6 +159,10 @@ abstract class ValueListFilterItemRow>(queryCondition: QueryCon this.list.add(value) } + fun clear() { + this.list.clear() + } + override val queryCondition: QueryCondition? get() { return if (list.isNotEmpty()) {