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

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

CI: Automate release creation and asset upload to OShin-Builds

This commit enhances the GitHub Actions workflow to automatically create a release and upload the built APK to a separate repository.

### Key Workflow Changes:

* **Extract Version String:** The Prepare Artifacts step has been updated to dynamically extract the version string from the generated APK filename (e.g., from ). This version is then used for the release tag and name.
* **Create Release Step:** A new step using has been added.
* It creates a new pre-release in the repository.
* The release tag and name are set using the extracted version string.
* The release body includes the source commit SHA and message.
* **Upload Release Asset:** The newly built APK file is automatically uploaded as an asset to this new release.
* **Refinement:** The step name was updated from Prepare Artifacts and Generate Summary to Prepare Artifacts, Extract Version String, and Generate Summary to better reflect its new responsibilities. Variable names and comments have also been improved for clarity.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/fa9760dcc441b78944999778980fc17640c3a5b7)
🚀 **OShin New CI Build!**

Feat(CI): Mark GitHub release builds as stable

This commit updates the GitHub Actions workflow () to change how release builds are categorized.

The flag for the Create Release and Upload Artefact step has been changed from to . This ensures that automated CI builds are now published as stable releases instead of pre-releases.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/27fdd03cbc287ac4319a4d8ee1b5b26f140793fb)
🚀 **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