fix(mappings): build error

This commit is contained in:
rhunk 2024-01-01 23:33:37 +01:00
parent ebee8f2ef8
commit fcb84661a6
6 changed files with 12 additions and 14 deletions

View File

@ -37,7 +37,7 @@ import me.rhunk.snapenhance.core.features.impl.spying.MessageLogger
import me.rhunk.snapenhance.core.ui.ViewAppearanceHelper import me.rhunk.snapenhance.core.ui.ViewAppearanceHelper
import me.rhunk.snapenhance.core.util.hook.HookAdapter import me.rhunk.snapenhance.core.util.hook.HookAdapter
import me.rhunk.snapenhance.core.util.hook.HookStage import me.rhunk.snapenhance.core.util.hook.HookStage
import me.rhunk.snapenhance.core.util.hook.Hooker import me.rhunk.snapenhance.core.util.hook.hook
import me.rhunk.snapenhance.core.util.ktx.getObjectField import me.rhunk.snapenhance.core.util.ktx.getObjectField
import me.rhunk.snapenhance.core.util.media.PreviewUtils import me.rhunk.snapenhance.core.util.media.PreviewUtils
import me.rhunk.snapenhance.core.wrapper.impl.SnapUUID import me.rhunk.snapenhance.core.wrapper.impl.SnapUUID
@ -466,11 +466,11 @@ class MediaDownloader : MessagingRuleFeature("MediaDownloader", MessagingRuleTyp
val onOperaViewStateCallback: (HookAdapter) -> Unit = onOperaViewStateCallback@{ param -> val onOperaViewStateCallback: (HookAdapter) -> Unit = onOperaViewStateCallback@{ param ->
val viewState = (param.thisObject() as Any).getObjectField(context.mappings.getMappedValue("OperaPageViewController", "viewStateField")).toString() val viewState = (param.thisObject() as Any).getObjectField(context.mappings.getMappedValue("OperaPageViewController", "viewStateField")!!).toString()
if (viewState != "FULLY_DISPLAYED") { if (viewState != "FULLY_DISPLAYED") {
return@onOperaViewStateCallback return@onOperaViewStateCallback
} }
val operaLayerList = (param.thisObject() as Any).getObjectField(context.mappings.getMappedValue("OperaPageViewController", "layerListField")) as ArrayList<*> val operaLayerList = (param.thisObject() as Any).getObjectField(context.mappings.getMappedValue("OperaPageViewController", "layerListField")!!) as ArrayList<*>
val mediaParamMap: ParamMap = operaLayerList.map { Layer(it) }.first().paramMap val mediaParamMap: ParamMap = operaLayerList.map { Layer(it) }.first().paramMap
if (!mediaParamMap.containsKey("image_media_info") && !mediaParamMap.containsKey("video_media_info_list")) if (!mediaParamMap.containsKey("image_media_info") && !mediaParamMap.containsKey("video_media_info_list"))
@ -503,9 +503,8 @@ class MediaDownloader : MessagingRuleFeature("MediaDownloader", MessagingRuleTyp
} }
arrayOf("onDisplayStateChange", "onDisplayStateChangeGesture").forEach { methodName -> arrayOf("onDisplayStateChange", "onDisplayStateChangeGesture").forEach { methodName ->
Hooker.hook( operaViewerControllerClass.hook(
operaViewerControllerClass, context.mappings.getMappedValue("OperaPageViewController", methodName) ?: return@forEach,
context.mappings.getMappedValue("OperaPageViewController", methodName),
HookStage.AFTER, onOperaViewStateCallback HookStage.AFTER, onOperaViewStateCallback
) )
} }

View File

@ -11,7 +11,7 @@ class AddFriendSourceSpoof : Feature("AddFriendSourceSpoof", loadParams = Featur
private set private set
override fun onActivityCreate() { override fun onActivityCreate() {
val friendRelationshipChangerMapping = context.mappings.getMappedMap("FriendRelationshipChanger") val friendRelationshipChangerMapping = context.mappings.getMappedMap("FriendRelationshipChanger") ?: throw Exception("Failed to get friendRelationshipChangerMapping")
findClass(friendRelationshipChangerMapping["class"].toString()).hookConstructor(HookStage.AFTER) { param -> findClass(friendRelationshipChangerMapping["class"].toString()).hookConstructor(HookStage.AFTER) { param ->
friendRelationshipChangerInstance = param.thisObject() friendRelationshipChangerInstance = param.thisObject()

View File

@ -7,11 +7,10 @@ import me.rhunk.snapenhance.core.util.hook.hookConstructor
class InfiniteStoryBoost : Feature("InfiniteStoryBoost", loadParams = FeatureLoadParams.ACTIVITY_CREATE_ASYNC) { class InfiniteStoryBoost : Feature("InfiniteStoryBoost", loadParams = FeatureLoadParams.ACTIVITY_CREATE_ASYNC) {
override fun asyncOnActivityCreate() { override fun asyncOnActivityCreate() {
val storyBoostStateClass = context.mappings.getMappedClass("StoryBoostStateClass") if (!context.config.experimental.infiniteStoryBoost.get()) return
val storyBoostStateClass = context.mappings.getMappedClass("StoryBoostStateClass") ?: throw Exception("Failed to get storyBoostStateClass")
storyBoostStateClass.hookConstructor(HookStage.BEFORE, { storyBoostStateClass.hookConstructor(HookStage.BEFORE) { param ->
context.config.experimental.infiniteStoryBoost.get()
}) { param ->
val startTimeMillis = param.arg<Long>(1) val startTimeMillis = param.arg<Long>(1)
//reset timestamp if it's more than 24 hours //reset timestamp if it's more than 24 hours
if (System.currentTimeMillis() - startTimeMillis > 86400000) { if (System.currentTimeMillis() - startTimeMillis > 86400000) {

View File

@ -9,7 +9,7 @@ import java.lang.reflect.Constructor
class NoFriendScoreDelay : Feature("NoFriendScoreDelay", loadParams = FeatureLoadParams.ACTIVITY_CREATE_SYNC) { class NoFriendScoreDelay : Feature("NoFriendScoreDelay", loadParams = FeatureLoadParams.ACTIVITY_CREATE_SYNC) {
override fun onActivityCreate() { override fun onActivityCreate() {
if (!context.config.experimental.noFriendScoreDelay.get()) return if (!context.config.experimental.noFriendScoreDelay.get()) return
val scoreUpdateClass = context.mappings.getMappedClass("ScoreUpdate") val scoreUpdateClass = context.mappings.getMappedClass("ScoreUpdate") ?: throw Exception("Failed to get scoreUpdateClass")
scoreUpdateClass.hookConstructor(HookStage.BEFORE) { param -> scoreUpdateClass.hookConstructor(HookStage.BEFORE) { param ->
val constructor = param.method() as Constructor<*> val constructor = param.method() as Constructor<*>

View File

@ -13,7 +13,7 @@ class SnapchatPlus: Feature("SnapchatPlus", loadParams = FeatureLoadParams.INIT_
override fun init() { override fun init() {
if (!context.config.global.snapchatPlus.get()) return if (!context.config.global.snapchatPlus.get()) return
val subscriptionInfoClass = context.mappings.getMappedClass("SubscriptionInfoClass") val subscriptionInfoClass = context.mappings.getMappedClass("SubscriptionInfoClass") ?: throw Exception("Failed to get subscriptionInfoClass")
Hooker.hookConstructor(subscriptionInfoClass, HookStage.BEFORE) { param -> Hooker.hookConstructor(subscriptionInfoClass, HookStage.BEFORE) { param ->
if (param.arg<Int>(0) == 2) return@hookConstructor if (param.arg<Int>(0) == 2) return@hookConstructor

View File

@ -62,7 +62,7 @@ class CameraTweaks : Feature("Camera Tweaks", loadParams = FeatureLoadParams.ACT
} }
} }
context.mappings.getMappedClass("ScCameraSettings").hookConstructor(HookStage.BEFORE) { param -> context.mappings.getMappedClass("ScCameraSettings")?.hookConstructor(HookStage.BEFORE) { param ->
val previewResolution = ScSize(param.argNullable(2)) val previewResolution = ScSize(param.argNullable(2))
val captureResolution = ScSize(param.argNullable(3)) val captureResolution = ScSize(param.argNullable(3))