From 7913cbab3a687437a18316d32db0122d72168125 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Sun, 15 Apr 2018 16:24:39 +0200 Subject: [PATCH] Allow creation of ignore rules --- .../ignoreitem/IgnoreItemFragment.kt | 4 ++-- .../ignorelist/IgnoreListFragment.kt | 16 +++++++++++++--- app/src/main/res/layout/settings_ignorelist.xml | 1 - 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignoreitem/IgnoreItemFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignoreitem/IgnoreItemFragment.kt index 7c7f3241f..90034f76b 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignoreitem/IgnoreItemFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignoreitem/IgnoreItemFragment.kt @@ -124,7 +124,7 @@ class IgnoreItemFragment : SettingsFragment() { return view } - override fun onSave() = item?.let { data -> + override fun onSave() = item.let { data -> val intent = Intent() intent.putExtra("old", data) val new = IgnoreListManager.IgnoreListItem( @@ -139,6 +139,6 @@ class IgnoreItemFragment : SettingsFragment() { intent.putExtra("new", new) requireActivity().setResult(Activity.RESULT_OK, intent) true - } ?: false + } } diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignorelist/IgnoreListFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignorelist/IgnoreListFragment.kt index 751141e0d..ce51560e6 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignorelist/IgnoreListFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/ignorelist/IgnoreListFragment.kt @@ -47,6 +47,11 @@ class IgnoreListFragment : SettingsFragment() { helper = ItemTouchHelper(callback) helper.attachToRecyclerView(list) + add.setOnClickListener { + val intent = Intent(requireContext(), IgnoreItemActivity::class.java) + startActivityForResult(intent, REQUEST_CREATE_RULE) + } + viewModel.ignoreListManager .filter(Optional<IgnoreListManager>::isPresent) .map(Optional<IgnoreListManager>::get) @@ -77,14 +82,18 @@ class IgnoreListFragment : SettingsFragment() { val oldRule = data.getSerializableExtra("old") as? IgnoreListManager.IgnoreListItem val newRule = data.getSerializableExtra("new") as? IgnoreListManager.IgnoreListItem - println(oldRule) - println(newRule) - if (oldRule != null && newRule != null) { val index = adapter.indexOf(oldRule.ignoreRule) adapter.replace(index, newRule) } } + REQUEST_CREATE_RULE -> { + val newRule = data.getSerializableExtra("new") as? IgnoreListManager.IgnoreListItem + + if (newRule != null) { + adapter.add(newRule) + } + } } } } @@ -97,5 +106,6 @@ class IgnoreListFragment : SettingsFragment() { companion object { private const val REQUEST_UPDATE_RULE = 1 + private const val REQUEST_CREATE_RULE = 2 } } diff --git a/app/src/main/res/layout/settings_ignorelist.xml b/app/src/main/res/layout/settings_ignorelist.xml index f389ea637..183923f7f 100644 --- a/app/src/main/res/layout/settings_ignorelist.xml +++ b/app/src/main/res/layout/settings_ignorelist.xml @@ -19,7 +19,6 @@ android:layout_height="wrap_content" android:layout_gravity="end|bottom" android:layout_margin="16dp" - android:visibility="gone" app:fabSize="normal" app:srcCompat="@drawable/ic_add" app:tint="?colorTextPrimaryInverse" /> -- GitLab