🚀 **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)
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)
GitHub
Refactor(Compose): Remove transition blocking overlay in FunPage · suqi8/OShin@0f178a1
This commit removes a piece of code that was intended to block user input during a shared element transition.
The `if (sharedTransitionScope?.isTransitionActive == true)` block, which added an emp...
The `if (sharedTransitionScope?.isTransitionActive == true)` block, which added an emp...
❤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)
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)
GitHub
Refactor(Settings): Improve logic for hiding the launcher icon · suqi8/OShin@759f651
This commit refactors the logic for toggling the visibility of the launcher icon in the "About" settings screen.
### Key Changes:
* **Variable Renaming:**
* The state va...
### Key Changes:
* **Variable Renaming:**
* The state va...
🚀 **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)
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)
GitHub
Refactor(UI): Generalize `FunPage` by adding a custom action slot · suqi8/OShin@08f26c2
This commit refactors the `FunPage` composable to make it more versatile and reusable.
Previously, the top app bar in `FunPage` had a fixed layout. This change introduces a new `@Composable () -&a...
Previously, the top app bar in `FunPage` had a fixed layout. This change introduces a new `@Composable () -&a...
🚀 **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)
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)
GitHub
Refactor(Build): Disable ABI splits to produce a single universal APK · suqi8/OShin@b520078
This commit updates the build process to stop generating separate APKs for different CPU architectures (`armeabi-v7a`, `arm64-v8a`) and instead produce only a single, universal APK that supports al...
🚀 **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)
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)
GitHub
CI: Automate release creation and asset upload to OShin-Builds · suqi8/OShin@fa9760d
This commit enhances the `android.yml` GitHub Actions workflow to automatically create a release and upload the built APK to a separate repository.
### Key Workflow Changes:
* **Extract Version...
### Key Workflow Changes:
* **Extract Version...
🚀 **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)
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)
GitHub
Feat(CI): Mark GitHub release builds as stable · suqi8/OShin@27fdd03
This commit updates the GitHub Actions workflow (`android.yml`) to change how release builds are categorized.
The `prerelease` flag for the "Create Release and Upload Artefact" s...
The `prerelease` flag for the "Create Release and Upload Artefact" s...
🚀 **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)
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)
GitHub
Feat(Core): Add FileProvider and a custom permission · suqi8/OShin@75e8f8e
This commit introduces two key changes to the `AndroidManifest.xml` to enhance functionality and security.
### Key Changes:
* **Added `FileProvider`:** A `FileProvider` is now declared to enabl...
### Key Changes:
* **Added `FileProvider`:** A `FileProvider` is now declared to enabl...
🚀 **OShin New CI Build!**
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/c3eab29223844c0787443c97da3c92efd37b5631)
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/c3eab29223844c0787443c97da3c92efd37b5631)
GitHub
Refactor: Remove unused permission from AndroidManifest · suqi8/OShin@c3eab29
This commit removes the `com.suqi8.oshin.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION` permission declaration from the `AndroidManifest.xml` file.
The `tools:node="remove"` attribute...
The `tools:node="remove"` attribute...
🚀 **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)
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)
GitHub
Chore(CI): Correct variable name for universal APK in Telegram workflow · suqi8/OShin@208b85b
This commit fixes a variable name in the `.github/workflows/android.yml` file.
In the final step of the workflow, which sends the build artifact to Telegram, the `document` parameter was incorrect...
In the final step of the workflow, which sends the build artifact to Telegram, the `document` parameter was incorrect...
🚀 **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)
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)
GitHub
Refactor(launcher): Improve `force_enable_fold_dock` hook implementation · suqi8/OShin@c55530e
This commit refactors the hook for the `force_enable_fold_dock` feature to improve its reliability and robustness.
The previous implementation hooked the `init` method of `com.android.launcher3.Op...
The previous implementation hooked the `init` method of `com.android.launcher3.Op...
🚀 **OShin New CI Build!**
Feat(Core): Add SecurityPermission to force-stop blocklist
This commit updates the array in .
The package has been added to this list, preventing it from being force-stopped by the application.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/8696ec7391e4bb166de4473828f93cd6cb4a33ec)
Feat(Core): Add SecurityPermission to force-stop blocklist
This commit updates the array in .
The package has been added to this list, preventing it from being force-stopped by the application.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/8696ec7391e4bb166de4473828f93cd6cb4a33ec)
GitHub
Feat(Core): Add SecurityPermission to force-stop blocklist · suqi8/OShin@8696ec7
This commit updates the `force_prevent_running_list` array in `app/src/main/res/values/array.xml`.
The package `com.oplus.securitypermission` has been added to this list, preventing it from being ...
The package `com.oplus.securitypermission` has been added to this list, preventing it from being ...