From 817685aa629562c508bccebe6fd82cc9def7844b Mon Sep 17 00:00:00 2001
From: Quarix <144305875+uarix@users.noreply.github.com>
Date: Thu, 26 Mar 2026 12:53:25 +0800
Subject: [PATCH] =?UTF-8?q?feat(wallet):=20=E6=B7=BB=E5=8A=A0=E5=B0=8F?=
=?UTF-8?q?=E7=B1=B3=E9=92=B1=E5=8C=85=E6=94=AF=E6=8C=81=EF=BC=8C=E7=A7=BB?=
=?UTF-8?q?=E9=99=A4=E5=90=AF=E5=8A=A8=E5=B9=BF=E5=91=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 1 +
README_en-US.md | 1 +
README_zh-HK.md | 1 +
.../main/res/xml/prefs_about_contributor.xml | 7 ++
app/src/main/res/xml/settings_header.xml | 7 ++
library/core/src/main/res/xml/wallet.xml | 29 +++++++
.../hyperceiler/libhook/app/Wallet.java | 33 ++++++++
.../libhook/rules/wallet/DisableSplashAd.java | 84 +++++++++++++++++++
.../src/main/res/values-zh-rCN/strings.xml | 5 ++
.../src/main/res/values-zh-rHK/strings.xml | 5 ++
.../libhook/src/main/res/values/strings.xml | 5 ++
.../main/resources/META-INF/xposed/scope.list | 1 +
12 files changed, 179 insertions(+)
create mode 100644 library/core/src/main/res/xml/wallet.xml
create mode 100644 library/libhook/src/main/java/com/sevtinge/hyperceiler/libhook/app/Wallet.java
create mode 100644 library/libhook/src/main/java/com/sevtinge/hyperceiler/libhook/rules/wallet/DisableSplashAd.java
diff --git a/README.md b/README.md
index 85a1530bc8..52d4ecc2c2 100644
--- a/README.md
+++ b/README.md
@@ -84,6 +84,7 @@ Xiaomi HyperOS 3 or 4 将是本项目的一个终点,就目前来说,小米
| 小米相册-编辑 | com.miui.mediaeditor |
| 小米云服务 | com.miui.cloudservice |
| 小米智能卡 | com.miui.tsmclient |
+| 小米钱包 | com.mipay.wallet |
| 讯飞输入法小米版 | com.iflytek.inputmethod.miui |
| 应用包管理组件 | com.miui.packageinstaller |
| 应用商店 | com.xiaomi.market |
diff --git a/README_en-US.md b/README_en-US.md
index a501fcd454..77a18f17b4 100644
--- a/README_en-US.md
+++ b/README_en-US.md
@@ -84,6 +84,7 @@ In the future, this module will be extensively adapted to Xiaomi HyperOS 3.0 and
| Gallery Editor | com.miui.mediaeditor |
| Xiaomi Cloud | com.miui.cloudservice |
| Smart cards | com.miui.tsmclient |
+| Mi Wallet | com.mipay.wallet |
| iFlytek IME for MIUI | com.iflytek.inputmethod.miui |
| Package installer | com.miui.packageinstaller |
| GetApps | com.xiaomi.market |
diff --git a/README_zh-HK.md b/README_zh-HK.md
index 8337192b5a..f0aed25cc4 100644
--- a/README_zh-HK.md
+++ b/README_zh-HK.md
@@ -92,6 +92,7 @@ Xiaomi HyperOS 3 或 4 將會是本項目的終點,就目前來說,小米官
| 小米相簿-編輯 | com.miui.mediaeditor |
| 小米雲服務 | com.miui.cloudservice |
| 小米智慧卡 | com.miui.tsmclient |
+| 小米錢包 | com.mipay.wallet |
| 訊飛輸入法小米版 | com.iflytek.inputmethod.miui |
| 應用程式檔案管理元件 | com.miui.packageinstaller |
| 應用商店 | com.xiaomi.market |
diff --git a/app/src/main/res/xml/prefs_about_contributor.xml b/app/src/main/res/xml/prefs_about_contributor.xml
index de5dbf7c92..47364f191d 100644
--- a/app/src/main/res/xml/prefs_about_contributor.xml
+++ b/app/src/main/res/xml/prefs_about_contributor.xml
@@ -218,6 +218,13 @@
android:action="android.intent.action.VIEW"
android:data="https://github.com/pzcn" />
+
+
+
diff --git a/app/src/main/res/xml/settings_header.xml b/app/src/main/res/xml/settings_header.xml
index 8243fcc466..aed93a526b 100644
--- a/app/src/main/res/xml/settings_header.xml
+++ b/app/src/main/res/xml/settings_header.xml
@@ -338,6 +338,13 @@
android:title="@string/tsmclient"
app:inflatedXml="@xml/tsmclient"/>
+
+
+
+
+
+
\ No newline at end of file
diff --git a/library/libhook/src/main/java/com/sevtinge/hyperceiler/libhook/app/Wallet.java b/library/libhook/src/main/java/com/sevtinge/hyperceiler/libhook/app/Wallet.java
new file mode 100644
index 0000000000..b43e7e9f92
--- /dev/null
+++ b/library/libhook/src/main/java/com/sevtinge/hyperceiler/libhook/app/Wallet.java
@@ -0,0 +1,33 @@
+/*
+ * This file is part of HyperCeiler.
+ *
+ * HyperCeiler is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ *
+ * Copyright (C) 2023-2026 HyperCeiler Contributions
+ */
+
+package com.sevtinge.hyperceiler.libhook.app;
+
+import com.hchen.database.HookBase;
+import com.sevtinge.hyperceiler.common.utils.PrefsBridge;
+import com.sevtinge.hyperceiler.libhook.base.BaseLoad;
+import com.sevtinge.hyperceiler.libhook.rules.wallet.DisableSplashAd;
+
+@HookBase(targetPackage = "com.mipay.wallet")
+public class Wallet extends BaseLoad {
+ @Override
+ public void onPackageLoaded() {
+ initHook(new DisableSplashAd(), PrefsBridge.getBoolean("wallet_disable_splash_ad"));
+ }
+}
\ No newline at end of file
diff --git a/library/libhook/src/main/java/com/sevtinge/hyperceiler/libhook/rules/wallet/DisableSplashAd.java b/library/libhook/src/main/java/com/sevtinge/hyperceiler/libhook/rules/wallet/DisableSplashAd.java
new file mode 100644
index 0000000000..2620b63fb7
--- /dev/null
+++ b/library/libhook/src/main/java/com/sevtinge/hyperceiler/libhook/rules/wallet/DisableSplashAd.java
@@ -0,0 +1,84 @@
+/*
+ * This file is part of HyperCeiler.
+ *
+ * HyperCeiler is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ *
+ * Copyright (C) 2023-2026 HyperCeiler Contributions
+ */
+
+package com.sevtinge.hyperceiler.libhook.rules.wallet;
+
+import android.app.Activity;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.View;
+
+import com.sevtinge.hyperceiler.libhook.base.BaseHook;
+import com.sevtinge.hyperceiler.libhook.callback.IMethodHook;
+
+import java.lang.reflect.Method;
+
+import io.github.kyuubiran.ezxhelper.xposed.common.HookParam;
+
+public class DisableSplashAd extends BaseHook {
+ @Override
+ public void init() {
+ findAndHookMethod("com.xiaomi.jr.app.MiFinanceActivity", "onCreate", Bundle.class, new IMethodHook() {
+ @Override
+ public void after(HookParam param) {
+ Activity activity = (Activity) param.getThisObject();
+ int resId = activity.getResources().getIdentifier("splash_container", "id", activity.getPackageName());
+ if (resId > 0) {
+ View splashContainer = activity.findViewById(resId);
+ if (splashContainer != null) {
+ splashContainer.setVisibility(View.GONE);
+ }
+ }
+ }
+ });
+
+ Class> adManagerClass = findClassIfExists("com.xiaomi.jr.ad.AdManager");
+ if (adManagerClass != null) {
+ for (Method m : adManagerClass.getDeclaredMethods()) {
+ if (m.getParameterTypes().length == 2
+ && m.getParameterTypes()[0] == Context.class
+ && m.getParameterTypes()[1].getName().contains("OnGetAdDataListener")) {
+
+ hookMethod(m, new IMethodHook() {
+ @Override
+ public void before(HookParam param) {
+ Object listener = param.getArgs()[1];
+ if (listener != null) {
+ callMethod(listener, "onGetAdData", new Object[]{null});
+ }
+ param.setResult(null);
+ }
+ });
+ }
+ }
+ }
+
+ findAndHookMethod("com.xiaomi.jr.app.splash.SplashFragment", "onResume", new IMethodHook() {
+ @Override
+ public void after(HookParam param) {
+ Object activity = callMethod(param.getThisObject(), "getActivity");
+ if (activity != null) {
+ try {
+ callMethod(activity, "finishSplash", false);
+ } catch (Throwable ignored) {}
+ }
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/library/libhook/src/main/res/values-zh-rCN/strings.xml b/library/libhook/src/main/res/values-zh-rCN/strings.xml
index 746c3bc9ec..dd5cd64f4b 100644
--- a/library/libhook/src/main/res/values-zh-rCN/strings.xml
+++ b/library/libhook/src/main/res/values-zh-rCN/strings.xml
@@ -98,6 +98,11 @@
正在自动开启 NFC …
手动开启 NFC
自动开启 NFC 失败
+
+
+ 小米钱包
+ 移除开屏广告
+ 跳过启动页,拦截广告请求
小米澎湃 AI 引擎
修改复制直达使用的浏览器
diff --git a/library/libhook/src/main/res/values-zh-rHK/strings.xml b/library/libhook/src/main/res/values-zh-rHK/strings.xml
index b4735b2a8e..924f26cb9e 100644
--- a/library/libhook/src/main/res/values-zh-rHK/strings.xml
+++ b/library/libhook/src/main/res/values-zh-rHK/strings.xml
@@ -87,6 +87,11 @@
正在自動開啟 NFC …
手動開啟 NFC
自動開啟 NFC 失敗
+
+
+ 小米錢包
+ 移除開屏廣告
+ 跳過啟動頁,攔截廣告請求
小米妙享中心
多開
diff --git a/library/libhook/src/main/res/values/strings.xml b/library/libhook/src/main/res/values/strings.xml
index 528f95b335..018be81822 100644
--- a/library/libhook/src/main/res/values/strings.xml
+++ b/library/libhook/src/main/res/values/strings.xml
@@ -104,6 +104,11 @@
Turning on NFC automatically…
Turn on NFC manually
Failed to enable NFC automatically
+
+
+ Mi Wallet
+ Remove splash ads
+ Skip splash screen and block ad requests
Xiaomi AI Engine
Change the browser used for direct copy
diff --git a/library/libhook/src/main/resources/META-INF/xposed/scope.list b/library/libhook/src/main/resources/META-INF/xposed/scope.list
index 15477c79a9..690e2efa94 100644
--- a/library/libhook/src/main/resources/META-INF/xposed/scope.list
+++ b/library/libhook/src/main/resources/META-INF/xposed/scope.list
@@ -21,6 +21,7 @@ com.android.updater
com.duokan.phone.remotecontroller
com.lbe.security.miui
com.mi.health
+com.mipay.wallet
com.milink.service
com.miui.analytics
com.miui.aod