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!**

Fix(UI): Prevent interaction during transitions and refine module status display

This commit introduces a fix to prevent user interaction during shared element transitions and refines how the module status is displayed on the home screen.

### Key Changes:

* **:**
* A transparent is now overlaid across the entire screen during a animation.
* This box uses to consume all touch events, effectively blocking clicks on UI elements like while the transition is active.
* This resolves an issue where buttons could be clicked mid-animation, potentially causing crashes or unexpected behavior.
* Removed now-redundant logic that conditionally rendered buttons based on the flag.

* ** & :**
* The module status card on the main screen now displays the LSPosed version and API level (e.g., LSPosed 1.9.2 API 93) when the module is active.
* The previous generic SUCCESS message has been replaced with this more informative text.
* The constraint on the message text has been removed to accommodate the longer string.
* The state is now a global variable to be accessible across different composables.

* **:**
* The modifier has been moved from the parent / to the clickable element itself. This refines the shared element transition to target the card specifically, rather than the entire list item layout.

* **:**
* Removed unused constant definitions (, , etc.) and their associated .
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/f7b3d942a6e2a3841e79326cdab619a8d34dbbe3)
🚀 **OShin New CI Build!**

Refactor(UI): Revamp layout and enhance shared element transitions

This commit introduces a significant refactoring of the composable to create a more modern and dynamic user experience, alongside major improvements to shared element transitions.

### Key Changes:

* **Detached Top Bar and Title:**
* The traditional has been replaced with a custom, floating top bar for actions (Back, Launch, Refresh).
* The page title is now a separate composable within the content area, allowing it to participate in shared element transitions.
* The top bar area now uses a custom blur with a gradient effect instead of the previous implementation.

* **Improved Shared Element Transitions:**
* Introduced to and to enable more granular control over which parts of a component participate in a transition.
* Titles on the main module pages () and feature list items () are now connected to the destination page's title for a seamless animation.
* Added a title font size animation on the feature screen. When navigating from a list, the title animates from a smaller to a larger font size.

* **Layout and Simplification in :**
* Removed the overloaded that was used for backward compatibility. The composable now has a single, flexible implementation.
* The title is now optional. If an empty title is provided, the container is hidden, allowing for fully custom layouts.
* Button logic has been extracted into a dedicated composable.
* Page padding now correctly accounts for display cutouts using .
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/22ace1cc8e07bf64f30567d74f222ea73d05fed2)
🚀 **OShin New CI Build!**

Refactor(Compose): Remove transition blocking overlay in FunPage

This commit removes a piece of code that was intended to block user input during a shared element transition.

The block, which added an empty with a modifier to consume all touch events, has been commented out. The corresponding import has also been removed.

This change simplifies the composable and removes the input-blocking overlay that was previously active during transitions.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/0f178a10efe4f32d8e54c3c1e57587f9325d9980)
1
🚀 **OShin New CI Build!**

Refactor(Settings): Improve logic for hiding the launcher icon

This commit refactors the logic for toggling the visibility of the launcher icon in the About settings screen.

### Key Changes:

* **Variable Renaming:**
* The state variable has been renamed to for better clarity.

* **Logic Inversion:**
* The logic has been inverted to be more intuitive. Instead of tracking if the icon is hidden, the code now tracks if it is visible.
* The state now directly corresponds to the icon being hidden ().
* The lambda now receives a boolean, making the call to more direct.

* **State Management:**
* The now correctly uses when is true and otherwise.
* The initial state of is now more robustly determined by checking if the component is *not* disabled, defaulting to in case of an exception.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/759f651717777790032bc77a1e68e82bb68e24b4)
🚀 **OShin New CI Build!**

Refactor(UI): Generalize by adding a custom action slot

This commit refactors the composable to make it more versatile and reusable.

Previously, the top app bar in had a fixed layout. This change introduces a new parameter named . This allows parent components to inject custom composable content, such as buttons or other UI elements, into the top bar.

### Key Changes:
* The and composables now accept an lambda.
* The content is rendered in the top bar, positioned before the conditional shortcut button.
* The top app bar () is now always transparent and has a fixed height of , simplifying the layout logic.
* The blurred top bar effect is now conditionally rendered only when the parameter is empty, cleaning up its appearance on pages with a visible title.
* Unused imports and modifiers (, ) have been removed.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/08f26c29684bcb9e0292c150e9281937533c1477)
🚀 **OShin New CI Build!**

Refactor(Build): Disable ABI splits to produce a single universal APK

This commit updates the build process to stop generating separate APKs for different CPU architectures (, ) and instead produce only a single, universal APK that supports all architectures.

### Key Changes:

* ****:
* The flag has been set to , effectively disabling the ABI splitting feature.
* The directive for and has been commented out.

* ****:
* The GitHub Actions workflow has been simplified to handle only the universal () APK.
* Removed logic for finding, hashing, and reporting the now-obsolete and APKs.
* The build summary table will now only display the SHA256 hash for the universal APK.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/b520078f2f6de92e585c6e3494c2370a5742b31f)
🚀 **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)