NPatch-v1.0.0-567-release.apk
4.6 MB
i18n: Updated and completed multi-language translations (log output feature)
- Fixed English, zh-rCN, and zh-rTW log output descriptions, clearly including startup logs and module logs
- Completed missing translations for 12 commonly used languages: Français, Italiano, Deutsch, Español, Русский Português, Português (Brasil), Nederlands, Polski, Türkçe 日本語, 한국어
- Fixed English, zh-rCN, and zh-rTW log output descriptions, clearly including startup logs and module logs
- Completed missing translations for 12 commonly used languages: Français, Italiano, Deutsch, Español, Русский Português, Português (Brasil), Nederlands, Polski, Türkçe 日本語, 한국어
NPatch-v1.0.0-568-release.apk
4.7 MB
feat: Implement in-app language switching feature
- Add language preference storage in Configs
- Override attachBaseContext in LSPApplication and MainActivity to apply saved locale
- Add Language dropdown selector in Settings screen with 40+ language options
- Support system default (follow system) and explicit language selection
- Restart activity on language change to apply new locale immediately by NkBe
- Add language preference storage in Configs
- Override attachBaseContext in LSPApplication and MainActivity to apply saved locale
- Add Language dropdown selector in Settings screen with 40+ language options
- Support system default (follow system) and explicit language selection
- Restart activity on language change to apply new locale immediately by NkBe
👍10🔥3🎉1🍌1😡1
NPatch-v1.0.0-569-release.apk
4.7 MB
更新內容自己猜🙏
Please open Telegram to view this post
VIEW IN TELEGRAM
😡27🤔9🔥3🎉1🍌1
Forwarded from GitHub
🔨 1 new commit to NPatch-dev:miuix:
fe7d753: fix: 修復 NewPatchScreen 中 patch_embed_modules 點擊後 dialog 不顯示的問題
問題描述:
點擊「新增嵌入模組」(patch_embed_modules) 後,選擇對話框 (SuperDialog) 不顯示,
無法從儲存空間或應用列表選擇嵌入的 Xposed 模組。
調試過程與嘗試的修復:
1. 對齊 upstream 7723mod/NPatch,將 patch_embed_modules 恢復為 SelectionItem 的 extraContent 內的 TextButton
2. 修復 miuix TextButton 不支持 textAlign 參數的編譯錯誤
3. 嘗試多種 SuperDialog 顯示方式:
- 使用新 API (show: Boolean) + if 條件包住
- 使用 deprecated API (show: MutableState<Boolean>)
- 設定 renderInRootScaffold = false
以上方式均無效
根本原因:
通過添加日誌發現:
- onAddEmbed lambda 確實被調用
- showSelectModuleDialog.value 成功設為 true
- SuperDialog 確實進入了 composition (有 "Entering SuperDialog composition" 日誌)
- 但用戶看不到 dialog
核心問題是 composition scope 隔離:
showSelectModuleDialog state 在 Scaffold 的 content slot 內被修改
(在 PatchOptionsBody 的 onAddEmbed lambda 中設值),但觀察該 state 的
if (showSelectModuleDialog.value) 條件在 Scaffold 外面。miuix Scaffold 的
content slot 是獨立的 @Composable lambda,state 在 slot 內改變時,不保證
能驅動 slot 外部的部分重組,導致 if 條件的 recomposition 沒有被觸發。
最終解決方案:
將 if (showSelectModuleDialog.value) { SuperDialog(...) } 從 Scaffold 外部
移入 Scaffold content 的 Box 內,與 PatchOptionsBody 處於同一個
composition 作用域。這樣 state 的修改和觀察在同一個 composable 函數內,
確保 recomposition 能正確傳播。
變更檔案:
- PatchOptionsBody.kt: 將 patch_embed_modules 恢復為 extraContent 內的
Text + Modifier.clickable (繞過 miuix TextButton 的事件傳遞問題)
- NewPatchScreen.kt: 將 SuperDialog 條件判斷移入 Scaffold content 內部,
移除不必要的 debug 日誌,清理初始化流程 (移除 initHandled flag)
Co-Authored-By: Claude <81847+claude@users.noreply.github.com> by NkBe
fe7d753: fix: 修復 NewPatchScreen 中 patch_embed_modules 點擊後 dialog 不顯示的問題
問題描述:
點擊「新增嵌入模組」(patch_embed_modules) 後,選擇對話框 (SuperDialog) 不顯示,
無法從儲存空間或應用列表選擇嵌入的 Xposed 模組。
調試過程與嘗試的修復:
1. 對齊 upstream 7723mod/NPatch,將 patch_embed_modules 恢復為 SelectionItem 的 extraContent 內的 TextButton
2. 修復 miuix TextButton 不支持 textAlign 參數的編譯錯誤
3. 嘗試多種 SuperDialog 顯示方式:
- 使用新 API (show: Boolean) + if 條件包住
- 使用 deprecated API (show: MutableState<Boolean>)
- 設定 renderInRootScaffold = false
以上方式均無效
根本原因:
通過添加日誌發現:
- onAddEmbed lambda 確實被調用
- showSelectModuleDialog.value 成功設為 true
- SuperDialog 確實進入了 composition (有 "Entering SuperDialog composition" 日誌)
- 但用戶看不到 dialog
核心問題是 composition scope 隔離:
showSelectModuleDialog state 在 Scaffold 的 content slot 內被修改
(在 PatchOptionsBody 的 onAddEmbed lambda 中設值),但觀察該 state 的
if (showSelectModuleDialog.value) 條件在 Scaffold 外面。miuix Scaffold 的
content slot 是獨立的 @Composable lambda,state 在 slot 內改變時,不保證
能驅動 slot 外部的部分重組,導致 if 條件的 recomposition 沒有被觸發。
最終解決方案:
將 if (showSelectModuleDialog.value) { SuperDialog(...) } 從 Scaffold 外部
移入 Scaffold content 的 Box 內,與 PatchOptionsBody 處於同一個
composition 作用域。這樣 state 的修改和觀察在同一個 composable 函數內,
確保 recomposition 能正確傳播。
變更檔案:
- PatchOptionsBody.kt: 將 patch_embed_modules 恢復為 extraContent 內的
Text + Modifier.clickable (繞過 miuix TextButton 的事件傳遞問題)
- NewPatchScreen.kt: 將 SuperDialog 條件判斷移入 Scaffold content 內部,
移除不必要的 debug 日誌,清理初始化流程 (移除 initHandled flag)
Co-Authored-By: Claude <81847+claude@users.noreply.github.com> by NkBe
🤔9
這就是開源維護者最真實的寫照—— 一邊在群組裡血壓飆升,一邊默默打開 Android Studio 準備接 Logcat 開始 Debug。若問除了熱愛還有什麼收穫?沒錢、沒假、沒收益,除了那點卑微的開發者情懷,收穫的大概只有日漸後移的髮際線和解開 Bug 瞬間的虛無感。
🕊31😭17🔥2🎉1👻1
ONPatch
這就是開源維護者最真實的寫照—— 一邊在群組裡血壓飆升,一邊默默打開 Android Studio 準備接 Logcat 開始 Debug。若問除了熱愛還有什麼收穫?沒錢、沒假、沒收益,除了那點卑微的開發者情懷,收穫的大概只有日漸後移的髮際線和解開 Bug 瞬間的虛無感。
好不容易解決了,四處張望,卻也無人能分享,群裡也TM跟太平間一樣
😭43🔥5🤔4👻1
Modern API 101 實作測試版本,適配不完全,反饋需使用了 Shizuku
MT管理器校驗不通過但能正常安裝☺️
MT管理器校驗不通過但能正常安裝
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Please open Telegram to view this post
VIEW IN TELEGRAM
😭32👍5🔥4
NPatch-v1.0.6-654-release.apk
7.8 MB
測試版本
645-648
649-654
645-648
- 優化 SigBypass 簽名繞過邏輯
- 修復模組選擇更改後的作用域重新同步問題
- 新增管理器快取清除功能
- 新增設置頁面底部浮動玻璃導航欄適配
649-654
- 優化 HiddenApiBypass 實作
- 優化去除簽名校驗的路徑偽裝
- 新增輸出管理器日誌到媒體功能
- 透過 logcat 捕捉管理器調試日誌
- 新增被打包程式自動清除 NPatch 快取功能
- 修復未清理殘留的 libnpatch-*.so
🤔12❤5🔥3👍1