From 7ea61824c8c98919181dac58dca3d0af2472bb55 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Fri, 31 Oct 2025 18:41:41 -0400 Subject: [PATCH] Moves filter interfaces to their own files --- .../amethyst/ui/dal/AdditiveFeedFilter.kt | 6 ---- .../amethyst/ui/dal/FeedFilter.kt | 13 ------- .../amethyst/ui/dal/IAdditiveFeedFilter.kt | 27 +++++++++++++++ .../amethyst/ui/dal/IFeedFilter.kt | 34 +++++++++++++++++++ 4 files changed, 61 insertions(+), 19 deletions(-) create mode 100644 amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/IAdditiveFeedFilter.kt create mode 100644 amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/IFeedFilter.kt diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/AdditiveFeedFilter.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/AdditiveFeedFilter.kt index 5e7729481..019296d92 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/AdditiveFeedFilter.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/AdditiveFeedFilter.kt @@ -41,9 +41,3 @@ abstract class AdditiveFeedFilter : } } } - -interface IAdditiveFeedFilter : IFeedFilter { - fun applyFilter(newItems: Set): Set - - fun sort(items: Set): List -} diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/FeedFilter.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/FeedFilter.kt index c26e1935c..27b12cee1 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/FeedFilter.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/FeedFilter.kt @@ -32,16 +32,3 @@ abstract class FeedFilter : IFeedFilter { return feed.take(limit()) } } - -interface IFeedFilter { - fun loadTop(): List - - fun limit(): Int = 500 - - /** Returns a string that serves as the key to invalidate the list if it changes. */ - fun feedKey(): Any - - fun showHiddenKey(): Boolean = false - - fun feed(): List -} diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/IAdditiveFeedFilter.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/IAdditiveFeedFilter.kt new file mode 100644 index 000000000..189ce046a --- /dev/null +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/IAdditiveFeedFilter.kt @@ -0,0 +1,27 @@ +/** + * Copyright (c) 2025 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.ui.dal + +interface IAdditiveFeedFilter : IFeedFilter { + fun applyFilter(newItems: Set): Set + + fun sort(items: Set): List +} diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/IFeedFilter.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/IFeedFilter.kt new file mode 100644 index 000000000..6c5dd8a5a --- /dev/null +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/dal/IFeedFilter.kt @@ -0,0 +1,34 @@ +/** + * Copyright (c) 2025 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.ui.dal + +interface IFeedFilter { + fun loadTop(): List + + fun limit(): Int = 500 + + /** Returns a string that serves as the key to invalidate the list if it changes. */ + fun feedKey(): Any + + fun showHiddenKey(): Boolean = false + + fun feed(): List +}