From 74ab6ae4110a4b5221b883770a92c51e3f396701 Mon Sep 17 00:00:00 2001 From: Shatyuka <958182453@qq.com> Date: Mon, 17 Jan 2022 17:10:27 +0800 Subject: [PATCH] Fix Nekogram X --- README.md | 4 +++- .../main/java/com/shatyuka/killergram/MainHook.java | 12 +++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a371bca..0309ebe 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # Killergram -An Android Xposed module to remove sponsored messages of Telegram +An Android Xposed module to remove sponsored messages of Telegram. + +Also allows you to copy or save messages when "Restrict saving content" is enabled. Forwarding messages is still not working due to server limitation. ### Support clients diff --git a/app/src/main/java/com/shatyuka/killergram/MainHook.java b/app/src/main/java/com/shatyuka/killergram/MainHook.java index c0fdbb1..37f40c5 100644 --- a/app/src/main/java/com/shatyuka/killergram/MainHook.java +++ b/app/src/main/java/com/shatyuka/killergram/MainHook.java @@ -28,9 +28,15 @@ public class MainHook implements IXposedHookLoadPackage { public void handleLoadPackage(final XC_LoadPackage.LoadPackageParam lpparam) { if (hookPackages.contains(lpparam.packageName)) { try { - Class messagesControllerClass = XposedHelpers.findClass("org.telegram.messenger.MessagesController", lpparam.classLoader); - XposedBridge.hookAllMethods(messagesControllerClass, "getSponsoredMessages", XC_MethodReplacement.returnConstant(null)); - XposedBridge.hookAllMethods(messagesControllerClass, "isChatNoForwards", XC_MethodReplacement.returnConstant(false)); + Class messagesControllerClass = XposedHelpers.findClassIfExists("org.telegram.messenger.MessagesController", lpparam.classLoader); + if (messagesControllerClass != null) { + XposedBridge.hookAllMethods(messagesControllerClass, "getSponsoredMessages", XC_MethodReplacement.returnConstant(null)); + XposedBridge.hookAllMethods(messagesControllerClass, "isChatNoForwards", XC_MethodReplacement.returnConstant(false)); + } + Class chatUIActivityClass = XposedHelpers.findClassIfExists("org.telegram.ui.ChatActivity", lpparam.classLoader); + if (chatUIActivityClass != null) { + XposedBridge.hookAllMethods(chatUIActivityClass, "addSponsoredMessages", XC_MethodReplacement.returnConstant(null)); + } } catch (Throwable ignored) { } }