🚀 OShin New CI Build!
feat(Module): Sort module list by app name
This commit updates the module list screen to sort entries alphabetically by their application name, rather than using a hardcoded order. This improves usability and makes it easier for users to find a specific app's feature page.
To achieve this without blocking the UI, the sorting logic is performed asynchronously.
### Key Changes:
- :
- The function now initiates an asynchronous task () to fetch and sort the module entries.
- A new function has been created. It asynchronously resolves the display name for each 's package name.
- It uses to ensure correct alphabetical sorting that respects the user's locale (e.g., for Chinese characters).
- The module list is only updated in the UI state after the sorting is complete, while other tasks like building the search index continue in parallel.
🔗 查看本次提交
feat(Module): Sort module list by app name
This commit updates the module list screen to sort entries alphabetically by their application name, rather than using a hardcoded order. This improves usability and makes it easier for users to find a specific app's feature page.
To achieve this without blocking the UI, the sorting logic is performed asynchronously.
### Key Changes:
- :
- The function now initiates an asynchronous task () to fetch and sort the module entries.
- A new function has been created. It asynchronously resolves the display name for each 's package name.
- It uses to ensure correct alphabetical sorting that respects the user's locale (e.g., for Chinese characters).
- The module list is only updated in the UI state after the sorting is complete, while other tasks like building the search index continue in parallel.
🔗 查看本次提交
GitHub
feat(Module): Sort module list by app name · suqi8/OShin@b861843
This commit updates the module list screen to sort entries alphabetically by their application name, rather than using a hardcoded order. This improves usability and makes it easier for users to fi...
🚀 OShin New CI Build!
feat(InCallUI): Add feature page for call interface
This commit introduces a new feature page for the Android In-Call UI ().
The new page is built using the declarative UI model and is now registered in the , making it accessible from the main module list.
### Key Changes:
- New Feature Page ():
- A new page definition has been created for the target application .
- It includes an initial toggle to Hide Call Ringtone, allowing users to mute the ringtone via a preference switch.
- Feature Registration ():
- The page definition has been added to the registry, mapping it to its corresponding feature set.
- A new for has been added to the main list, making the page visible to users.
- Developer Template ():
- A new template file has been added to serve as a basic boilerplate for creating future feature pages, demonstrating the structure of a .
🔗 查看本次提交
feat(InCallUI): Add feature page for call interface
This commit introduces a new feature page for the Android In-Call UI ().
The new page is built using the declarative UI model and is now registered in the , making it accessible from the main module list.
### Key Changes:
- New Feature Page ():
- A new page definition has been created for the target application .
- It includes an initial toggle to Hide Call Ringtone, allowing users to mute the ringtone via a preference switch.
- Feature Registration ():
- The page definition has been added to the registry, mapping it to its corresponding feature set.
- A new for has been added to the main list, making the page visible to users.
- Developer Template ():
- A new template file has been added to serve as a basic boilerplate for creating future feature pages, demonstrating the structure of a .
🔗 查看本次提交
GitHub
feat(InCallUI): Add feature page for call interface · suqi8/OShin@a7f3faa
This commit introduces a new feature page for the Android In-Call UI (`com.android.incallui`).
The new page is built using the declarative UI model and is now registered in the `FeatureRegistry`, ...
The new page is built using the declarative UI model and is now registered in the `FeatureRegistry`, ...
🚀 OShin New CI Build!
feat(SystemUI): Add Control Center page with media cover options
This commit introduces a new Control Center feature page for the SystemUI module. The new page is built using the declarative UI model and provides options for customizing the media player in the Quick Settings panel.
### Key Changes:
- New Feature Page ():
- A new file has been created to define the UI for the Control Center screen ().
- It includes two components:
- Enlarge Media Cover: A toggle to enable or disable an enlarged media background in the QS panel.
- Auto Color Label: A conditional toggle that appears only when Enlarge Media Cover is enabled, allowing users to control the label's coloring.
- Feature Registry ():
- The new has been registered, making the page accessible within the application's navigation structure.
🔗 查看本次提交
feat(SystemUI): Add Control Center page with media cover options
This commit introduces a new Control Center feature page for the SystemUI module. The new page is built using the declarative UI model and provides options for customizing the media player in the Quick Settings panel.
### Key Changes:
- New Feature Page ():
- A new file has been created to define the UI for the Control Center screen ().
- It includes two components:
- Enlarge Media Cover: A toggle to enable or disable an enlarged media background in the QS panel.
- Auto Color Label: A conditional toggle that appears only when Enlarge Media Cover is enabled, allowing users to control the label's coloring.
- Feature Registry ():
- The new has been registered, making the page accessible within the application's navigation structure.
🔗 查看本次提交
GitHub
feat(SystemUI): Add Control Center page with media cover options · suqi8/OShin@c309a5f
This commit introduces a new "Control Center" feature page for the SystemUI module. The new page is built using the declarative UI model and provides options for customizing the m...
🚀 OShin New CI Build!
feat(SystemUI): Add Hardware Indicator feature page
This commit introduces a new, comprehensive Hardware Indicator feature page for SystemUI. It allows users to display real-time hardware information—such as power consumption, temperature, CPU/RAM usage, and more—directly in the status bar.
The implementation follows the declarative UI model, defining the entire page structure and its conditional logic in . It also refactors the data model to make UI components more flexible.
### Key Changes:
- New Feature Page ():
- Created a complete declarative UI definition for the Hardware Indicator page ().
- The page includes separate, collapsible sections for Power and Temperature indicators.
- Each indicator has its own enable/disable switch and conditionally visible settings for:
- Display Content: Single or dual-row layout, with dropdowns to select what data to show (e.g., current, voltage, CPU temp).
- Appearance: Text styling (bold), alignment, font size, and update interval.
- Adds global settings for data sources (e.g., dual-cell battery, CPU temperature/frequency source) and unit visibility toggles.
- Added new string arrays for dropdown options (, ).
- Data Model Refactoring ( & ):
- : The property was elevated from child classes into the parent interface. This allows any top-level UI block (like or ) to have its visibility controlled dynamically.
- Component: The component was promoted from a (inside a card) to a (a standalone card). This allows it to function as a top-level placeholder that appears when a feature section is disabled.
- UI Rendering Logic ():
- The rendering logic in was updated to handle the refactored model.
- Visibility checks for and are now performed at the page level before rendering, respecting their new top-level .
- Feature Registration ():
- The new has been registered with the key , making it discoverable and navigable from the main SystemUI page.
🔗 查看本次提交
feat(SystemUI): Add Hardware Indicator feature page
This commit introduces a new, comprehensive Hardware Indicator feature page for SystemUI. It allows users to display real-time hardware information—such as power consumption, temperature, CPU/RAM usage, and more—directly in the status bar.
The implementation follows the declarative UI model, defining the entire page structure and its conditional logic in . It also refactors the data model to make UI components more flexible.
### Key Changes:
- New Feature Page ():
- Created a complete declarative UI definition for the Hardware Indicator page ().
- The page includes separate, collapsible sections for Power and Temperature indicators.
- Each indicator has its own enable/disable switch and conditionally visible settings for:
- Display Content: Single or dual-row layout, with dropdowns to select what data to show (e.g., current, voltage, CPU temp).
- Appearance: Text styling (bold), alignment, font size, and update interval.
- Adds global settings for data sources (e.g., dual-cell battery, CPU temperature/frequency source) and unit visibility toggles.
- Added new string arrays for dropdown options (, ).
- Data Model Refactoring ( & ):
- : The property was elevated from child classes into the parent interface. This allows any top-level UI block (like or ) to have its visibility controlled dynamically.
- Component: The component was promoted from a (inside a card) to a (a standalone card). This allows it to function as a top-level placeholder that appears when a feature section is disabled.
- UI Rendering Logic ():
- The rendering logic in was updated to handle the refactored model.
- Visibility checks for and are now performed at the page level before rendering, respecting their new top-level .
- Feature Registration ():
- The new has been registered with the key , making it discoverable and navigable from the main SystemUI page.
🔗 查看本次提交
GitHub
feat(SystemUI): Add Hardware Indicator feature page · suqi8/OShin@84e3bbe
This commit introduces a new, comprehensive "Hardware Indicator" feature page for SystemUI. It allows users to display real-time hardware information—such as power consumption, te...
🚀 OShin New CI Build!
feat(SystemUI): Add Status Bar Clock and Network Speed pages
This commit introduces two new feature pages, Status Bar Clock and Network Speed Indicator, and refactors the conditional logic model to support more complex visibility rules.
### Key Changes:
- New Feature Page: Status Bar Clock ()
- Adds a comprehensive settings page for the status bar clock.
- Includes a master toggle, size and update speed controls, and margin adjustments.
- Provides two distinct styles:
- Preset: Allows toggling elements like year, month, day, week, seconds, and AM/PM.
- Geek: Enables users to define a custom time format using patterns, with a link to documentation.
- Uses to conditionally display settings based on the selected style.
- New Feature Page: Network Speed Indicator ()
- Adds a new page to customize the network speed indicator.
- Features a master switch and settings for different styles (Default vs. Upload/Download Separation).
- Includes options for font size, hiding on low speed, icon indicators, and swapping upload/download positions.
- Leverages for showing/hiding style-specific settings.
- Refactored Conditional Logic (, )
- -> : Renamed to and introduced a .
- Added : A new data class allows combining multiple s, enabling UI elements to be displayed only when all nested conditions are met.
- Updated : The logic in has been updated to recursively evaluate and correctly process both simple and complex visibility rules.
- New UI Component: (, )
- A new screen item has been created to render a navigational arrow that opens a web URL in an external browser. This is used in the new Clock page to link to time format documentation.
- Feature Registry ()
- Registered the new and page definitions, making them accessible from the SystemUI feature page.
- Resources ()
- Added new string arrays for the options in the clock style, network speed style, and icon indicator dropdowns.
🔗 查看本次提交
feat(SystemUI): Add Status Bar Clock and Network Speed pages
This commit introduces two new feature pages, Status Bar Clock and Network Speed Indicator, and refactors the conditional logic model to support more complex visibility rules.
### Key Changes:
- New Feature Page: Status Bar Clock ()
- Adds a comprehensive settings page for the status bar clock.
- Includes a master toggle, size and update speed controls, and margin adjustments.
- Provides two distinct styles:
- Preset: Allows toggling elements like year, month, day, week, seconds, and AM/PM.
- Geek: Enables users to define a custom time format using patterns, with a link to documentation.
- Uses to conditionally display settings based on the selected style.
- New Feature Page: Network Speed Indicator ()
- Adds a new page to customize the network speed indicator.
- Features a master switch and settings for different styles (Default vs. Upload/Download Separation).
- Includes options for font size, hiding on low speed, icon indicators, and swapping upload/download positions.
- Leverages for showing/hiding style-specific settings.
- Refactored Conditional Logic (, )
- -> : Renamed to and introduced a .
- Added : A new data class allows combining multiple s, enabling UI elements to be displayed only when all nested conditions are met.
- Updated : The logic in has been updated to recursively evaluate and correctly process both simple and complex visibility rules.
- New UI Component: (, )
- A new screen item has been created to render a navigational arrow that opens a web URL in an external browser. This is used in the new Clock page to link to time format documentation.
- Feature Registry ()
- Registered the new and page definitions, making them accessible from the SystemUI feature page.
- Resources ()
- Added new string arrays for the options in the clock style, network speed style, and icon indicator dropdowns.
🔗 查看本次提交
GitHub
feat(SystemUI): Add Status Bar Clock and Network Speed pages · suqi8/OShin@a748dd6
This commit introduces two new feature pages, "Status Bar Clock" and "Network Speed Indicator," and refactors the conditional logic model to support more complex...
🚀 OShin New CI Build!
feat(Settings): Add Settings page and AppSelection component
This commit introduces a new feature page for the Settings app () and adds a new component to the declarative UI model. This new component allows users to select multiple applications, which are then stored as a comma-separated string in preferences.
### Key Changes:
- New Settings Feature Page ():
- A new declarative UI page for has been created and registered.
- It includes options to customize the display model, modify the OTA update card background, and force-show the NFC security chip.
- It also adds a complex set of toggles to manage accessibility service authorization behavior (grant, direct jump, or smart authorization) with conditional visibility.
- New Component:
- : A new data class was added to the declarative UI model.
- : The composable can now render the item using a new component.
- : The ViewModel now handles loading and saving the state for , converting the of package names to and from a comma-separated for storage in .
- Component and UI Enhancements:
- : Now requests external storage permissions on launch to ensure it can access and save image files.
- : Adjusted the width of grid items in the module list for better layout and centered the items horizontally.
- Minor Refactoring:
- The action to navigate to the Status Bar Icon settings has been temporarily commented out in the definition.
🔗 查看本次提交
feat(Settings): Add Settings page and AppSelection component
This commit introduces a new feature page for the Settings app () and adds a new component to the declarative UI model. This new component allows users to select multiple applications, which are then stored as a comma-separated string in preferences.
### Key Changes:
- New Settings Feature Page ():
- A new declarative UI page for has been created and registered.
- It includes options to customize the display model, modify the OTA update card background, and force-show the NFC security chip.
- It also adds a complex set of toggles to manage accessibility service authorization behavior (grant, direct jump, or smart authorization) with conditional visibility.
- New Component:
- : A new data class was added to the declarative UI model.
- : The composable can now render the item using a new component.
- : The ViewModel now handles loading and saving the state for , converting the of package names to and from a comma-separated for storage in .
- Component and UI Enhancements:
- : Now requests external storage permissions on launch to ensure it can access and save image files.
- : Adjusted the width of grid items in the module list for better layout and centered the items horizontally.
- Minor Refactoring:
- The action to navigate to the Status Bar Icon settings has been temporarily commented out in the definition.
🔗 查看本次提交
GitHub
feat(Settings): Add Settings page and AppSelection component · suqi8/OShin@2835a09
This commit introduces a new feature page for the "Settings" app (`com.android.settings`) and adds a new `AppSelection` component to the declarative UI model. This new component a...
🚀 OShin New CI Build!
feat(Mms): Add option to remove message ads
This commit introduces a new feature page for the default messaging app ().
The new page adds a single toggle that allows users to remove advertisements from within the application.
### Key Changes:
- New Feature Page ():
- Created a new declarative UI definition for the package.
- Added a item with the key to control the visibility of ads.
- Feature Registry ():
- Registered the new module entry, making it accessible from the main module list.
- Mapped the mms category to its corresponding page definition.
🔗 查看本次提交
feat(Mms): Add option to remove message ads
This commit introduces a new feature page for the default messaging app ().
The new page adds a single toggle that allows users to remove advertisements from within the application.
### Key Changes:
- New Feature Page ():
- Created a new declarative UI definition for the package.
- Added a item with the key to control the visibility of ads.
- Feature Registry ():
- Registered the new module entry, making it accessible from the main module list.
- Mapped the mms category to its corresponding page definition.
🔗 查看本次提交
GitHub
feat(Mms): Add option to remove message ads · suqi8/OShin@54d427f
This commit introduces a new feature page for the default messaging app (`com.android.mms`).
The new page adds a single toggle that allows users to remove advertisements from within the applicatio...
The new page adds a single toggle that allows users to remove advertisements from within the applicatio...
🚀 OShin New CI Build!
feat(Launcher): Add Launcher and Recent Tasks pages
This commit introduces new feature pages for the Android Launcher (), providing users with customization options for the home screen, dock, and recent tasks view.
These pages are built using the declarative UI model and are now registered as a new module.
### Key Changes:
- New Launcher Page ():
- Created a new page targeting .
- It includes a navigation action to a new Recent Tasks sub-page.
- Adds toggles and sliders for various launcher tweaks:
- Adjust icon and text size.
- Force-enable foldable device mode and dock.
- Configure dock transparency.
- Force-enable dock blur effects.
- Set animation level.
- New Recent Tasks Page ():
- Added a sub-page for recent task screen modifications.
- Includes an initial toggle to force the display of memory usage information.
- Feature Registration ():
- Registered the new and page definitions, making them accessible.
- Added to the main module list.
- Resources ():
- Added a new string array with Unfold and Fold options to support the new dropdown setting on the launcher page.
🔗 查看本次提交
feat(Launcher): Add Launcher and Recent Tasks pages
This commit introduces new feature pages for the Android Launcher (), providing users with customization options for the home screen, dock, and recent tasks view.
These pages are built using the declarative UI model and are now registered as a new module.
### Key Changes:
- New Launcher Page ():
- Created a new page targeting .
- It includes a navigation action to a new Recent Tasks sub-page.
- Adds toggles and sliders for various launcher tweaks:
- Adjust icon and text size.
- Force-enable foldable device mode and dock.
- Configure dock transparency.
- Force-enable dock blur effects.
- Set animation level.
- New Recent Tasks Page ():
- Added a sub-page for recent task screen modifications.
- Includes an initial toggle to force the display of memory usage information.
- Feature Registration ():
- Registered the new and page definitions, making them accessible.
- Added to the main module list.
- Resources ():
- Added a new string array with Unfold and Fold options to support the new dropdown setting on the launcher page.
🔗 查看本次提交
GitHub
feat(Launcher): Add Launcher and Recent Tasks pages · suqi8/OShin@fea8a97
This commit introduces new feature pages for the Android Launcher (`com.android.launcher`), providing users with customization options for the home screen, dock, and recent tasks view.
These pages...
These pages...
🚀 OShin New CI Build!
feat(OcrScanner): Add full-screen translation restriction toggle
This commit introduces a new feature page for the OcrScanner application ().
The new page provides a single toggle to remove the full-screen translation restriction.
### Key Changes:
- New Feature Page ():
- Created a new declarative UI definition for the OcrScanner app.
- Added a to control the key.
- Feature Registry ():
- Registered the new page and its .
- Added a for to make the feature accessible from the main module list.
🔗 查看本次提交
feat(OcrScanner): Add full-screen translation restriction toggle
This commit introduces a new feature page for the OcrScanner application ().
The new page provides a single toggle to remove the full-screen translation restriction.
### Key Changes:
- New Feature Page ():
- Created a new declarative UI definition for the OcrScanner app.
- Added a to control the key.
- Feature Registry ():
- Registered the new page and its .
- Added a for to make the feature accessible from the main module list.
🔗 查看本次提交
GitHub
feat(OcrScanner): Add full-screen translation restriction toggle · suqi8/OShin@8d58b34
This commit introduces a new feature page for the "OcrScanner" application (`com.coloros.ocrscanner`).
The new page provides a single toggle to remove the full-screen translation...
The new page provides a single toggle to remove the full-screen translation...
🚀 OShin New CI Build!
feat(Features): Add pages for Phone Manager, Wallet, and more
This commit adds several new feature pages to the declarative UI, expanding modification capabilities for multiple system and third-party apps.
The new pages include settings for Phone Manager, Wallet, Secure Payment, and OShare. A minor UI alignment fix for the hardware indicator in the status bar is also included.
### Key Changes:
- New Feature Pages:
- : Added a page for Phone Manager (). It includes toggles to remove popup delays and sliders to customize the optimization score, prompt content, and animation duration.
- : Added a page for Wallet () with a toggle to remove ads from the swipe-up page.
- : Added a page for Secure Payment () with an option to remove the risky fluid cloud dialog.
- : Added a page for OShare () with a toggle to prevent it from automatically turning off.
- Feature Registry ():
- The new , , , and page definitions have been registered, making them accessible in the module list.
- Corresponding module entries for their package names have been added.
- UI Fix ():
- Set on the custom hardware indicator's to ensure its content is vertically centered within the status bar.
🔗 查看本次提交
feat(Features): Add pages for Phone Manager, Wallet, and more
This commit adds several new feature pages to the declarative UI, expanding modification capabilities for multiple system and third-party apps.
The new pages include settings for Phone Manager, Wallet, Secure Payment, and OShare. A minor UI alignment fix for the hardware indicator in the status bar is also included.
### Key Changes:
- New Feature Pages:
- : Added a page for Phone Manager (). It includes toggles to remove popup delays and sliders to customize the optimization score, prompt content, and animation duration.
- : Added a page for Wallet () with a toggle to remove ads from the swipe-up page.
- : Added a page for Secure Payment () with an option to remove the risky fluid cloud dialog.
- : Added a page for OShare () with a toggle to prevent it from automatically turning off.
- Feature Registry ():
- The new , , , and page definitions have been registered, making them accessible in the module list.
- Corresponding module entries for their package names have been added.
- UI Fix ():
- Set on the custom hardware indicator's to ensure its content is vertically centered within the status bar.
🔗 查看本次提交
GitHub
feat(Features): Add pages for Phone Manager, Wallet, and more · suqi8/OShin@3a176a1
This commit adds several new feature pages to the declarative UI, expanding modification capabilities for multiple system and third-party apps.
The new pages include settings for Phone Manager, Wa...
The new pages include settings for Phone Manager, Wa...
🚀 OShin New CI Build!
feat(Health): Add feature page and disable root dialog
This commit introduces a new feature page for the Health app () and includes a minor refactor to improve storage calculation stability.
### Key Changes:
- New Health Feature Page ():
- A new page definition for has been created.
- It includes a new toggle to disable the root check dialog within the Health app.
- Feature Registry ():
- The new Health feature page has been registered with the ID , making it accessible from the main module list.
- Storage Calculation Refactor ():
- The function has been improved to be more robust. It no longer relies on reflection () to get the storage path, which could cause crashes.
- It now directly accesses and includes a block to handle potential from , falling back to a secondary method if needed.
🔗 查看本次提交
feat(Health): Add feature page and disable root dialog
This commit introduces a new feature page for the Health app () and includes a minor refactor to improve storage calculation stability.
### Key Changes:
- New Health Feature Page ():
- A new page definition for has been created.
- It includes a new toggle to disable the root check dialog within the Health app.
- Feature Registry ():
- The new Health feature page has been registered with the ID , making it accessible from the main module list.
- Storage Calculation Refactor ():
- The function has been improved to be more robust. It no longer relies on reflection () to get the storage path, which could cause crashes.
- It now directly accesses and includes a block to handle potential from , falling back to a secondary method if needed.
🔗 查看本次提交
GitHub
feat(Health): Add feature page and disable root dialog · suqi8/OShin@2234688
This commit introduces a new feature page for the Health app (`com.heytap.health`) and includes a minor refactor to improve storage calculation stability.
### Key Changes:
- **New Health Featur...
### Key Changes:
- **New Health Featur...
❤1