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) { } }