mirror of
https://github.com/rhunk/SnapEnhance.git
synced 2025-06-12 13:17:42 +02:00
feat(experiments): disable composer modules
This commit is contained in:
@ -149,7 +149,8 @@ class ModContext(
|
||||
native.loadNativeConfig(
|
||||
NativeConfig(
|
||||
disableBitmoji = config.experimental.nativeHooks.disableBitmoji.get(),
|
||||
disableMetrics = config.global.disableMetrics.get()
|
||||
disableMetrics = config.global.disableMetrics.get(),
|
||||
hookAssetOpen = config.experimental.disableComposerModules.get().isNotEmpty()
|
||||
)
|
||||
)
|
||||
}
|
||||
|
@ -0,0 +1,22 @@
|
||||
package me.rhunk.snapenhance.core.features.impl.experiments
|
||||
|
||||
import me.rhunk.snapenhance.core.features.Feature
|
||||
import me.rhunk.snapenhance.core.features.FeatureLoadParams
|
||||
|
||||
class DisableComposerModules : Feature("Disable Composer Modules", FeatureLoadParams.INIT_SYNC) {
|
||||
override fun init() {
|
||||
val disabledComposerModules = context.config.experimental.disableComposerModules.get().takeIf { it.isNotEmpty() }
|
||||
?.replace(" ", "")
|
||||
?.split(",")
|
||||
?: return
|
||||
|
||||
context.native.nativeShouldLoadAsset = callback@{ assetName ->
|
||||
if (!assetName.endsWith(".composermodule")) return@callback true
|
||||
val moduleName = assetName.replace(".composermodule", "")
|
||||
disabledComposerModules.contains(moduleName).not().also {
|
||||
if (it) context.log.debug("Loading $moduleName composer module")
|
||||
else context.log.warn("Skipping $moduleName composer module")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -109,6 +109,7 @@ class FeatureManager(
|
||||
HalfSwipeNotifier::class,
|
||||
DisableConfirmationDialogs::class,
|
||||
Stories::class,
|
||||
DisableComposerModules::class,
|
||||
)
|
||||
|
||||
initializeFeatures()
|
||||
|
Reference in New Issue
Block a user