OShin | O神「自动构建 CI Build」
1.52K subscribers
2 photos
771 files
678 links
OPPO/OneOlus 系统辅助应用

Channel/频道
@OPatchA
Chat/聊天
@OPatchB
Download Telegram
🚀 **OShin New CI Build!**

Feat(Core): Add FileProvider and a custom permission

This commit introduces two key changes to the to enhance functionality and security.

### Key Changes:

* **Added :** A is now declared to enable secure sharing of files with other applications. It is configured with the authority and uses path definitions from . This provider is not exported and grants URI permissions.

* **New Signature Permission:** A new custom permission named has been added. It is set with , ensuring that only apps signed with the same key can be granted this permission.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/75e8f8eab98b847e6af8bb7a8040114008588625)
🚀 **OShin New CI Build!**

Chore(CI): Correct variable name for universal APK in Telegram workflow

This commit fixes a variable name in the file.

In the final step of the workflow, which sends the build artifact to Telegram, the parameter was incorrectly referencing . This has been corrected to to accurately point to the universal APK file.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/208b85bfbe0b6df7c057c23c6ad802d7f5d98937)
🚀 **OShin New CI Build!**

Refactor(launcher): Improve hook implementation

This commit refactors the hook for the feature to improve its reliability and robustness.

The previous implementation hooked the method of . This has been changed to hook the method instead.

The new approach calls in an hook on , which is a more suitable and stable injection point for this functionality. Additionally, the code has been updated to use the reflection library with more specific method lookups ( with modifiers) for better accuracy.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/c55530e88c19eb73f0364e46d0b54be2f0ca90f7)
🚀 **OShin New CI Build!**

Feat(launcher): Add option for more desktop grid layouts

This commit introduces a new feature that allows users to select a wider range of desktop grid layouts, from 2x2 up to 20x20.

### Key Changes:

* **UI:** A new switch preference, Add more desktop layouts, has been added to the launcher settings UI.
* **Hook Implementation:** A hook has been implemented for the method in . This hook replaces the original list of layouts with a dynamically generated list that includes all grid sizes from 2x2 to 20x20. A caching mechanism has been added for performance.
* **String Resources:** Obsolete string resources for settings categories were removed, and new strings for the desktop layout feature were added.
* **Code Refactoring:** The launcher hook code was refactored to use a single variable for accessing preferences, improving readability.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/5c3cf712fbd53a9697dc155a9479c85db4f0a901)
🚀 **OShin New CI Build!**

Feat(launcher): Add custom blur corner radius and reorganize settings

This commit introduces a new feature to customize the blur corner radius in the launcher and reorganizes the launcher settings UI for better clarity.

### Key Changes:

* **Custom Blur Corner Radius:**
* A new hook has been added for .
* This hook intercepts the method call and replaces the radius value with a user-defined value from preferences, which is specified in .
* A corresponding slider has been added to the settings UI, allowing users to adjust the blur corner radius from -1dp (default) to 100dp.

* **Settings Reorganization:**
* The launcher settings have been grouped into logical sections: Desktop settings, Dock settings, and Animation and layout settings.
* New string resources have been added to support these new section titles.

* **Refinement:**
* The slider's range has been adjusted from to to match its default value.
* The logic for reading the preference has been updated to use instead of for consistency.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/4d1f907281761a4301dcccbd02ffb42c2e7354b6)
🚀 **OShin New CI Build!**

Refactor(launcher): Remove obsolete icon size hook

This commit removes the experimental and non-functional hook for adjusting launcher icon and text size.

The hooker, which attempted to modify the method in the launcher, has been deleted. Correspondingly, the UI slider for this feature has been removed from the launcher settings screen, and the hook is no longer loaded in the main .

The hook has also been moved to be loaded within the main hooker for better organization.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/32385d6562bf7107be8dbe05dfbbfed5dd778b6d)
🚀 **OShin New CI Build!**

Refactor(SystemUI): Improve field lookup in Wifi status bar hook

This commit refactors the hook for the Wi-Fi status bar indicator to make the field lookup more specific.

The calls to for and have been updated to explicitly use the current view . This ensures that the reflection correctly targets the fields within the specific context, improving the reliability of the hook.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/cc86b50d9677f15f557ee83bd7fa743d204fe4e3)
🚀 **OShin New CI Build!**

Refactor(SystemUI): Improve status bar clock update mechanism

This commit refactors the high-frequency update logic for the status bar clock to be more efficient and robust.

### Key Changes:

* **Timer and Handler Implementation:** The update mechanism is now managed by a single, static and instance. This prevents the creation of multiple timers and ensures updates are safely posted to the main thread.
* **WeakReference for Clock View:** A is now used to hold the clock . This prevents potential memory leaks by allowing the view to be garbage-collected if it's no longer in use.
* **Direct Text Updates:** Instead of invoking the original method via reflection, the timer now directly calculates the new time string and sets it on the .
* **Conditional Update:** The high-frequency update is only initiated if the user sets an update speed greater than 0.
* **Default Update Speed:** The default value for the clock update speed has been changed from to , making the high-frequency update an opt-in feature.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/37d99cdffd42173e6c41643ead4b8ed1a7d64938)
1
🚀 **OShin New CI Build!**

Fix(proguard): Update rules to prevent over-obfuscation

This commit updates the ProGuard rules to prevent excessive obfuscation that was causing runtime crashes.

The rules have been expanded to explicitly keep necessary classes and packages, including:
*
*
*

Additionally, the and attributes are now preserved, and the rule has been added to ensure better stability after obfuscation.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/4e8012718d7afbcac9a36d3647f99935f686ce1e)