fix(Instagram - Hide navigation buttons): Resolve app startup crash

This commit is contained in:
LisoUseInAIKyrios
2025-09-27 23:53:35 +04:00
parent 2b71bd80c2
commit 080a226614

View File

@@ -3,6 +3,7 @@ package app.revanced.patches.instagram.hide.navigation
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.patch.booleanOption import app.revanced.patcher.patch.booleanOption
import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch
import app.revanced.util.addInstructionsAtControlFlowLabel import app.revanced.util.addInstructionsAtControlFlowLabel
import app.revanced.util.findFreeRegister import app.revanced.util.findFreeRegister
import app.revanced.util.getReference import app.revanced.util.getReference
@@ -24,6 +25,8 @@ val hideNavigationButtonsPatch = bytecodePatch(
) { ) {
compatibleWith("com.instagram.android") compatibleWith("com.instagram.android")
dependsOn(sharedExtensionPatch)
val hideReels by booleanOption( val hideReels by booleanOption(
key = "hideReels", key = "hideReels",
default = true, default = true,
@@ -69,20 +72,22 @@ val hideNavigationButtonsPatch = bytecodePatch(
const-string v$freeRegister2, "$enumNameField" const-string v$freeRegister2, "$enumNameField"
invoke-static { v$buttonsListRegister, v$freeRegister, v$freeRegister2 }, $EXTENSION_CLASS_DESCRIPTOR->removeNavigationButtonByName(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List; invoke-static { v$buttonsListRegister, v$freeRegister, v$freeRegister2 }, $EXTENSION_CLASS_DESCRIPTOR->removeNavigationButtonByName(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
move-result-object v$buttonsListRegister move-result-object v$buttonsListRegister
""" """
} }
if (hideReels!!) if (hideReels!!) {
addInstructionsAtControlFlowLabel( addInstructionsAtControlFlowLabel(
returnIndex, returnIndex,
instructionsRemoveButtonByName("fragment_clips") instructionsRemoveButtonByName("fragment_clips")
) )
}
if (hideCreate!!) if (hideCreate!!) {
addInstructionsAtControlFlowLabel( addInstructionsAtControlFlowLabel(
returnIndex, returnIndex,
instructionsRemoveButtonByName("fragment_share") instructionsRemoveButtonByName("fragment_share")
) )
}
} }
} }
} }