diff --git a/app/src/main/java/moe/qwq/miko/ActionManager.kt b/app/src/main/java/moe/qwq/miko/ActionManager.kt index 1e063db..56bb734 100644 --- a/app/src/main/java/moe/qwq/miko/ActionManager.kt +++ b/app/src/main/java/moe/qwq/miko/ActionManager.kt @@ -8,9 +8,7 @@ import moe.qwq.miko.actions.FetchService import moe.qwq.miko.actions.IAction import moe.qwq.miko.actions.PacketHijacker import moe.qwq.miko.actions.WebJsBridge -import moe.qwq.miko.internals.hooks.HotUpdateSoPatch -import moe.qwq.miko.internals.hooks.SimplifyHomepageSidebar -import moe.qwq.miko.internals.hooks.TrashPacketHijacker +import moe.qwq.miko.internals.hooks.* object ActionManager { private val FIRST_ACTION = arrayOf( @@ -21,7 +19,7 @@ object ActionManager { BrowserAccessRestrictions::class.java, SimplifyHomepageSidebar::class.java, - TrashPacketHijacker::class.java, + DefaultPacketHijacker::class.java, HotUpdateSoPatch::class.java, ) diff --git a/app/src/main/java/moe/qwq/miko/internals/helper/NTServiceFetcher.kt b/app/src/main/java/moe/qwq/miko/internals/helper/NTServiceFetcher.kt index cbec9c1..203cae7 100644 --- a/app/src/main/java/moe/qwq/miko/internals/helper/NTServiceFetcher.kt +++ b/app/src/main/java/moe/qwq/miko/internals/helper/NTServiceFetcher.kt @@ -44,7 +44,7 @@ internal object NTServiceFetcher { val syncPush = ProtoBuf.decodeFromByteArray(buffer) if (AioListener.onInfoSyncPush(syncPush)) { it.result = ProtoBuf.encodeToByteArray(syncPush.copy( - syncContent = syncPush.syncContent?.copy(body = arrayListOf()) + syncContent = syncPush.syncContent?.copy(body = ArrayList(0)) )) } } else if (cmd == "trpc.msg.olpush.OlPushService.MsgPush") { diff --git a/app/src/main/java/moe/qwq/miko/internals/hooks/TrashPacketHijacker.kt b/app/src/main/java/moe/qwq/miko/internals/hooks/DefaultPacketHijacker.kt similarity index 83% rename from app/src/main/java/moe/qwq/miko/internals/hooks/TrashPacketHijacker.kt rename to app/src/main/java/moe/qwq/miko/internals/hooks/DefaultPacketHijacker.kt index 197c804..d5e32fb 100644 --- a/app/src/main/java/moe/qwq/miko/internals/hooks/TrashPacketHijacker.kt +++ b/app/src/main/java/moe/qwq/miko/internals/hooks/DefaultPacketHijacker.kt @@ -11,7 +11,7 @@ import moe.qwq.miko.internals.setting.QwQSetting /** * 拦截无用发包 + 修复主题验证 + 禁用更新检查 */ -class TrashPacketHijacker: IAction { +class DefaultPacketHijacker: IAction { override fun invoke(ctx: Context) { val app = AppRuntimeFetcher.appRuntime if (app !is AppInterface) return @@ -22,6 +22,9 @@ class TrashPacketHijacker: IAction { it.result = Unit } else if (QwQSetting.disableUpdateCheck && to.serviceCmd == "ProfileService.CheckUpdateReq") { it.result = Unit + } else if (QwQSetting.oneClickLike && to.serviceCmd == "VisitorSvc.ReqFavorite") { + val toServiceMsg = it.args[0] as ToServiceMsg + toServiceMsg.extraData.putInt("iCount", 20) } } } diff --git a/app/src/main/java/moe/qwq/miko/internals/setting/QwQSetting.kt b/app/src/main/java/moe/qwq/miko/internals/setting/QwQSetting.kt index eb577a9..ad2d29f 100644 --- a/app/src/main/java/moe/qwq/miko/internals/setting/QwQSetting.kt +++ b/app/src/main/java/moe/qwq/miko/internals/setting/QwQSetting.kt @@ -12,6 +12,7 @@ object QwQSetting { const val DISABLE_UPDATE_CHECK = "disable_update_check" const val DISABLE_HOT_UPDATE_SO_BY_TRAFFIC = "disable_hot_update_so_by_traffic" const val DISABLE_USELESS_PACKET = "disable_useless_packet" + const val ONE_KEY_LIKE = "one_click_like" internal val dataDir = MobileQQ.getContext().getExternalFilesDir(null)!! .parentFile!!.resolve("Tencent/QwQ").also { @@ -25,6 +26,7 @@ object QwQSetting { DISABLE_UPDATE_CHECK to Setting(DISABLE_UPDATE_CHECK, SettingType.BOOLEAN), DISABLE_HOT_UPDATE_SO_BY_TRAFFIC to Setting(DISABLE_HOT_UPDATE_SO_BY_TRAFFIC, SettingType.BOOLEAN), DISABLE_USELESS_PACKET to Setting(DISABLE_USELESS_PACKET, SettingType.BOOLEAN), + ONE_KEY_LIKE to Setting(ONE_KEY_LIKE, SettingType.BOOLEAN), ) /** @@ -57,6 +59,11 @@ object QwQSetting { */ var disableUselessPacket by settingMap[DISABLE_USELESS_PACKET] as Setting + /** + * 一键点赞20次 + */ + var oneClickLike by settingMap[ONE_KEY_LIKE] as Setting + val settingUrl: String get() = dataDir.resolve("domain").also { if (!it.exists()) { diff --git a/qqinterface/src/main/java/com/tencent/mobileqq/vas/webview/util/VasWebviewUtil.java b/qqinterface/src/main/java/com/tencent/mobileqq/vas/webview/util/VasWebviewUtil.java new file mode 100644 index 0000000..b38659f --- /dev/null +++ b/qqinterface/src/main/java/com/tencent/mobileqq/vas/webview/util/VasWebviewUtil.java @@ -0,0 +1,16 @@ +package com.tencent.mobileqq.vas.webview.util; + +import android.content.Context; +import android.content.Intent; + +public class VasWebviewUtil { + + + public static void openQQBrowserActivity(Context context, String str, long j2, Intent intent, boolean z, int i2) { + + } + + private static Intent getWithoutADIntent(Context context, String str, long j2, Intent intent) { + return null; + } +}