🚀 **OShin New CI Build!**
Refactor(SystemUI): Overhaul Network Speed Indicator feature
This commit completely refactors the Network Speed Indicator feature for the SystemUI, overhauling both the user interface and the underlying hook logic for greater customizability and stability.
### UI Changes (, , ):
* The feature page has been reorganized into categorized cards for Basic Settings, Font Size, Display Control, and Advanced Settings.
* Added an option to use the system default font.
* Introduced a text alignment option (Left, Center, Right) for the network speed indicator.
* Added several new options for the Separate Up/Down style:
* Hide from the unit (e.g., → ).
* Use an uppercase B for Byte instead of b for bit.
### Hook Logic Changes ():
* **Complete Rewrite:** The hook logic has been rewritten for clarity, stability, and to support the new features.
* **Layout & Alignment:**
* Introduced to properly handle text alignment (left, center, right) and prevent text from being truncated.
* Dynamically adjusts the view's width based on the selected alignment.
* **Font Handling:**
* Hooks to save the original typeface.
* Adds a hook to to correctly apply custom fonts, sizes, and alignment after the system's own layout pass. This ensures settings are not overridden.
* **Code Quality:**
* The code is now heavily documented with KDoc comments explaining the purpose of each function, state variable, and hook.
* Refactored the byte formatting logic () to be more robust and handle new unit display options.
* Replaced and with modern YukiHookAPI and reflection resolvers for better readability and performance.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/002dea13d26397d9b45476ac91f0e01add5fcae3)
Refactor(SystemUI): Overhaul Network Speed Indicator feature
This commit completely refactors the Network Speed Indicator feature for the SystemUI, overhauling both the user interface and the underlying hook logic for greater customizability and stability.
### UI Changes (, , ):
* The feature page has been reorganized into categorized cards for Basic Settings, Font Size, Display Control, and Advanced Settings.
* Added an option to use the system default font.
* Introduced a text alignment option (Left, Center, Right) for the network speed indicator.
* Added several new options for the Separate Up/Down style:
* Hide from the unit (e.g., → ).
* Use an uppercase B for Byte instead of b for bit.
### Hook Logic Changes ():
* **Complete Rewrite:** The hook logic has been rewritten for clarity, stability, and to support the new features.
* **Layout & Alignment:**
* Introduced to properly handle text alignment (left, center, right) and prevent text from being truncated.
* Dynamically adjusts the view's width based on the selected alignment.
* **Font Handling:**
* Hooks to save the original typeface.
* Adds a hook to to correctly apply custom fonts, sizes, and alignment after the system's own layout pass. This ensures settings are not overridden.
* **Code Quality:**
* The code is now heavily documented with KDoc comments explaining the purpose of each function, state variable, and hook.
* Refactored the byte formatting logic () to be more robust and handle new unit display options.
* Replaced and with modern YukiHookAPI and reflection resolvers for better readability and performance.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/002dea13d26397d9b45476ac91f0e01add5fcae3)
GitHub
Refactor(SystemUI): Overhaul Network Speed Indicator feature · suqi8/OShin@002dea1
This commit completely refactors the Network Speed Indicator feature for the SystemUI, overhauling both the user interface and the underlying hook logic for greater customizability and stability.
...
...
🚀 **OShin New CI Build!**
Chore(i18n): Refine localization strings
This commit refines and updates the localization file to enhance the memetic and informal tone.
The changes include:
* Rewording existing strings to be more humorous, expressive, and aligned with internet slang.
* Improving consistency in the tone across different features and settings.
* Adding new strings for recently introduced features, such as network speed indicator options (, ) and font settings.
This update ensures the meme language pack remains engaging and fully translated.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/995db5b8640f266da4e705903995fbb2e956d5a9)
Chore(i18n): Refine localization strings
This commit refines and updates the localization file to enhance the memetic and informal tone.
The changes include:
* Rewording existing strings to be more humorous, expressive, and aligned with internet slang.
* Improving consistency in the tone across different features and settings.
* Adding new strings for recently introduced features, such as network speed indicator options (, ) and font settings.
This update ensures the meme language pack remains engaging and fully translated.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/995db5b8640f266da4e705903995fbb2e956d5a9)
GitHub
Chore(i18n): Refine `meme` localization strings · suqi8/OShin@995db5b
This commit refines and updates the `values-b+qaa+x-meme/strings.xml` localization file to enhance the memetic and informal tone.
The changes include:
* Rewording existing strings to be more hum...
The changes include:
* Rewording existing strings to be more hum...
🚀 **OShin New CI Build!**
Feat(SecurityPermission): Add Legacy App Start Dialog option
This commit introduces a new feature for the SecurityPermission () application to force the use of the legacy app start dialog.
A new hook dynamically finds the relevant class by searching for specific string constants (, , etc.). It then hooks the class constructor and modifies the 10th argument to , which forces the system to use the older, legacy-style app launch confirmation dialog.
This change includes the necessary UI switch and string resources for users to enable or disable this feature.
### Key Changes:
* ** (Hook):**
* Added a new hook for the package.
* Dynamically locates the target class using by searching for unique strings.
* Hooks the constructor of the found class to modify an argument, forcing the legacy dialog behavior.
* ** (UI):**
* Added a new feature page and a Use legacy startup pop-up switch for the Security & Permissions app.
* ** & :**
* Registered the new securitypermission module and its corresponding hook.
* **:**
* Added string resources for the new feature's title and summary.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/eb77a6f083268a21e3964653086b5ee2392ca5fd)
Feat(SecurityPermission): Add Legacy App Start Dialog option
This commit introduces a new feature for the SecurityPermission () application to force the use of the legacy app start dialog.
A new hook dynamically finds the relevant class by searching for specific string constants (, , etc.). It then hooks the class constructor and modifies the 10th argument to , which forces the system to use the older, legacy-style app launch confirmation dialog.
This change includes the necessary UI switch and string resources for users to enable or disable this feature.
### Key Changes:
* ** (Hook):**
* Added a new hook for the package.
* Dynamically locates the target class using by searching for unique strings.
* Hooks the constructor of the found class to modify an argument, forcing the legacy dialog behavior.
* ** (UI):**
* Added a new feature page and a Use legacy startup pop-up switch for the Security & Permissions app.
* ** & :**
* Registered the new securitypermission module and its corresponding hook.
* **:**
* Added string resources for the new feature's title and summary.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/eb77a6f083268a21e3964653086b5ee2392ca5fd)
GitHub
Feat(SecurityPermission): Add "Legacy App Start Dialog" option · suqi8/OShin@eb77a6f
This commit introduces a new feature for the "SecurityPermission" (`com.oplus.securitypermission`) application to force the use of the legacy app start dialog.
A new hook dynamic...
A new hook dynamic...
🚀 **OShin New CI Build!**
Refactor(i18n): Revise and update language localization
This commit completely overhauls the string resources for the non-standard meme language ().
The existing translations have been rewritten to adopt a more consistent and playful zako (杂鱼, small fry/noob) and flying away (飞起来) theme. The tone is now more humorous and stylized, aligning with a specific internet subculture.
In addition to the stylistic rewrite, this change also introduces new string resources to support recently added features, including:
* Legacy app start dialog mode ()
* Permanent always allow option for app starts ()
This ensures that all UI text is fully translated and maintains the unique meme flavor of this localization.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/3c26ab01b3b37a2a7c8386c1acb51f9243b8c713)
Refactor(i18n): Revise and update language localization
This commit completely overhauls the string resources for the non-standard meme language ().
The existing translations have been rewritten to adopt a more consistent and playful zako (杂鱼, small fry/noob) and flying away (飞起来) theme. The tone is now more humorous and stylized, aligning with a specific internet subculture.
In addition to the stylistic rewrite, this change also introduces new string resources to support recently added features, including:
* Legacy app start dialog mode ()
* Permanent always allow option for app starts ()
This ensures that all UI text is fully translated and maintains the unique meme flavor of this localization.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/3c26ab01b3b37a2a7c8386c1acb51f9243b8c713)
GitHub
Refactor(i18n): Revise and update `meme` language localization · suqi8/OShin@3c26ab0
This commit completely overhauls the string resources for the non-standard "meme" language (`values-b+qaa+x-meme`).
The existing translations have been rewritten to adopt a more ...
The existing translations have been rewritten to adopt a more ...
🚀 **OShin New CI Build!**
Chore: Update app version name to 16.1
This commit updates the application's version name in the file.
The version name format has been changed from to . This new version will be combined with the Git commit count and hash to form the final version name (e.g., ).
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/e137de5dd0a9cf4cf3b4afcbe651945b9a8f3605)
Chore: Update app version name to 16.1
This commit updates the application's version name in the file.
The version name format has been changed from to . This new version will be combined with the Git commit count and hash to form the final version name (e.g., ).
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/e137de5dd0a9cf4cf3b4afcbe651945b9a8f3605)
GitHub
Chore: Update app version name to 16.1 · suqi8/OShin@e137de5
This commit updates the application's version name in the `app/build.gradle.kts` file.
The version name format has been changed from `15.8` to `16.1`. This new version will be combined wit...
The version name format has been changed from `15.8` to `16.1`. This new version will be combined wit...
🚀 **OShin New CI Build!**
Chore: Update app version name to 16.1
This commit updates the application's version name in the file.
The base version name has been changed from to . This version will be combined with the Git commit count and hash to form the final version string (e.g., ).
Additionally, the fallback version name used when Git is unavailable has been updated from to .
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/06aa8acb106c18f60052c876d0292f6b5a3f1ff9)
Chore: Update app version name to 16.1
This commit updates the application's version name in the file.
The base version name has been changed from to . This version will be combined with the Git commit count and hash to form the final version string (e.g., ).
Additionally, the fallback version name used when Git is unavailable has been updated from to .
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/06aa8acb106c18f60052c876d0292f6b5a3f1ff9)
GitHub
Chore: Update app version name to 16.1 · suqi8/OShin@06aa8ac
This commit updates the application's version name in the `app/build.gradle.kts` file.
The base version name has been changed from `15.1` to `16.1`. This version will be combined with the ...
The base version name has been changed from `15.1` to `16.1`. This version will be combined with the ...
🚀 **OShin New CI Build!**
Chore(i18n): Refine strings for the localization
This commit updates several string resources in the language pack () to improve clarity and style.
### Key String Changes:
* : Changed from 模块 to 杂鱼用的LSP版本❤️.
* : Changed from 生命百分比 to 电池生命百分比.
* : Changed from 电池还能活多久 to 电池最大生命百分比.
* : Changed from 户晨风 to 户晨风版本号.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/a3ecabe4e188c7e5be85f81f163f105523b504d8)
Chore(i18n): Refine strings for the localization
This commit updates several string resources in the language pack () to improve clarity and style.
### Key String Changes:
* : Changed from 模块 to 杂鱼用的LSP版本❤️.
* : Changed from 生命百分比 to 电池生命百分比.
* : Changed from 电池还能活多久 to 电池最大生命百分比.
* : Changed from 户晨风 to 户晨风版本号.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/a3ecabe4e188c7e5be85f81f163f105523b504d8)
GitHub
Chore(i18n): Refine strings for the `meme` localization · suqi8/OShin@a3ecabe
This commit updates several string resources in the `meme` language pack (`values-b+qaa+x+meme`) to improve clarity and style.
### Key String Changes:
* `module_status`: Changed from "...
### Key String Changes:
* `module_status`: Changed from "...
🚀 **OShin New CI Build!**
Refactor: Remove unused
This commit deletes the file, as its custom animation transition functions are no longer in use.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/225be399c5638e3ba918f5ac8551812edb6ba094)
Refactor: Remove unused
This commit deletes the file, as its custom animation transition functions are no longer in use.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/225be399c5638e3ba918f5ac8551812edb6ba094)
GitHub
Refactor: Remove unused `AnimTools.kt` · suqi8/OShin@225be39
This commit deletes the `AnimTools.kt` file, as its custom animation transition functions are no longer in use.
🚀 **OShin New CI Build!**
Refactor(Backdrop): Overhaul rendering pipeline and simplify APIs
This commit introduces a major refactoring of the backdrop effect rendering pipeline to improve performance, simplify the drawing logic, and enhance the API. The new implementation moves away from for highlights and instead uses directly on the object, reducing layer complexity.
### Core Rendering Changes:
* **Unified :** The logic for drawing backdrops and content effects has been consolidated. The separate has been removed, and a single is now used for all effects.
* **Shader-based Highlighting:** Instead of using on a layer, styles now generate a that is applied directly to a object. This simplifies the drawing path and removes an extra layer.
* **Optimized Drawing:** The shadow and highlight drawing logic has been rewritten to use instead of manually handling different types (, , ). A new helper has been introduced for consistent clipping.
* **Layer Management:** The use of intermediate mask layers for highlights has been eliminated. The main highlight is drawn on a single layer and then drawn to the canvas.
* **Simplified Functions:** Unused functions for , , and have been removed.
### API and Effect Enhancements:
* ** Effect Update:** The effect parameters have been refined. It now accepts a flag instead of an . The underlying AGSL shader has been updated to support this and now includes padding offsets.
* **Effect Scope Padding:** The now includes a property, allowing effects like and to manage the required padding around the content.
* ** Annotations:** Added annotations to various effect and style parameters (, , ) to improve API contract clarity.
* **:** A new, simplified modifier has been introduced for use cases that do not require shadows or highlights.
### UI Component Migration ():
* The component has been updated to align with the new backdrop API.
* The has been changed from to .
* Right-to-left (RTL) layout support has been added for tab indicator positioning.
* Minor logic updates include using and adjusting animation.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/c8f5a331d6b5d7e320075b7cf8ba1e74da0c05f1)
Refactor(Backdrop): Overhaul rendering pipeline and simplify APIs
This commit introduces a major refactoring of the backdrop effect rendering pipeline to improve performance, simplify the drawing logic, and enhance the API. The new implementation moves away from for highlights and instead uses directly on the object, reducing layer complexity.
### Core Rendering Changes:
* **Unified :** The logic for drawing backdrops and content effects has been consolidated. The separate has been removed, and a single is now used for all effects.
* **Shader-based Highlighting:** Instead of using on a layer, styles now generate a that is applied directly to a object. This simplifies the drawing path and removes an extra layer.
* **Optimized Drawing:** The shadow and highlight drawing logic has been rewritten to use instead of manually handling different types (, , ). A new helper has been introduced for consistent clipping.
* **Layer Management:** The use of intermediate mask layers for highlights has been eliminated. The main highlight is drawn on a single layer and then drawn to the canvas.
* **Simplified Functions:** Unused functions for , , and have been removed.
### API and Effect Enhancements:
* ** Effect Update:** The effect parameters have been refined. It now accepts a flag instead of an . The underlying AGSL shader has been updated to support this and now includes padding offsets.
* **Effect Scope Padding:** The now includes a property, allowing effects like and to manage the required padding around the content.
* ** Annotations:** Added annotations to various effect and style parameters (, , ) to improve API contract clarity.
* **:** A new, simplified modifier has been introduced for use cases that do not require shadows or highlights.
### UI Component Migration ():
* The component has been updated to align with the new backdrop API.
* The has been changed from to .
* Right-to-left (RTL) layout support has been added for tab indicator positioning.
* Minor logic updates include using and adjusting animation.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/c8f5a331d6b5d7e320075b7cf8ba1e74da0c05f1)
GitHub
Refactor(Backdrop): Overhaul rendering pipeline and simplify APIs · suqi8/OShin@c8f5a33
This commit introduces a major refactoring of the backdrop effect rendering pipeline to improve performance, simplify the drawing logic, and enhance the API. The new implementation moves away from ...
🚀 **OShin New CI Build!**
Chore: Update project dependencies
This commit updates the versions of several key dependencies in .
### Key Version Changes:
* **Kotlin:** ->
* **AndroidX Compose BOM:** ->
* **AndroidX Room:** ->
* **Jetpack Compose:** ->
* **KSP:** The Kotlin version for KSP was updated to .
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/fee284817ab0195d45d616edbc0f15090e8d28c1)
Chore: Update project dependencies
This commit updates the versions of several key dependencies in .
### Key Version Changes:
* **Kotlin:** ->
* **AndroidX Compose BOM:** ->
* **AndroidX Room:** ->
* **Jetpack Compose:** ->
* **KSP:** The Kotlin version for KSP was updated to .
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/fee284817ab0195d45d616edbc0f15090e8d28c1)
GitHub
Chore: Update project dependencies · suqi8/OShin@fee2848
This commit updates the versions of several key dependencies in `gradle/libs.versions.toml`.
### Key Version Changes:
* **Kotlin:** `2.2.20` -> `2.2.21`
* **AndroidX Compose BOM:** `202...
### Key Version Changes:
* **Kotlin:** `2.2.20` -> `2.2.21`
* **AndroidX Compose BOM:** `202...