feat(core): remove groups locked status

This commit is contained in:
rhunk
2024-03-17 10:35:49 +01:00
parent 3d6d070b29
commit 26c850802b
4 changed files with 25 additions and 5 deletions

View File

@@ -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"
}
}
},

View File

@@ -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() }
}

View File

@@ -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()

View File

@@ -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")
}
}
}
}