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

chore(Build): Lower minimum SDK version to 33

This commit updates the in from 36 to 33, expanding the range of supported Android devices.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/4967feec22938979c7413d5a4d695e036a6049f0)
🚀 **OShin New CI Build!**

Build(Proguard): Enable line numbers and clean up rules

This commit updates the Proguard configuration to improve debugging and remove obsolete rules.

- Enables and attributes to preserve line numbers in stack traces, making debugging easier.
- Removes several redundant or overly broad rules for Activities, ViewBinding, and specific app packages, simplifying the configuration.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/82d4f8cf8627b1acff24db247a510b8e4526b20c)
🚀 **OShin New CI Build!**

feat(Home): Integrate Umeng Union ads into home screen carousel

This commit introduces native advertising into the home screen's top carousel by integrating the Umeng Union (友盟+) SDK. The carousel now dynamically mixes promotional content with native ads (including video ads).

### Key Changes:

* **Umeng Union SDK Integration:**
* Added dependency.
* Initialized the SDK in with pre-initialization for better performance.

* **Carousel Content Refactoring:**
* Introduced a sealed interface to represent different types of carousel items: (original promotional content) and (Umeng native ads).
* now fetches both promotional items and native ads concurrently.
* The two content types are shuffled and combined into a single list () to be displayed in the carousel.

* **Native Ad Composable:**
* Created a new composable to render the ad content provided by the SDK.
* This component handles both image and video ads, using to host for video playback.
* It manages the ad's lifecycle (, , ) using to ensure proper video handling and resource cleanup.
* The ad's view is correctly bound for click and impression tracking.

* **ViewModel Logic:**
* now contains logic to request a native banner ad from the Umeng SDK.
* It includes success and failure handlers for the ad request.
* A new function merges the fetched ad with the existing carousel items and shuffles the result for a mixed display.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/ab0e2a803c274b04cae232d3a24981bc57a8d2d6)
🚀 **OShin New CI Build!**

Fix(About): Update GitHub repository URL and optimize update button rendering

This commit updates the GitHub repository URL from to across the app. This change affects the About screen's links for the project source and translation contributions, as well as the update checker's API endpoint.

Additionally, the Check for update button on the About screen is now conditionally rendered only when its alpha is greater than zero. This prevents the button from being composed when it is fully transparent, improving rendering performance.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/2ff830bb1d2b63747cb3aafb3819146827e66239)
🚀 **OShin New CI Build!**

Refactor(About): Introduce ViewModel and UI improvements

This commit refactors the About and Settings screens by introducing ViewModels (, ) to manage UI state and business logic, significantly improving code structure and maintainability.

### Key Changes:

* ** (New):**
* Manages the state for the About screen, including device name, dialog visibility, and complex scroll-based animations (alpha/scale for titles, button, and cards).
* Centralizes logic for updating the device name via .
* Calculates animation values based on scroll offset, moving this logic out of the composable.

* ** (Refactored):**
* Now manages state for all settings (theme, language, update channel, etc.) using .
* Refactored config import/export/clear functions to be more robust, with loading states and improved error handling using .
* Settings changes now update the ViewModel, which in turn saves the preference.

* ** (Refactored):**
* The composable is now stateless, consuming state directly from .
* The monolithic composable has been broken down into smaller, more manageable functions (, , , etc.).
* Introduced an animated Swipe up for more hint to improve discoverability of the scrollable content.
* Corrected a typo in the contributors section from Stracha酸奶菌 to Stracha酸奶茶.

* ** (Refactored):**
* The settings screen now gets its state from and sends updates to the .
* The layout has been reorganized with headers to group settings into categories: General, Appearance, Advanced, and Developer.
* The complex language-switching logic has been simplified and moved into a utility function.

* **:**
* Added new string resources for the Swipe up for more hint and the new settings categories.
🔗 [查看本次提交](https://github.com/suqi8/OShin-Dev/commit/7e2338c7c80973a0d4eedf60268846a9625bb00f)
🚀 **OShin New CI Build!**

Fix(About): Correct Coolapk username for contributor 酸奶(什么破ai)

This commit corrects the Coolapk username for the contributor 酸奶 in the About screen. The username has been updated from Stracha酸奶茶 to Stracha酸奶菌.
🔗 [查看本次提交](https://github.com/suqi8/OShin-Dev/commit/5ff7d839518c4ee4b91fb63c5e52c93d14e50059)
🚀 **OShin New CI Build!**

Refactor(Settings): Improve preference export and update URI handling

This commit refactors the settings export functionality and modernizes URI creation.

### Key Changes:

* **:**
* The settings export logic now includes preferences from and .
* The list is now created by combining standard feature preferences, a default settings file, and these two new specific preference files to ensure a more comprehensive backup.

* **:**
* Updated the creation of to use the Kotlin extension function, which is a more idiomatic and concise approach.
* Added to suppress the lint warning related to this change.
🔗 [查看本次提交](https://github.com/suqi8/OShin-Dev/commit/d0ff96e559290e6eb32f9b9adfbf9d7d2f662207)
🚀 **OShin New CI Build!**

refactor(About): Introduce Simplified Mode and optimize animations

This commit introduces a new Simplified Mode for the About screen, offering a cleaner, more focused UI by disabling complex animations and background effects. It also refactors the animation logic for better performance and maintainability.

### Key Changes:

* **New About Simplified Mode:**
* A new toggle switch, , has been added to the settings within the About screen. (, )
* When enabled, this mode provides a static, high-performance experience:
* The background blur effect is disabled.
* The scroll-away animation for the header and Check for update button is removed.
* The gradual fade-in effect for content cards is disabled.
* The header title uses a solid color instead of a gradient for better readability.

* **Animation Logic Refactoring ():**
* The function has been refactored to support two distinct logic paths: one for the full-featured mode and a new, simplified one for the new mode.
* In Simplified Mode, most alpha and scale values are set to static values (e.g., , ), effectively disabling the complex scroll-based animations.

* **UI State Management ():**
* The composable now observes the state from the .
* UI elements like , , , and the scroll hint are now conditionally rendered or styled based on whether Simplified Mode is active.

* **Scroll Animation Optimization:**
* The calculation for the Check for update button's scroll-off behavior has been improved. It now uses a derived state to determine the button's vertical offset, preventing it from reappearing incorrectly during fast scrolling.
🔗 [查看本次提交](https://github.com/suqi8/OShin-Dev/commit/bb5f68d2dac451f31e8e9de72aeabf22bce22380)
🚀 **OShin New CI Build!**

Fix(About): Hide community card in simplified mode

This commit updates the About screen to conditionally hide the Community Card section when simplified mode is enabled. This helps to declutter the UI for users who prefer a more minimal interface.

* **:** The and its By the way title are now only rendered if is false.
🔗 [查看本次提交](https://github.com/suqi8/OShin-Dev/commit/c7608a29f312934f86f152835acdfe62c09796be)
🚀 **OShin New CI Build!**

Refactor(Module): Optimize modifier order for shared element transitions

This commit refactors the modifier chain on module cards within the main screen. The modifier is moved after the and modifiers.

This change ensures that the padding and shadow are applied *before* the shared element transition is calculated, preventing visual artifacts and ensuring a smoother animation during navigation. The transition now correctly captures the bounds of the card including its shadow and padding.
🔗 [查看本次提交](https://github.com/suqi8/OShin-Dev/commit/ba9a79da9578589a0ec13ece41829546fe4335db)