commit 26c850802b7f6751297a2f3b92ea1815cbad7322
parent 3d6d070b291cac933eb82f526d06767bea2deb18
Author: rhunk <101876869+rhunk@users.noreply.github.com>
Date:   Sun, 17 Mar 2024 10:35:49 +0100

feat(core): remove groups locked status

Diffstat:
Mcommon/src/main/assets/lang/en_US.json | 4++++
Mcommon/src/main/kotlin/me/rhunk/snapenhance/common/config/impl/MessagingTweaks.kt | 1+
Mcore/src/main/kotlin/me/rhunk/snapenhance/core/features/FeatureManager.kt | 7++-----
Acore/src/main/kotlin/me/rhunk/snapenhance/core/features/impl/tweaks/RemoveGroupsLockedStatus.kt | 19+++++++++++++++++++
4 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/common/src/main/assets/lang/en_US.json b/common/src/main/assets/lang/en_US.json @@ -461,6 +461,10 @@ "bypass_message_retention_policy": { "name": "Bypass Message Retention Policy", "description": "Prevents messages from being deleted after viewing them" + }, + "remove_groups_locked_status": { + "name": "Remove Groups Locked Status", + "description": "Allows you to view group information after being kicked" } } }, diff --git a/common/src/main/kotlin/me/rhunk/snapenhance/common/config/impl/MessagingTweaks.kt b/common/src/main/kotlin/me/rhunk/snapenhance/common/config/impl/MessagingTweaks.kt @@ -80,4 +80,5 @@ class MessagingTweaks : ConfigContainer() { val galleryMediaSendOverride = boolean("gallery_media_send_override") { nativeHooks() } val stripMediaMetadata = multiple("strip_media_metadata", "hide_caption_text", "hide_snap_filters", "hide_extras", "remove_audio_note_duration", "remove_audio_note_transcript_capability") { requireRestart() } val bypassMessageRetentionPolicy = boolean("bypass_message_retention_policy") { addNotices(FeatureNotice.UNSTABLE); requireRestart() } + val removeGroupsLockedStatus = boolean("remove_groups_locked_status") { requireRestart() } } \ No newline at end of file diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/core/features/FeatureManager.kt b/core/src/main/kotlin/me/rhunk/snapenhance/core/features/FeatureManager.kt @@ -16,11 +16,7 @@ import me.rhunk.snapenhance.core.features.impl.messaging.* import me.rhunk.snapenhance.core.features.impl.spying.HalfSwipeNotifier import me.rhunk.snapenhance.core.features.impl.spying.MessageLogger import me.rhunk.snapenhance.core.features.impl.spying.StealthMode -import me.rhunk.snapenhance.core.features.impl.tweaks.BypassScreenshotDetection -import me.rhunk.snapenhance.core.features.impl.tweaks.CameraTweaks -import me.rhunk.snapenhance.core.features.impl.tweaks.DisablePermissionRequests -import me.rhunk.snapenhance.core.features.impl.tweaks.PreventMessageListAutoScroll -import me.rhunk.snapenhance.core.features.impl.tweaks.UnsaveableMessages +import me.rhunk.snapenhance.core.features.impl.tweaks.* import me.rhunk.snapenhance.core.features.impl.ui.* import me.rhunk.snapenhance.core.logger.CoreLogger import me.rhunk.snapenhance.core.ui.menu.MenuViewInjector @@ -126,6 +122,7 @@ class FeatureManager( CallRecorder(), DisableMemoriesSnapFeed(), AccountSwitcher(), + RemoveGroupsLockedStatus(), ) initializeFeatures() diff --git a/core/src/main/kotlin/me/rhunk/snapenhance/core/features/impl/tweaks/RemoveGroupsLockedStatus.kt b/core/src/main/kotlin/me/rhunk/snapenhance/core/features/impl/tweaks/RemoveGroupsLockedStatus.kt @@ -0,0 +1,18 @@ +package me.rhunk.snapenhance.core.features.impl.tweaks + +import me.rhunk.snapenhance.core.features.Feature +import me.rhunk.snapenhance.core.features.FeatureLoadParams +import me.rhunk.snapenhance.core.util.dataBuilder +import me.rhunk.snapenhance.core.util.hook.HookStage +import me.rhunk.snapenhance.core.util.hook.hookConstructor + +class RemoveGroupsLockedStatus : Feature("Remove Groups Locked Status", loadParams = FeatureLoadParams.ACTIVITY_CREATE_SYNC) { + override fun onActivityCreate() { + if (!context.config.messaging.removeGroupsLockedStatus.get()) return + context.classCache.conversation.hookConstructor(HookStage.AFTER) { param -> + param.thisObject<Any>().dataBuilder { + set("mLockedState", "UNLOCKED") + } + } + } +}+ \ No newline at end of file