diff --git a/common/src/main/kotlin/me/rhunk/snapenhance/common/data/MessagingCoreObjects.kt b/common/src/main/kotlin/me/rhunk/snapenhance/common/data/MessagingCoreObjects.kt index 89cd09bb..ef7eccd9 100644 --- a/common/src/main/kotlin/me/rhunk/snapenhance/common/data/MessagingCoreObjects.kt +++ b/common/src/main/kotlin/me/rhunk/snapenhance/common/data/MessagingCoreObjects.kt @@ -31,8 +31,8 @@ enum class MessagingRuleType( val listMode: Boolean, val showInFriendMenu: Boolean = true ) { - AUTO_DOWNLOAD("auto_download", true), STEALTH("stealth", true), + AUTO_DOWNLOAD("auto_download", true), AUTO_SAVE("auto_save", true), HIDE_FRIEND_FEED("hide_friend_feed", false, showInFriendMenu = false), E2E_ENCRYPTION("e2e_encryption", false), diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/core/manager/impl/FeatureManager.kt b/core/src/main/kotlin/me/rhunk/snapenhance/core/manager/impl/FeatureManager.kt index 5e8a6af1..c98db39f 100644 --- a/core/src/main/kotlin/me/rhunk/snapenhance/core/manager/impl/FeatureManager.kt +++ b/core/src/main/kotlin/me/rhunk/snapenhance/core/manager/impl/FeatureManager.kt @@ -58,7 +58,7 @@ class FeatureManager( return features.find { it::class == featureClass } as? T } - fun getRuleFeatures() = features.filterIsInstance() + fun getRuleFeatures() = features.filterIsInstance().sortedBy { it.ruleType.ordinal } override fun init() { register( diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/core/ui/ViewAppearanceHelper.kt b/core/src/main/kotlin/me/rhunk/snapenhance/core/ui/ViewAppearanceHelper.kt index 2d8590c9..3e69470b 100644 --- a/core/src/main/kotlin/me/rhunk/snapenhance/core/ui/ViewAppearanceHelper.kt +++ b/core/src/main/kotlin/me/rhunk/snapenhance/core/ui/ViewAppearanceHelper.kt @@ -1,6 +1,7 @@ package me.rhunk.snapenhance.core.ui import android.annotation.SuppressLint +import android.app.Activity import android.app.AlertDialog import android.content.Context import android.content.res.ColorStateList @@ -70,6 +71,10 @@ fun View.triggerCloseTouchEvent() { } } +fun Activity.triggerRootCloseTouchEvent() { + findViewById(android.R.id.content).triggerCloseTouchEvent() +} + fun ViewGroup.children(): List { val children = mutableListOf() for (i in 0 until childCount) { diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/core/ui/menu/impl/FriendFeedInfoMenu.kt b/core/src/main/kotlin/me/rhunk/snapenhance/core/ui/menu/impl/FriendFeedInfoMenu.kt index 5b89da5b..9c8e83a4 100644 --- a/core/src/main/kotlin/me/rhunk/snapenhance/core/ui/menu/impl/FriendFeedInfoMenu.kt +++ b/core/src/main/kotlin/me/rhunk/snapenhance/core/ui/menu/impl/FriendFeedInfoMenu.kt @@ -28,6 +28,7 @@ import me.rhunk.snapenhance.core.features.impl.spying.MessageLogger import me.rhunk.snapenhance.core.ui.ViewAppearanceHelper import me.rhunk.snapenhance.core.ui.applyTheme import me.rhunk.snapenhance.core.ui.menu.AbstractMenu +import me.rhunk.snapenhance.core.ui.triggerRootCloseTouchEvent import java.net.HttpURLConnection import java.net.URL import java.text.DateFormat @@ -305,7 +306,10 @@ class FriendFeedInfoMenu : AbstractMenu() { viewConsumer(Button(view.context).apply { text = modContext.translation["friend_menu_option.mark_as_seen"] applyTheme(view.width, hasRadius = true) - setOnClickListener { markAsSeen(conversationId) } + setOnClickListener { + this@FriendFeedInfoMenu.context.mainActivity?.triggerRootCloseTouchEvent() + markAsSeen(conversationId) + } }) } }