🚀 OShin New CI Build!
Refactor(FunSwich): Enhance Switch component with animations and improved structure
This commit significantly refactors the and related components.
Key Changes:
- :
- Component Overhaul:
- The core visual component is now purely presentational, driven entirely by its state and does not handle interaction events.
- Implemented a sticky stretch animation for the thumb:
- The thumb width animates (stretches and then shrinks) during the transition between checked and unchecked states.
- The thumb offset animation is coordinated with the width animation to create a more dynamic and engaging visual effect.
- is used to manage these animations.
- Added a subtle shadow to the thumb using for better visual depth and anti-aliasing.
- Track and thumb sizes are now more clearly defined.
- Animation duration for all transitions (thumb offset, width, colors) is standardized.
- Component:
- This component now acts as an intermediate layer that wraps the purely visual and integrates it with a (a row-like layout).
- The entire row is clickable to toggle the state, delegating the actual state change to the callback.
- Renamed internal composable to for clarity.
- Component (Top-Level):
- Remains the top-level composable responsible for state persistence using YukiHookAPI .
- Passes down the persisted state and callbacks to .
- :
- Parameter names clarified for better understanding of light/dark mode and checked/unchecked states.
- KDoc Documentation:
- Added and improved KDoc for all components (, , , , ) to better explain their purpose, parameters, and relationships.
- Clarified the separation of concerns: for data, for layout integration and unified click handling, and for pure visual representation and animation.
This refactoring aims to create a more robust, visually appealing, and well-structured Switch implementation with clearer separation of concerns and improved animations.
🔗 查看本次提交
Refactor(FunSwich): Enhance Switch component with animations and improved structure
This commit significantly refactors the and related components.
Key Changes:
- :
- Component Overhaul:
- The core visual component is now purely presentational, driven entirely by its state and does not handle interaction events.
- Implemented a sticky stretch animation for the thumb:
- The thumb width animates (stretches and then shrinks) during the transition between checked and unchecked states.
- The thumb offset animation is coordinated with the width animation to create a more dynamic and engaging visual effect.
- is used to manage these animations.
- Added a subtle shadow to the thumb using for better visual depth and anti-aliasing.
- Track and thumb sizes are now more clearly defined.
- Animation duration for all transitions (thumb offset, width, colors) is standardized.
- Component:
- This component now acts as an intermediate layer that wraps the purely visual and integrates it with a (a row-like layout).
- The entire row is clickable to toggle the state, delegating the actual state change to the callback.
- Renamed internal composable to for clarity.
- Component (Top-Level):
- Remains the top-level composable responsible for state persistence using YukiHookAPI .
- Passes down the persisted state and callbacks to .
- :
- Parameter names clarified for better understanding of light/dark mode and checked/unchecked states.
- KDoc Documentation:
- Added and improved KDoc for all components (, , , , ) to better explain their purpose, parameters, and relationships.
- Clarified the separation of concerns: for data, for layout integration and unified click handling, and for pure visual representation and animation.
This refactoring aims to create a more robust, visually appealing, and well-structured Switch implementation with clearer separation of concerns and improved animations.
🔗 查看本次提交
GitHub
Refactor(FunSwich): Enhance Switch component with animations and impr… · suqi8/OShin@dc8da5f
…oved structure
This commit significantly refactors the `FunSwich` and related `Switch` components.
**Key Changes:**
- **`FunSwich.kt`:**
- **`Switch` Component Overhaul:**
- The cor...
This commit significantly refactors the `FunSwich` and related `Switch` components.
**Key Changes:**
- **`FunSwich.kt`:**
- **`Switch` Component Overhaul:**
- The cor...
🚀 OShin New CI Build!
Refactor(UI): Add haptic feedback and enhance switch animation
This commit introduces haptic feedback to the and components, triggering a vibration when the switch toggle animation completes. It also refines the visual animation of the component.
Key Changes:
- & :
- Added an callback parameter to and .
- In , when the switch state changes, haptic feedback () is now performed via the callback of the underlying . This ensures the feedback aligns with the visual completion of the toggle.
- Updated documentation to reflect the new haptic feedback feature and the requirement for the permission in .
- (Visual Animation):
- Animation End Detection: Implemented to monitor the state. The callback is invoked when the animation transitions from running to finished.
- Overshoot Animation: Modified the keyframe animation to include an overshoot effect. The thumb now slightly moves past its final destination before settling, creating a more dynamic and springy feel.
- increased from 250ms to 300ms to accommodate the refined animation.
- New dp value introduced to control the extent of the overshoot.
- Removed from the thumb as its primary purpose was shadow, which is now handled implicitly or differently. The comment about antialiasing was also removed.
- Removed as it's no longer necessary.
These changes aim to improve the user experience by providing tactile feedback and a more polished visual animation for the switch components.
🔗 查看本次提交
Refactor(UI): Add haptic feedback and enhance switch animation
This commit introduces haptic feedback to the and components, triggering a vibration when the switch toggle animation completes. It also refines the visual animation of the component.
Key Changes:
- & :
- Added an callback parameter to and .
- In , when the switch state changes, haptic feedback () is now performed via the callback of the underlying . This ensures the feedback aligns with the visual completion of the toggle.
- Updated documentation to reflect the new haptic feedback feature and the requirement for the permission in .
- (Visual Animation):
- Animation End Detection: Implemented to monitor the state. The callback is invoked when the animation transitions from running to finished.
- Overshoot Animation: Modified the keyframe animation to include an overshoot effect. The thumb now slightly moves past its final destination before settling, creating a more dynamic and springy feel.
- increased from 250ms to 300ms to accommodate the refined animation.
- New dp value introduced to control the extent of the overshoot.
- Removed from the thumb as its primary purpose was shadow, which is now handled implicitly or differently. The comment about antialiasing was also removed.
- Removed as it's no longer necessary.
These changes aim to improve the user experience by providing tactile feedback and a more polished visual animation for the switch components.
🔗 查看本次提交
GitHub
Refactor(UI): Add haptic feedback and enhance switch animation · suqi8/OShin@1b6148f
This commit introduces haptic feedback to the `FunSwich` and `SuperSwitch` components, triggering a vibration when the switch toggle animation completes. It also refines the visual animation of the...
🚀 OShin New CI Build!
Refactor(UI): Reimplement SuperDropdown without Miuix KMP dependency
This commit reimplements the and composables locally, removing the dependency on .
Key Changes:
- :
- The composable, previously imported from , is now defined directly within this file.
- This new implementation includes:
- : A custom popup component for displaying dropdown items.
- It manages its position based on available space and alignment preferences.
- It supports window dimming and shadow elevation.
- It uses for to correctly measure and arrange items, ensuring the popup width adapts to the widest item.
- : A composable for rendering individual dropdown items with selection state and checkmark.
- and : Define and provide default colors for dropdown states.
- : An enum to control the alignment of the dropdown (Normal, AlwaysOnRight).
- : An interface and default implementations (, ) for calculating popup positions.
- Utilizes standard Compose components like , , , , and modifiers for layout and interaction.
- Integrates for styling and for arrow and checkmark icons.
- Handles haptic feedback on dropdown open and item selection.
- Implements for dismissing the popup.
- The core logic of saving and retrieving preference values using remains unchanged.
- :
- Removed unused import .
This refactoring internalizes the dropdown functionality, reducing external dependencies and providing more direct control over its appearance and behavior within the Oshin app.
🔗 查看本次提交
Refactor(UI): Reimplement SuperDropdown without Miuix KMP dependency
This commit reimplements the and composables locally, removing the dependency on .
Key Changes:
- :
- The composable, previously imported from , is now defined directly within this file.
- This new implementation includes:
- : A custom popup component for displaying dropdown items.
- It manages its position based on available space and alignment preferences.
- It supports window dimming and shadow elevation.
- It uses for to correctly measure and arrange items, ensuring the popup width adapts to the widest item.
- : A composable for rendering individual dropdown items with selection state and checkmark.
- and : Define and provide default colors for dropdown states.
- : An enum to control the alignment of the dropdown (Normal, AlwaysOnRight).
- : An interface and default implementations (, ) for calculating popup positions.
- Utilizes standard Compose components like , , , , and modifiers for layout and interaction.
- Integrates for styling and for arrow and checkmark icons.
- Handles haptic feedback on dropdown open and item selection.
- Implements for dismissing the popup.
- The core logic of saving and retrieving preference values using remains unchanged.
- :
- Removed unused import .
This refactoring internalizes the dropdown functionality, reducing external dependencies and providing more direct control over its appearance and behavior within the Oshin app.
🔗 查看本次提交
GitHub
Refactor(UI): Reimplement SuperDropdown without Miuix KMP dependency · suqi8/OShin@d807db9
This commit reimplements the `FunDropdown` and `SuperDropdown` composables locally, removing the dependency on `top.yukonga.miuix.kmp.extra.SuperDropdown`.
**Key Changes:**
- **`FunDropdown.kt`:*...
**Key Changes:**
- **`FunDropdown.kt`:*...
👍3
🚀 OShin New CI Build!
Merge pull request #43 from hamjin/master
Fix(UI): Correctly execute command in getRootStatus()
🔗 查看本次提交
Merge pull request #43 from hamjin/master
Fix(UI): Correctly execute command in getRootStatus()
🔗 查看本次提交
GitHub
Merge pull request #43 from hamjin/master · suqi8/OShin@d2b3fa6
Fix(UI): Correctly execute command in getRootStatus()
🚀 OShin New CI Build!
Refactor(UI): Improve BottomTabs interaction and state management
This commit refactors the component to enhance its interaction and state management, particularly in relation to tab selection and animation.
Key Changes:
- :
- The parameter passed to is now (a ) instead of (an ). This allows to directly observe and update the target page state.
- Removed the direct update of within the callback in , as this is now handled within .
- for the is set to , allowing users to swipe between pages.
- :
- State Management:
- Changed parameter to . now observes and modifies this mutable state directly.
- and dependencies updated to use .
- Tab Selection Animation:
- When a tab is tapped:
- If the tapped tab is not the currently selected one, is updated.
- The callback is invoked to notify the parent.
- A coroutine is launched to animate the of the selection indicator to the new tab's position using .
- is temporarily set to and then after a short delay (200ms) to ensure the item background alpha animation triggers correctly during the transition.
- Drag Interaction:
- When dragging the selection indicator ends:
- The is calculated based on the drag offset.
- If the is different from the current , the state is updated, and is called.
- The is animated to the 's position using .
These changes aim to provide a more responsive and fluid user experience for the bottom navigation, synchronizing tab selection with page changes and indicator animations more effectively, especially when interacting via taps or drags. User scrolling of the is also re-enabled.
🔗 查看本次提交
Refactor(UI): Improve BottomTabs interaction and state management
This commit refactors the component to enhance its interaction and state management, particularly in relation to tab selection and animation.
Key Changes:
- :
- The parameter passed to is now (a ) instead of (an ). This allows to directly observe and update the target page state.
- Removed the direct update of within the callback in , as this is now handled within .
- for the is set to , allowing users to swipe between pages.
- :
- State Management:
- Changed parameter to . now observes and modifies this mutable state directly.
- and dependencies updated to use .
- Tab Selection Animation:
- When a tab is tapped:
- If the tapped tab is not the currently selected one, is updated.
- The callback is invoked to notify the parent.
- A coroutine is launched to animate the of the selection indicator to the new tab's position using .
- is temporarily set to and then after a short delay (200ms) to ensure the item background alpha animation triggers correctly during the transition.
- Drag Interaction:
- When dragging the selection indicator ends:
- The is calculated based on the drag offset.
- If the is different from the current , the state is updated, and is called.
- The is animated to the 's position using .
These changes aim to provide a more responsive and fluid user experience for the bottom navigation, synchronizing tab selection with page changes and indicator animations more effectively, especially when interacting via taps or drags. User scrolling of the is also re-enabled.
🔗 查看本次提交
GitHub
Refactor(UI): Improve BottomTabs interaction and state management · suqi8/OShin@8f7c01d
This commit refactors the `BottomTabs` component to enhance its interaction and state management, particularly in relation to tab selection and animation.
**Key Changes:**
- **`MainActivity.kt`:*...
**Key Changes:**
- **`MainActivity.kt`:*...
🚀 OShin New CI Build!
Refactor(UI/LiquidGlass): Optimize InnerRefraction and update component styles
This commit introduces several changes related to the LiquidGlass effect and UI components:
LiquidGlass Optimization:
- : Changed the default from to . This means depth effect is now opt-in, potentially improving performance when not explicitly needed.
- :
- Conditionally loads a different AGSL shader () if .
- The standard (without depth effect calculations) is used if is .
- The uniform is now only set in the shader if it's being used.
- Optimized layer recording by moving it inside the block.
- :
- Split the existing into two:
- : For inner refraction without depth effect.
- : For inner refraction with depth effect. This version includes the uniform and related calculations.
UI Component Styling and Behavior:
- & :
- now receives a lambda for its and composables, allowing dynamic tinting based on selection state.
- Updated in to pass to and .
- Changed to for various elements in (indicator, background, individual tabs) for a consistent rounded look.
- Modified animation specs for tab offset and indicator animations to use for a more natural feel.
- :
- Updated to use .
- Adapted usage to pass for icons and for text in tab labels.
- :
- Changed to be a non-suspending function as it only performs shell commands.
- Added logic to set if is empty initially, ensuring data is loaded on first composition.
- :
- Changed to for icon buttons.
- Increased clickable icon button size from to .
- Removed modifier from icon buttons as LiquidGlass provides its own visual depth.
- :
- Replaced with the local component.
These changes aim to optimize the LiquidGlass rendering path when depth effect is not needed and to refine the visual appearance and interaction of bottom navigation tabs and other UI elements.
🔗 查看本次提交
Refactor(UI/LiquidGlass): Optimize InnerRefraction and update component styles
This commit introduces several changes related to the LiquidGlass effect and UI components:
LiquidGlass Optimization:
- : Changed the default from to . This means depth effect is now opt-in, potentially improving performance when not explicitly needed.
- :
- Conditionally loads a different AGSL shader () if .
- The standard (without depth effect calculations) is used if is .
- The uniform is now only set in the shader if it's being used.
- Optimized layer recording by moving it inside the block.
- :
- Split the existing into two:
- : For inner refraction without depth effect.
- : For inner refraction with depth effect. This version includes the uniform and related calculations.
UI Component Styling and Behavior:
- & :
- now receives a lambda for its and composables, allowing dynamic tinting based on selection state.
- Updated in to pass to and .
- Changed to for various elements in (indicator, background, individual tabs) for a consistent rounded look.
- Modified animation specs for tab offset and indicator animations to use for a more natural feel.
- :
- Updated to use .
- Adapted usage to pass for icons and for text in tab labels.
- :
- Changed to be a non-suspending function as it only performs shell commands.
- Added logic to set if is empty initially, ensuring data is loaded on first composition.
- :
- Changed to for icon buttons.
- Increased clickable icon button size from to .
- Removed modifier from icon buttons as LiquidGlass provides its own visual depth.
- :
- Replaced with the local component.
These changes aim to optimize the LiquidGlass rendering path when depth effect is not needed and to refine the visual appearance and interaction of bottom navigation tabs and other UI elements.
🔗 查看本次提交
GitHub
Refactor(UI/LiquidGlass): Optimize InnerRefraction and update compone… · suqi8/OShin@55402fe
…nt styles
This commit introduces several changes related to the LiquidGlass effect and UI components:
**LiquidGlass Optimization:**
- **`InnerRefraction.kt`:** Changed the default `depthEffect` ...
This commit introduces several changes related to the LiquidGlass effect and UI components:
**LiquidGlass Optimization:**
- **`InnerRefraction.kt`:** Changed the default `depthEffect` ...
🚀 OShin New CI Build!
Refactor: Remove deprecated type aliases and function
This commit removes deprecated type aliases and the function from .
The following deprecated elements have been removed:
- (alias for )
- (self-referential alias)
- (self-referential alias)
- (alias for )
- type alias
- function
These changes simplify the codebase by removing outdated compatibility layers. Users should now directly use the non-deprecated types and functions (e.g., , , , , , ).
🔗 查看本次提交
Refactor: Remove deprecated type aliases and function
This commit removes deprecated type aliases and the function from .
The following deprecated elements have been removed:
- (alias for )
- (self-referential alias)
- (self-referential alias)
- (alias for )
- type alias
- function
These changes simplify the codebase by removing outdated compatibility layers. Users should now directly use the non-deprecated types and functions (e.g., , , , , , ).
🔗 查看本次提交
GitHub
Refactor: Remove deprecated type aliases and `RefractionValue` function · suqi8/OShin@25f8d47
This commit removes deprecated type aliases and the `RefractionValue` function from `Compat.kt`.
The following deprecated elements have been removed:
- `LiquidGlassStyle` (alias for `GlassStyle`)
...
The following deprecated elements have been removed:
- `LiquidGlassStyle` (alias for `GlassStyle`)
...
❤4
🚀 OShin New CI Build!
refactor(ui): 移动UI组件并更新“关于”页面
本次提交包含一个主要的结构重构和一些次要的内容更新。
1. UI组件重构 (主要变更):
- 将所有可复用的UI组件(如 Card, FunSwitch, FunArrow 等)从 移动到了一个新的、更通用的包 中。
- 此举旨在提高代码的模块化和可维护性,使组件结构更清晰。
- 相应地,更新了整个应用中所有对这些组件的 引用。
2. “关于”页面内容更新:
- 致谢名单: 在“贡献者”页面新增了 hamjin, kmiit, fatal1101 三位开发者。
- 引用项目: 在“引用项目”页面新增了 Free Notifications, Liquid Glass, HyperStar 等开源项目。
- 文案优化: 微调了“贡献者”和“引用项目”页面的介绍性文字。
🔗 查看本次提交
refactor(ui): 移动UI组件并更新“关于”页面
本次提交包含一个主要的结构重构和一些次要的内容更新。
1. UI组件重构 (主要变更):
- 将所有可复用的UI组件(如 Card, FunSwitch, FunArrow 等)从 移动到了一个新的、更通用的包 中。
- 此举旨在提高代码的模块化和可维护性,使组件结构更清晰。
- 相应地,更新了整个应用中所有对这些组件的 引用。
2. “关于”页面内容更新:
- 致谢名单: 在“贡献者”页面新增了 hamjin, kmiit, fatal1101 三位开发者。
- 引用项目: 在“引用项目”页面新增了 Free Notifications, Liquid Glass, HyperStar 等开源项目。
- 文案优化: 微调了“贡献者”和“引用项目”页面的介绍性文字。
🔗 查看本次提交
GitHub
refactor(ui): 移动UI组件并更新“关于”页面 · suqi8/OShin@acdd0c1
本次提交包含一个主要的结构重构和一些次要的内容更新。
**1. UI组件重构 (主要变更):**
- 将所有可复用的UI组件(如 Card, FunSwitch, FunArrow 等)从 `com.suqi8.oshin.ui.activity.funlistui` 移动到了一个新的、更通用的包 `com.suqi8.oshin.ui.activity.components` 中。
-...
**1. UI组件重构 (主要变更):**
- 将所有可复用的UI组件(如 Card, FunSwitch, FunArrow 等)从 `com.suqi8.oshin.ui.activity.funlistui` 移动到了一个新的、更通用的包 `com.suqi8.oshin.ui.activity.components` 中。
-...
❤2
🚀 OShin New CI Build!
chore(deps): 更新依赖版本号
- AGP 升级至 8.12.0
- Kotlin 升级至 2.2.10,KSP 同步更新
- Compose BOM 升级至 2025.08.00
- core-ktx 升级至 1.17.0
- Compose 正式版 1.9.0
- haze 升级至 1.6.10
🔗 查看本次提交
chore(deps): 更新依赖版本号
- AGP 升级至 8.12.0
- Kotlin 升级至 2.2.10,KSP 同步更新
- Compose BOM 升级至 2025.08.00
- core-ktx 升级至 1.17.0
- Compose 正式版 1.9.0
- haze 升级至 1.6.10
🔗 查看本次提交
GitHub
chore(deps): 更新依赖版本号 · suqi8/OShin@ab8cd8a
- AGP 升级至 8.12.0
- Kotlin 升级至 2.2.10,KSP 同步更新
- Compose BOM 升级至 2025.08.00
- core-ktx 升级至 1.17.0
- Compose 正式版 1.9.0
- haze 升级至 1.6.10
- Kotlin 升级至 2.2.10,KSP 同步更新
- Compose BOM 升级至 2025.08.00
- core-ktx 升级至 1.17.0
- Compose 正式版 1.9.0
- haze 升级至 1.6.10
❤2
🚀 OShin New CI Build!
Refactor(LiquidGlass): Decouple shadow rendering and improve color filter
This commit introduces several changes to the LiquidGlass library, primarily focusing on shadow rendering and color filter functionality, along with related updates in the application.
LiquidGlass Library Changes:
- Shadow Rendering Decoupling:
- : The property is now nullable (), allowing shadows to be completely disabled.
- :
- Shadow rendering is now handled by a new and . This decouples shadow logic from the main .
- A separate is introduced for to avoid conflicts with other graphics layer operations. The now uses this dedicated layer.
- recording for the main content is moved inside the block.
- : Removed direct handling of and properties and the associated settings for shadows. This responsibility is moved to .
- :
- The primary constructor now accepts a instead of a for more flexible shadow appearances. Other parameters like , , , and are added.
- A deprecated constructor is provided for backward compatibility.
- is now deprecated; should be used to disable shadows.
- & (New Files):
- Implement the new shadow rendering logic using for more sophisticated shadow effects.
- observes changes in and to update the shadow painter.
- Color Filter Improvements:
- :
- Changed default to .
- Changed to use the new with default brightness=0f, contrast=1.5f, saturation=1.5f.
- Removed the old and its usage.
- (New File):
- Introduced a new function that allows adjusting brightness, contrast, and saturation using a .
- Highlight Update:
- : The internal state is now tracked to correctly update the render effect when the property changes.
- : Changed default to for .
Application-Side Changes:
- Shape Updates:
- Replaced with (from the new dependency) in several UI components for potentially different corner rendering:
- : Image preview clip shape.
- : Dialog shape.
- : Card clip shape.
- : shape.
- : Avatar image clip shape.
- Dependency Update:
- : Added dependency.
- : Defined the library version.
These changes aim to make LiquidGlass shadows more flexible and performant by decoupling their rendering, and to provide a more comprehensive color filtering utility. The UI updates mainly involve adopting a new corner shape implementation.
🔗 查看本次提交
Refactor(LiquidGlass): Decouple shadow rendering and improve color filter
This commit introduces several changes to the LiquidGlass library, primarily focusing on shadow rendering and color filter functionality, along with related updates in the application.
LiquidGlass Library Changes:
- Shadow Rendering Decoupling:
- : The property is now nullable (), allowing shadows to be completely disabled.
- :
- Shadow rendering is now handled by a new and . This decouples shadow logic from the main .
- A separate is introduced for to avoid conflicts with other graphics layer operations. The now uses this dedicated layer.
- recording for the main content is moved inside the block.
- : Removed direct handling of and properties and the associated settings for shadows. This responsibility is moved to .
- :
- The primary constructor now accepts a instead of a for more flexible shadow appearances. Other parameters like , , , and are added.
- A deprecated constructor is provided for backward compatibility.
- is now deprecated; should be used to disable shadows.
- & (New Files):
- Implement the new shadow rendering logic using for more sophisticated shadow effects.
- observes changes in and to update the shadow painter.
- Color Filter Improvements:
- :
- Changed default to .
- Changed to use the new with default brightness=0f, contrast=1.5f, saturation=1.5f.
- Removed the old and its usage.
- (New File):
- Introduced a new function that allows adjusting brightness, contrast, and saturation using a .
- Highlight Update:
- : The internal state is now tracked to correctly update the render effect when the property changes.
- : Changed default to for .
Application-Side Changes:
- Shape Updates:
- Replaced with (from the new dependency) in several UI components for potentially different corner rendering:
- : Image preview clip shape.
- : Dialog shape.
- : Card clip shape.
- : shape.
- : Avatar image clip shape.
- Dependency Update:
- : Added dependency.
- : Defined the library version.
These changes aim to make LiquidGlass shadows more flexible and performant by decoupling their rendering, and to provide a more comprehensive color filtering utility. The UI updates mainly involve adopting a new corner shape implementation.
🔗 查看本次提交
GitHub
Refactor(LiquidGlass): Decouple shadow rendering and improve color fi… · suqi8/OShin@9484164
…lter
This commit introduces several changes to the LiquidGlass library, primarily focusing on shadow rendering and color filter functionality, along with related updates in the application.
**Li...
This commit introduces several changes to the LiquidGlass library, primarily focusing on shadow rendering and color filter functionality, along with related updates in the application.
**Li...
❤1
🚀 OShin New CI Build!
fix(hook): Catch Throwable instead of Exception in HookEntry
This commit changes the catch block in to catch instead of when attempting to load the dexkit library.
This change ensures that all types of errors, including subclasses which do not inherit from , are caught during the library loading process. This makes the error handling more robust.
🔗 查看本次提交
fix(hook): Catch Throwable instead of Exception in HookEntry
This commit changes the catch block in to catch instead of when attempting to load the dexkit library.
This change ensures that all types of errors, including subclasses which do not inherit from , are caught during the library loading process. This makes the error handling more robust.
🔗 查看本次提交
GitHub
fix(hook): Catch Throwable instead of Exception in HookEntry · suqi8/OShin@ef1ab41
This commit changes the catch block in `HookEntry.kt` to catch `Throwable` instead of `Exception` when attempting to load the "dexkit" library.
This change ensures that all types...
This change ensures that all types...