Color Update
English
Release v1.0.2 is the official release of the NPatch "Color Update". This update not only integrates the complete theme customization system, dynamic color extraction, and custom background functionalities from the pre-releases, but also fully refactors the global UI rendering architecture. In this final release, underlying dependencies have been upgraded to Miuix v0.9.0 and Android TargetSdk 37.
New Features
- Interface and Theme System
- Monet Dynamic Color
- Added Android 12+ dynamic color support, automatically generating an adaptive UI color palette based on the system wallpaper.
- Provides an independent toggle switch; when enabled, it automatically overrides the currently selected built-in theme color.
- Built-in Theme Colors and Picker Optimization
- Added 10 independent theme colors, fully supporting auto-adaptation for light/dark modes.
- Optimized the color picker UI: Adjusted color options to a vertical layout (palette + text), and refactored the picker layout to support horizontal scrolling for an improved visual and interactive experience.
- Custom Backgrounds
- Fully implemented the custom background functionality, providing the global background path via
CompositionLocalwithinMainActivity. - Utilized
Crossfadeto ensure smooth transition effects when switching backgrounds.
- Fully implemented the custom background functionality, providing the global background path via
- Monet Dynamic Color
- Underlying and UI Architecture
- System Upgrades: Upgraded to Miuix v0.9.0 and updated Android TargetSdk to 37.
- Global Rendering Refactor: Introduced cross-module
Miuix ScaffoldandNPatchScaffoldwrappers to unify the management of popup views and dialog frameworks within the Manager UI. - UI Element Migration: Fully migrated elements across various pages (Home, Main, Manage, NewPatch, Repository, AppItem, SuperSearchBar, etc.) to the
NPatchScaffold. When a custom background is enabled, components automatically apply background-aware colors, haze styles, and the global transparency constantBG_SURFACE_ALPHA.
- Internationalization (i18n)
- Added multilingual support and localization adaptations for search functionality, module information, and time formatting.
Changes
- Management Page and Display Logic
- Optimized display logic for the Management page and unified "Local Rolling" tags.
- Incremented the
MIN_ROLLING_VERSION_CODEbaseline to 580, establishing it as the new standard for local mode display rules. - Refactored the trigger conditions for the loader update recommendation icon (KeyboardCapslock).
- Reconstructed the summary row layouts using
RowandSpacerto ensure precise alignment of text and icons.
- Visuals and Detail Optimization
- Manager Icon: Changed the Manager icon to PNG format (Rootless To NPatch).
- Improved the color contrast for the "Integrated" mode when using the dark theme.
- Fine-tuned UI visual details (e.g., Slot alpha adjustments) and applied
backgroundAwareCardColorsto multiple Card components. - Localization refinements:
Repository.getRelativeTimenow receivesContextand utilizes localized string resources andDateFormatfor accurate time formatting.
- Architecture and State Management
- Cleaned up
ThemeConfiglogic and completedDataStoreinitialization. - Added a
MainViewModelskeleton to facilitate future state management.
- Cleaned up
Fixes
- Fixed an issue where Xposed module selection behaved abnormally.
- Optimized module detection logic.
- Fixed insufficient text contrast in dark mode on certain devices.
- Fixed memory leaks and thread pool exceptions caused by Activity binding in specific scenarios.
- Tweaked background scheduling strategies to improve module stability and execution efficiency.
Issues
- Breaking Change: This update involves a destructive refactoring of the database structure.
- Upgrading directly from v1.0.1 via overwrite is not supported.
- Users must clear application data or perform a clean reinstall after upgrading.
- Failure to do so will result in an inability to read patched applications and frequent application crashes (force closes).
中文
Release v1.0.2 是 NPatch「色彩更新 (Color Update)」的正式版本。此次更新不僅整合了預發佈版中的完整主題自訂系統、動態取色與自訂背景圖片功能,還重構了全域 UI 渲染架構,並在最終版本將底層依賴升級至 Miuix v0.9.0 與 Android TargetSdk 37。
新內容
- 介面與主題系統
- Monet 動態取色
- 新增 Android 12+ 動態色彩支援,可跟隨系統桌布顏色自動生成適配的介面色調。
- 提供獨立開關控制,啟用後將自動覆蓋當前所選的內建主題色。
- 內建主題色與選擇器優化
- 提供多達 10 種獨立主題色(包含冷淡藍、清爽綠、優雅紫等),全面支援淺色/深色模式自動適配。
- 優化顏色選擇器 UI:調整顏色選項為垂直佈局(色盤+文字),並重構選擇器佈局以支援橫向滾動,提升視覺與互動體驗。
- 自訂背景圖片
- 完整實作自訂背景功能,透過
CompositionLocal於MainActivity提供全域背景路徑。 - 使用
Crossfade實現平滑的背景切換過渡效果。
- 完整實作自訂背景功能,透過
- Monet 動態取色
- 底層與 UI 架構
- 系統升級:升級至 Miuix v0.9.0 並更新 Android TargetSdk 至 37。
- 全域渲染重構:引入跨模組的
Miuix Scaffold與NPatchScaffold封裝,統一管理 Manager UI 的彈出視窗與對話框架構。 - 介面元件遷移:全面將各頁面元件(Home, Main, Manage, NewPatch, Repository, AppItem, SuperSearchBar 等)遷移至
NPatchScaffold。當啟用自訂背景圖時,會自動套用背景感知(Background-aware)的顏色、haze 樣式與全域透明度常數BG_SURFACE_ALPHA。
- 國際化 (i18n)
- 新增多語系支援,包含搜尋功能、模組資訊與時間格式化的在地化適配。
更改
- 管理頁面與顯示邏輯
- 優化管理頁面顯示邏輯並統一「Local Rolling」標籤。
- 將
MIN_ROLLING_VERSION_CODE基準提升至 580,作為本地模式顯示邏輯的新標準。 - 重構載入器更新推薦圖示 (KeyboardCapslock) 的觸發條件。
- 使用
Row與Spacer重構摘要列佈局,確保文字與圖示精準對齊。
- 視覺與細節優化
- Manager 圖示:Manager 圖示改用 PNG 格式 (Rootless To NPatch)。
- 優化內嵌模式 (Integrated) 在深色主題下的顏色對比度。
- 微調 UI 視覺細節(如 Slot alpha 調整),以及為多個 Card 元件套用
backgroundAwareCardColors。 - 在地化細節優化:
Repository.getRelativeTime改為接收Context,並使用在地化字串資源與DateFormat進行時間格式化。
- 架構與狀態管理
- 清理
ThemeConfig邏輯並完成DataStore初始化。 - 新增
MainViewModel骨架以利後續狀態管理。
- 清理
修復
- 修復了 Xposed 模組選取行為異常的問題。
- 優化了模組檢測邏輯。
- 修復了部分設備上深色模式下文字對比度不足的問題。
- 修復部分場景 Activity 綁定引發的記憶體洩漏與執行緒池異常;微調後台排程策略,提升模組穩定性與執行效率。
問題
- 破壞性變更:本次更新涉及資料庫結構的破壞性重構。
- 不支援從 v1.0.1 透過直接覆蓋進行升級。
- 使用者升級後必須清除應用程式資料或進行全新安裝。
- 若未清除資料,將導致無法讀取已修補的應用程式,並引發應用程式頻繁崩潰(閃退)。