github 7723mod/NPatch v1.0.2
v1.0.2 Color Update

latest releases: v1.0.5, v1.0.5-pre
one month ago

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 CompositionLocal within MainActivity.
      • Utilized Crossfade to ensure smooth transition effects when switching backgrounds.
  • 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 Scaffold and NPatchScaffold wrappers 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 constant BG_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_CODE baseline 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 Row and Spacer to 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 backgroundAwareCardColors to multiple Card components.
    • Localization refinements: Repository.getRelativeTime now receives Context and utilizes localized string resources and DateFormat for accurate time formatting.
  • Architecture and State Management
    • Cleaned up ThemeConfig logic and completed DataStore initialization.
    • Added a MainViewModel skeleton to facilitate future state management.

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:調整顏色選項為垂直佈局(色盤+文字),並重構選擇器佈局以支援橫向滾動,提升視覺與互動體驗。
    • 自訂背景圖片
      • 完整實作自訂背景功能,透過 CompositionLocalMainActivity 提供全域背景路徑。
      • 使用 Crossfade 實現平滑的背景切換過渡效果。
  • 底層與 UI 架構
    • 系統升級:升級至 Miuix v0.9.0 並更新 Android TargetSdk 至 37。
    • 全域渲染重構:引入跨模組的 Miuix ScaffoldNPatchScaffold 封裝,統一管理 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) 的觸發條件。
    • 使用 RowSpacer 重構摘要列佈局,確保文字與圖示精準對齊。
  • 視覺與細節優化
    • Manager 圖示:Manager 圖示改用 PNG 格式 (Rootless To NPatch)。
    • 優化內嵌模式 (Integrated) 在深色主題下的顏色對比度。
    • 微調 UI 視覺細節(如 Slot alpha 調整),以及為多個 Card 元件套用 backgroundAwareCardColors
    • 在地化細節優化:Repository.getRelativeTime 改為接收 Context,並使用在地化字串資源與 DateFormat 進行時間格式化。
  • 架構與狀態管理
    • 清理 ThemeConfig 邏輯並完成 DataStore 初始化。
    • 新增 MainViewModel 骨架以利後續狀態管理。

修復

  • 修復了 Xposed 模組選取行為異常的問題。
  • 優化了模組檢測邏輯。
  • 修復了部分設備上深色模式下文字對比度不足的問題。
  • 修復部分場景 Activity 綁定引發的記憶體洩漏與執行緒池異常;微調後台排程策略,提升模組穩定性與執行效率。

問題

  • 破壞性變更:本次更新涉及資料庫結構的破壞性重構。
    • 不支援從 v1.0.1 透過直接覆蓋進行升級。
    • 使用者升級後必須清除應用程式資料或進行全新安裝。
    • 若未清除資料,將導致無法讀取已修補的應用程式,並引發應用程式頻繁崩潰(閃退)。

Don't miss a new NPatch release

NewReleases is sending notifications on new releases.