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.util.hook.HookAdapter
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.media.PreviewUtils
import me.rhunk.snapenhance.core.wrapper.impl.SnapUUID
@ -466,11 +466,11 @@ class MediaDownloader : MessagingRuleFeature("MediaDownloader", MessagingRuleTyp
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") {
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
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 ->
Hooker.hook(
operaViewerControllerClass,
context.mappings.getMappedValue("OperaPageViewController", methodName),
operaViewerControllerClass.hook(
context.mappings.getMappedValue("OperaPageViewController", methodName) ?: return@forEach,
HookStage.AFTER, onOperaViewStateCallback
)
}

View File

@ -11,7 +11,7 @@ class AddFriendSourceSpoof : Feature("AddFriendSourceSpoof", loadParams = Featur
private set
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 ->
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) {
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, {
context.config.experimental.infiniteStoryBoost.get()
}) { param ->
storyBoostStateClass.hookConstructor(HookStage.BEFORE) { param ->
val startTimeMillis = param.arg<Long>(1)
//reset timestamp if it's more than 24 hours
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) {
override fun onActivityCreate() {
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 ->
val constructor = param.method() as Constructor<*>

View File

@ -13,7 +13,7 @@ class SnapchatPlus: Feature("SnapchatPlus", loadParams = FeatureLoadParams.INIT_
override fun init() {
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 ->
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 captureResolution = ScSize(param.argNullable(3))