diff --git a/patches/api/patches.api b/patches/api/patches.api index be251e84a5..93ba04f66f 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -421,6 +421,10 @@ public final class app/revanced/patches/messenger/layout/HideFacebookButtonPatch public static final fun getHideFacebookButtonPatch ()Lapp/revanced/patcher/patch/Patch; } +public final class app/revanced/patches/messenger/layout/RestoreOldEmojiDrawerPatchKt { + public static final fun getRestoreOldEmojiDrawerPatch ()Lapp/revanced/patcher/patch/Patch; +} + public final class app/revanced/patches/messenger/metaai/RemoveMetaAIPatchKt { public static final fun getRemoveMetaAIPatch ()Lapp/revanced/patcher/patch/Patch; } @@ -632,7 +636,7 @@ public final class app/revanced/patches/photomath/misc/unlock/plus/UnlockPlusPat } public final class app/revanced/patches/photoshopmix/BypassLoginPatchKt { - public static final fun getBypassLoginPatch ()Lapp/revanced/patcher/patch/BytecodePatch; + public static final fun getBypassLoginPatch ()Lapp/revanced/patcher/patch/Patch; } public final class app/revanced/patches/piccomafr/misc/SpoofAndroidDeviceIdPatchKt { diff --git a/patches/src/main/kotlin/app/revanced/patches/messenger/layout/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/messenger/layout/Fingerprints.kt index d0cce5ef00..c0623206ec 100644 --- a/patches/src/main/kotlin/app/revanced/patches/messenger/layout/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/messenger/layout/Fingerprints.kt @@ -1,14 +1,20 @@ package app.revanced.patches.messenger.layout -import app.revanced.patcher.gettingFirstMethodDeclaratively -import app.revanced.patcher.parameterTypes +import app.revanced.patcher.* import app.revanced.patcher.patch.BytecodePatchContext -import app.revanced.patcher.returnType -import app.revanced.patcher.instructions -import app.revanced.patcher.invoke +import com.android.tools.smali.dexlib2.Opcode internal val BytecodePatchContext.isFacebookButtonEnabledMethod by gettingFirstMethodDeclaratively { parameterTypes() returnType("Z") instructions("FacebookButtonTabButtonImplementation"(String::contains)) } + +internal val BytecodePatchContext.renderRedesignedDrawerMethodMatch by composingFirstMethod("Cannot render redesigned drawer with search icon ") { + instructions( + allOf( + Opcode.INVOKE_VIRTUAL(), + method { returnType == "Z" && parameterTypes.isEmpty() } + ) + ) +} \ No newline at end of file diff --git a/patches/src/main/kotlin/app/revanced/patches/messenger/layout/RestoreOldEmojiDrawerPatch.kt b/patches/src/main/kotlin/app/revanced/patches/messenger/layout/RestoreOldEmojiDrawerPatch.kt new file mode 100644 index 0000000000..a53fcf133a --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/messenger/layout/RestoreOldEmojiDrawerPatch.kt @@ -0,0 +1,22 @@ +package app.revanced.patches.messenger.layout + +import app.revanced.patcher.extensions.getInstruction +import app.revanced.patcher.extensions.methodReference +import app.revanced.patcher.firstMethod +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.util.returnEarly + +@Suppress("unused") +val restoreOldEmojiDrawerPatch = bytecodePatch( + name = "Restore old emoji drawer", + description = "Disables the new redesigned emoji drawer.", +) { + compatibleWith("com.facebook.orca") + + apply { + val isRedesignedDrawerEnabledMethod = with(renderRedesignedDrawerMethodMatch) { + firstMethod(method.getInstruction(get(0)).methodReference!!) + } + isRedesignedDrawerEnabledMethod.returnEarly(false) + } +} \ No newline at end of file