🚀 OShin New CI Build!
Refactor(UI): Minor UI adjustments in About and Main screens
This commit introduces small UI changes:
- About Screen ():
- The Check Update button has been commented out, effectively removing it from the UI.
- Main Screen ():
- The bottom navigation bar () is now conditionally displayed using . It will be hidden when the of the is 3 (presumably the About or a similar settings-like page).
🔗 查看本次提交
Refactor(UI): Minor UI adjustments in About and Main screens
This commit introduces small UI changes:
- About Screen ():
- The Check Update button has been commented out, effectively removing it from the UI.
- Main Screen ():
- The bottom navigation bar () is now conditionally displayed using . It will be hidden when the of the is 3 (presumably the About or a similar settings-like page).
🔗 查看本次提交
GitHub
Refactor(UI): Minor UI adjustments in About and Main screens · suqi8/OShin@89781b4
This commit introduces small UI changes:
- **About Screen (`Main_About.kt`):**
- The "Check Update" button has been commented out, effectively removing it from the UI.
- **Mai...
- **About Screen (`Main_About.kt`):**
- The "Check Update" button has been commented out, effectively removing it from the UI.
- **Mai...
🚀 OShin New CI Build!
feat(UI): Implement auto-hiding BottomBar on scroll
This commit introduces an auto-hiding behavior for the bottom navigation bar in . The BottomBar now dynamically hides when the user scrolls down on the current page and reappears when scrolling up or when the Pager's current page changes.
Key Changes in :
- Auto-Hide Logic:
- A new state controls the visibility of the BottomBar.
- :
- Monitors .
- If the offset is close to the top (>= -5), the BottomBar is always visible.
- Calculates the scroll delta and hides the BottomBar if scrolling down past a (50 pixels).
- Shows the BottomBar if scrolling up past the .
- :
- Ensures is reset to whenever the Pager's page changes.
- BottomBar :
- The parameter of the wrapping the BottomBar is now tied to .
- and animations are used for smooth transitions.
- Access:
- Simplified the retrieval of by directly indexing with .
- Minor Fix:
- Corrected a typo in within the block (changed to ).
Key Changes in :
- Dual Cell Current Calculation:
- Modified the calculation for when is true. Instead of multiplying by 2, is now directly multiplied by 2 before being converted to Amperes. This ensures the correct current value is used for wattage calculation.
🔗 查看本次提交
feat(UI): Implement auto-hiding BottomBar on scroll
This commit introduces an auto-hiding behavior for the bottom navigation bar in . The BottomBar now dynamically hides when the user scrolls down on the current page and reappears when scrolling up or when the Pager's current page changes.
Key Changes in :
- Auto-Hide Logic:
- A new state controls the visibility of the BottomBar.
- :
- Monitors .
- If the offset is close to the top (>= -5), the BottomBar is always visible.
- Calculates the scroll delta and hides the BottomBar if scrolling down past a (50 pixels).
- Shows the BottomBar if scrolling up past the .
- :
- Ensures is reset to whenever the Pager's page changes.
- BottomBar :
- The parameter of the wrapping the BottomBar is now tied to .
- and animations are used for smooth transitions.
- Access:
- Simplified the retrieval of by directly indexing with .
- Minor Fix:
- Corrected a typo in within the block (changed to ).
Key Changes in :
- Dual Cell Current Calculation:
- Modified the calculation for when is true. Instead of multiplying by 2, is now directly multiplied by 2 before being converted to Amperes. This ensures the correct current value is used for wattage calculation.
🔗 查看本次提交
GitHub
feat(UI): Implement auto-hiding BottomBar on scroll · suqi8/OShin@09bf7de
This commit introduces an auto-hiding behavior for the bottom navigation bar in `MainActivity`. The BottomBar now dynamically hides when the user scrolls down on the current page and reappears when...
🍌1
🚀 OShin New CI Build!
feat(SystemUI): Add Show Real Battery feature and UI refactor
This commit introduces a new feature to display the real battery level in the status bar by reading from if available. It also includes minor UI code formatting improvements in .
Key Changes:
- (New Hook):
- Created a new named .
- Hooks the method of .
- If the showrealbattery preference is enabled:
- When a intent is received, it attempts to read the battery level from .
- If successful, it overrides the and extras in the intent with the value read from the system file.
- This effectively shows a potentially more accurate battery percentage in the status bar for devices that provide this information.
- (Hook Registration):
- The new hook is now loaded via .
- (SystemUI Settings):
- Added a new (toggle switch) to the SystemUI settings screen:
- Title: Show real battery (from ).
- Summary: Only show real battery in status bar... (from ).
- Preference key: showrealbattery.
- Category: systemui.
- :
- Added new string resources:
- : 显示真实电量 (Show real battery)
- : 仅在状态栏显示真实电量,其他应用读取的电量不受影响 (Only show real battery in status bar, battery level read by other apps is not affected)
- :
- Added Show real battery to the list of available features, linking it to the systemui category.
- (UI Refinements):
- Applied minor code formatting changes, primarily involving adding chains on new lines for better readability in various composables (e.g., , , , , , ). This does not change functionality but improves code style.
🔗 查看本次提交
feat(SystemUI): Add Show Real Battery feature and UI refactor
This commit introduces a new feature to display the real battery level in the status bar by reading from if available. It also includes minor UI code formatting improvements in .
Key Changes:
- (New Hook):
- Created a new named .
- Hooks the method of .
- If the showrealbattery preference is enabled:
- When a intent is received, it attempts to read the battery level from .
- If successful, it overrides the and extras in the intent with the value read from the system file.
- This effectively shows a potentially more accurate battery percentage in the status bar for devices that provide this information.
- (Hook Registration):
- The new hook is now loaded via .
- (SystemUI Settings):
- Added a new (toggle switch) to the SystemUI settings screen:
- Title: Show real battery (from ).
- Summary: Only show real battery in status bar... (from ).
- Preference key: showrealbattery.
- Category: systemui.
- :
- Added new string resources:
- : 显示真实电量 (Show real battery)
- : 仅在状态栏显示真实电量,其他应用读取的电量不受影响 (Only show real battery in status bar, battery level read by other apps is not affected)
- :
- Added Show real battery to the list of available features, linking it to the systemui category.
- (UI Refinements):
- Applied minor code formatting changes, primarily involving adding chains on new lines for better readability in various composables (e.g., , , , , , ). This does not change functionality but improves code style.
🔗 查看本次提交
GitHub
feat(SystemUI): Add "Show Real Battery" feature and UI refactor · suqi8/OShin@c0f0113
This commit introduces a new feature to display the "real" battery level in the status bar by reading from `/sys/class/oplus_chg/battery/chip_soc` if available. It also includes m...
❤2
🚀 OShin New CI Build!
Refactor(VerifyDialog): Simplify verification process to text-only input
This commit streamlines the verification dialog in by removing the molecule-based graphical verification option and relying solely on text input for validation.
Key Changes:
- Removed Molecule Verification:
- The composable and its related logic, including , , data classes, , , and , have been removed.
- The enum and the UI for switching between verification modes are also removed.
- Simplified Text Verification:
- The now directly uses .
- The verification prompt has been updated to ask for the module download address.
- The summary text in has been updated to reflect the text-only verification.
- The 验证 (Verify) button in is now a using instead of a standard .
- Version Check Update:
- The version check for displaying the dialog now compares against the major and minor version parts (e.g., 1.0) of instead of the full version string.
- is calculated from for this comparison.
- Accepted URLs for Verification:
- The verification logic in now accepts two GitHub URLs as valid:
-
-
- Minor UI Adjustments:
- Removed the 请输入模块下载地址进行验证。 text from as it's now part of the summary.
- Adjusted spacing.
The dialog now only presents a text field where users must input the module's download URL. The verification succeeds if the input contains either of the specified GitHub repository paths.
🔗 查看本次提交
Refactor(VerifyDialog): Simplify verification process to text-only input
This commit streamlines the verification dialog in by removing the molecule-based graphical verification option and relying solely on text input for validation.
Key Changes:
- Removed Molecule Verification:
- The composable and its related logic, including , , data classes, , , and , have been removed.
- The enum and the UI for switching between verification modes are also removed.
- Simplified Text Verification:
- The now directly uses .
- The verification prompt has been updated to ask for the module download address.
- The summary text in has been updated to reflect the text-only verification.
- The 验证 (Verify) button in is now a using instead of a standard .
- Version Check Update:
- The version check for displaying the dialog now compares against the major and minor version parts (e.g., 1.0) of instead of the full version string.
- is calculated from for this comparison.
- Accepted URLs for Verification:
- The verification logic in now accepts two GitHub URLs as valid:
-
-
- Minor UI Adjustments:
- Removed the 请输入模块下载地址进行验证。 text from as it's now part of the summary.
- Adjusted spacing.
The dialog now only presents a text field where users must input the module's download URL. The verification succeeds if the input contains either of the specified GitHub repository paths.
🔗 查看本次提交
GitHub
Refactor(VerifyDialog): Simplify verification process to text-only input · suqi8/OShin@675a946
This commit streamlines the verification dialog in `MainActivity.kt` by removing the molecule-based graphical verification option and relying solely on text input for validation.
**Key Changes:**
...
**Key Changes:**
...
🚀 OShin New CI Build!
Refactor(LiquidGlass): Improve performance and API consistency
This commit introduces several refactorings and improvements to the LiquidGlass library, focusing on performance, API consistency, and resource management.
Key Changes:
- & :
- Introduced : A new optional parameter has been added to the modifier and . This allows for custom transformations to be applied to the layer that draws the blurred background content before it's used as the glass effect.
- The recording for the background content now conditionally applies this .
- Sampler Lifecycle & Update Logic:
- flag introduced in to track when the changes.
- : New private function to handle sampler re-initialization, job cancellation, and recreation when the sampler changes. This improves resource management and ensures the correct sampler is active.
- Sampler layer recording is now also triggered by or .
- Resource Management:
- Sampler layer () is now properly released and nulled in and when the sampler changes in .
- State Update Granularity:
- The main function in now checks for changes in and separately to trigger specific update paths (, flag), leading to more targeted redraws.
- & :
- Simplified Shape Update: Removed and the explicit mechanism. The shape is now directly read from within the .
- Invalidation Logic: is now called when either or changes in the function.
- Placement: Uses for consistency.
- :
- Invalidation on Property Change: When , , or properties are set, is reset to and is called. This ensures the highlight is correctly redrawn when these dependencies change.
- Drawing Content When No Highlight: If , it now uses instead of an empty to ensure the underlying content is drawn.
- :
- UI Thread for Callback: The callback is now invoked directly on the thread where is called (presumably the main thread if called from Compose UI), removing the explicit . This relies on the caller to manage thread context for the callback.
- Bitmap operations (, ) are now wrapped in to ensure they run off the main thread.
- :
- Minor reordering of member declarations.
- (Deleted) & :
- The standalone file and its function have been removed.
- The function has been moved into and marked as , guiding users to use the more general instead.
- :
- Removed property from the data class and its instance.
- :
- Minor code simplification in by directly accessing , , and .
- :
- Removed KDoc comments for the properties as they are self-explanatory.
These changes aim to make the LiquidGlass library more efficient, robust, and easier to use by improving its internal update mechanisms and API design.
🔗 查看本次提交
Refactor(LiquidGlass): Improve performance and API consistency
This commit introduces several refactorings and improvements to the LiquidGlass library, focusing on performance, API consistency, and resource management.
Key Changes:
- & :
- Introduced : A new optional parameter has been added to the modifier and . This allows for custom transformations to be applied to the layer that draws the blurred background content before it's used as the glass effect.
- The recording for the background content now conditionally applies this .
- Sampler Lifecycle & Update Logic:
- flag introduced in to track when the changes.
- : New private function to handle sampler re-initialization, job cancellation, and recreation when the sampler changes. This improves resource management and ensures the correct sampler is active.
- Sampler layer recording is now also triggered by or .
- Resource Management:
- Sampler layer () is now properly released and nulled in and when the sampler changes in .
- State Update Granularity:
- The main function in now checks for changes in and separately to trigger specific update paths (, flag), leading to more targeted redraws.
- & :
- Simplified Shape Update: Removed and the explicit mechanism. The shape is now directly read from within the .
- Invalidation Logic: is now called when either or changes in the function.
- Placement: Uses for consistency.
- :
- Invalidation on Property Change: When , , or properties are set, is reset to and is called. This ensures the highlight is correctly redrawn when these dependencies change.
- Drawing Content When No Highlight: If , it now uses instead of an empty to ensure the underlying content is drawn.
- :
- UI Thread for Callback: The callback is now invoked directly on the thread where is called (presumably the main thread if called from Compose UI), removing the explicit . This relies on the caller to manage thread context for the callback.
- Bitmap operations (, ) are now wrapped in to ensure they run off the main thread.
- :
- Minor reordering of member declarations.
- (Deleted) & :
- The standalone file and its function have been removed.
- The function has been moved into and marked as , guiding users to use the more general instead.
- :
- Removed property from the data class and its instance.
- :
- Minor code simplification in by directly accessing , , and .
- :
- Removed KDoc comments for the properties as they are self-explanatory.
These changes aim to make the LiquidGlass library more efficient, robust, and easier to use by improving its internal update mechanisms and API design.
🔗 查看本次提交
GitHub
Refactor(LiquidGlass): Improve performance and API consistency · suqi8/OShin@a396ac2
This commit introduces several refactorings and improvements to the LiquidGlass library, focusing on performance, API consistency, and resource management.
**Key Changes:**
- **`LiquidGlassModifi...
**Key Changes:**
- **`LiquidGlassModifi...
🚀 OShin New CI Build!
Refactor(PadConnect): Improve target class searching for unlock bypass
This commit refines the class searching mechanism within the Bypass Same Account Unlock Safety Check feature for Oplus PadConnect.
Key Changes in :
- Targeted Package Search:
- Added to the block.
- This narrows down the class search to the package, potentially improving the accuracy and efficiency of finding the target class responsible for the unlock check.
The string matcher remains the primary condition for identifying the class.
🔗 查看本次提交
Refactor(PadConnect): Improve target class searching for unlock bypass
This commit refines the class searching mechanism within the Bypass Same Account Unlock Safety Check feature for Oplus PadConnect.
Key Changes in :
- Targeted Package Search:
- Added to the block.
- This narrows down the class search to the package, potentially improving the accuracy and efficiency of finding the target class responsible for the unlock check.
The string matcher remains the primary condition for identifying the class.
🔗 查看本次提交
GitHub
Refactor(PadConnect): Improve target class searching for unlock bypass · suqi8/OShin@c3d4d4d
This commit refines the class searching mechanism within the "Bypass Same Account Unlock Safety Check" feature for Oplus PadConnect.
**Key Changes in `BypassSameAccountUnlockChec...
**Key Changes in `BypassSameAccountUnlockChec...
🚀 OShin New CI Build!
Refactor(HardwareIndicator): Introduce unified indicator container and refine layout
fix #39
This commit refactors the Hardware Indicator in SystemUI to use a single container for both power and temperature indicators. This simplifies the view hierarchy and management of indicators.
Key Changes in :
- Unified Indicator Container:
- A new () is created if either power or temperature indicators are enabled.
- This container is added to the 's parent next to the view.
- Individual indicators (power, temperature) are now added as children to this .
- The 's visibility is synced with the 's visibility in .
- Resource Management ():
- is now a property of to manage its lifecycle.
- now also removes the from its parent when the is detached.
- Layout Adjustments:
- The has a of 4dp.
- Individual indicators within the container now have and of 2dp, effectively creating a 4dp spacing between them if both are present.
- Removed the logic for as the container is now always placed relative to the .
- Removed as indicators are added directly to the container.
- Initialization Logic:
- The and indicators are only created and added if at least one of the indicators (power or temperature) is enabled in preferences.
- Minor Simplifications:
- Removed redundant comments and simplified some variable names.
- Removed direct setting of padding for individual indicator TextViews as spacing is managed by margins and the container.
This change aims to improve the layout structure and robustness of the Hardware Indicator display.
🔗 查看本次提交
Refactor(HardwareIndicator): Introduce unified indicator container and refine layout
fix #39
This commit refactors the Hardware Indicator in SystemUI to use a single container for both power and temperature indicators. This simplifies the view hierarchy and management of indicators.
Key Changes in :
- Unified Indicator Container:
- A new () is created if either power or temperature indicators are enabled.
- This container is added to the 's parent next to the view.
- Individual indicators (power, temperature) are now added as children to this .
- The 's visibility is synced with the 's visibility in .
- Resource Management ():
- is now a property of to manage its lifecycle.
- now also removes the from its parent when the is detached.
- Layout Adjustments:
- The has a of 4dp.
- Individual indicators within the container now have and of 2dp, effectively creating a 4dp spacing between them if both are present.
- Removed the logic for as the container is now always placed relative to the .
- Removed as indicators are added directly to the container.
- Initialization Logic:
- The and indicators are only created and added if at least one of the indicators (power or temperature) is enabled in preferences.
- Minor Simplifications:
- Removed redundant comments and simplified some variable names.
- Removed direct setting of padding for individual indicator TextViews as spacing is managed by margins and the container.
This change aims to improve the layout structure and robustness of the Hardware Indicator display.
🔗 查看本次提交
GitHub
Refactor(HardwareIndicator): Introduce unified indicator container an… · suqi8/OShin@f13210a
…d refine layout
fix #39
This commit refactors the Hardware Indicator in SystemUI to use a single `LinearLayout` container for both power and temperature indicators. This simplifies the view hiera...
fix #39
This commit refactors the Hardware Indicator in SystemUI to use a single `LinearLayout` container for both power and temperature indicators. This simplifies the view hiera...
🚀 OShin New CI Build!
Refactor(HardwareIndicator): Post UI operations to message queue for stability
This commit modifies the hook for SystemUI to enhance stability when adding custom indicators next to the status bar clock.
Key Change:
- Delayed UI Operations:
- All view creation and attachment operations related to the hardware indicators (container, power indicator, temperature indicator) are now posted to the end of the UI thread's message queue using .
- Inside the block, an additional check is performed before proceeding with UI manipulations.
- The for the indicator container has been reduced from to .
This change aims to prevent potential race conditions where the custom indicator views might be added or manipulated before the system's own layout process for the clock and its parent is fully complete. By posting these operations, we ensure they execute after the initial layout pass, which should reduce the likelihood of issues like notification icons disappearing.
🔗 查看本次提交
Refactor(HardwareIndicator): Post UI operations to message queue for stability
This commit modifies the hook for SystemUI to enhance stability when adding custom indicators next to the status bar clock.
Key Change:
- Delayed UI Operations:
- All view creation and attachment operations related to the hardware indicators (container, power indicator, temperature indicator) are now posted to the end of the UI thread's message queue using .
- Inside the block, an additional check is performed before proceeding with UI manipulations.
- The for the indicator container has been reduced from to .
This change aims to prevent potential race conditions where the custom indicator views might be added or manipulated before the system's own layout process for the clock and its parent is fully complete. By posting these operations, we ensure they execute after the initial layout pass, which should reduce the likelihood of issues like notification icons disappearing.
🔗 查看本次提交
GitHub
Refactor(HardwareIndicator): Post UI operations to message queue for … · suqi8/OShin@b066aaf
…stability
This commit modifies the `HardwareIndicator.kt` hook for SystemUI to enhance stability when adding custom indicators next to the status bar clock.
**Key Change:**
- **Delayed UI Opera...
This commit modifies the `HardwareIndicator.kt` hook for SystemUI to enhance stability when adding custom indicators next to the status bar clock.
**Key Change:**
- **Delayed UI Opera...
❤3
🚀 OShin New CI Build!
Refactor: Update KavaRef usage and bump dependencies
This commit updates the usage of KavaRef library for reflection and bumps various dependencies to their latest versions.
Key Changes:
- KavaRef Update:
- Replaced with in:
-
-
- This change aligns with potential API updates or best practices in the KavaRef library.
- Dependency Updates ():
- AGP & Kotlin:
- : ->
- : ->
- : ->
- AndroidX & Jetpack:
- : ->
- : ->
- : ->
- : ->
- : ->
- : ->
- Third-party Libraries:
- : ->
- : ->
- : ->
- Xposed & YukiHook API:
- : ->
- : ->
- : ->
- : (new version entry, likely updated from 's previous version)
- The dependency version reference was explicitly updated.
These changes ensure the project uses the latest library versions for improved features, bug fixes, and compatibility, along with adapting to any changes in the KavaRef reflection library.
🔗 查看本次提交
Refactor: Update KavaRef usage and bump dependencies
This commit updates the usage of KavaRef library for reflection and bumps various dependencies to their latest versions.
Key Changes:
- KavaRef Update:
- Replaced with in:
-
-
- This change aligns with potential API updates or best practices in the KavaRef library.
- Dependency Updates ():
- AGP & Kotlin:
- : ->
- : ->
- : ->
- AndroidX & Jetpack:
- : ->
- : ->
- : ->
- : ->
- : ->
- : ->
- Third-party Libraries:
- : ->
- : ->
- : ->
- Xposed & YukiHook API:
- : ->
- : ->
- : ->
- : (new version entry, likely updated from 's previous version)
- The dependency version reference was explicitly updated.
These changes ensure the project uses the latest library versions for improved features, bug fixes, and compatibility, along with adapting to any changes in the KavaRef reflection library.
🔗 查看本次提交
GitHub
Refactor: Update KavaRef usage and bump dependencies · suqi8/OShin@c0ef02a
This commit updates the usage of KavaRef library for reflection and bumps various dependencies to their latest versions.
**Key Changes:**
- **KavaRef Update:**
- Replaced `instance.resolve()`...
**Key Changes:**
- **KavaRef Update:**
- Replaced `instance.resolve()`...
❤5
🚀 OShin New CI Build!
Refactor(PadConnect): Refine constructor hook for unlock bypass
This commit revises the method for bypassing the same account unlock safety check in . Instead of hooking a general method identified by parameter count, it now specifically targets and modifies the constructor of the relevant class.
Key Changes in :
- Constructor Hooking:
- The hook now targets the public constructor of the class identified by the string .
- It specifically looks for a constructor with the parameter signature .
- Argument Modification:
- In the hook of this constructor, if the second argument (the ) is (indicating a failed safety check), it is changed to .
- Removed General Method Hook:
- The previous approach of finding a method with and hooking it has been removed.
This change aims for a more precise and stable hook by targeting a specific constructor signature, reducing the chance of unintentionally hooking unrelated methods.
🔗 查看本次提交
Refactor(PadConnect): Refine constructor hook for unlock bypass
This commit revises the method for bypassing the same account unlock safety check in . Instead of hooking a general method identified by parameter count, it now specifically targets and modifies the constructor of the relevant class.
Key Changes in :
- Constructor Hooking:
- The hook now targets the public constructor of the class identified by the string .
- It specifically looks for a constructor with the parameter signature .
- Argument Modification:
- In the hook of this constructor, if the second argument (the ) is (indicating a failed safety check), it is changed to .
- Removed General Method Hook:
- The previous approach of finding a method with and hooking it has been removed.
This change aims for a more precise and stable hook by targeting a specific constructor signature, reducing the chance of unintentionally hooking unrelated methods.
🔗 查看本次提交
GitHub
Refactor(PadConnect): Refine constructor hook for unlock bypass · suqi8/OShin@3f83f12
This commit revises the method for bypassing the same account unlock safety check in `com.oplus.padconnect`. Instead of hooking a general method identified by parameter count, it now specifically t...
🚀 OShin New CI Build!
Refactor: Update dependencies and replace G2RoundedCornerShape with ContinuousRoundedRectangle
This commit updates several dependencies and replaces the usage of with from the library.
Key Changes:
- Dependency Updates ():
- : ->
- : -> (removed from diff, likely same or handled elsewhere)
- : ->
- : ->
- : ->
- : ->
- Shape Replacement:
- In , , , and , all instances of have been replaced with . This affects the styling of various UI elements like dialogs, image previews, and TopAppBar.
- Icon Update ():
- The app icon's color scheme has been changed from a purple/magenta theme to a warm orange/yellow sunrise theme.
- Comments in the XML have been updated to reflect the new color descriptions.
- Update:
- Added and to the file.
🔗 查看本次提交
Refactor: Update dependencies and replace G2RoundedCornerShape with ContinuousRoundedRectangle
This commit updates several dependencies and replaces the usage of with from the library.
Key Changes:
- Dependency Updates ():
- : ->
- : -> (removed from diff, likely same or handled elsewhere)
- : ->
- : ->
- : ->
- : ->
- Shape Replacement:
- In , , , and , all instances of have been replaced with . This affects the styling of various UI elements like dialogs, image previews, and TopAppBar.
- Icon Update ():
- The app icon's color scheme has been changed from a purple/magenta theme to a warm orange/yellow sunrise theme.
- Comments in the XML have been updated to reflect the new color descriptions.
- Update:
- Added and to the file.
🔗 查看本次提交
GitHub
Refactor: Update dependencies and replace G2RoundedCornerShape with C… · suqi8/OShin@6f8a023
…ontinuousRoundedRectangle
This commit updates several dependencies and replaces the usage of `G2RoundedCornerShape` with `ContinuousRoundedRectangle` from the `com.kyant.capsule` library.
**Key ...
This commit updates several dependencies and replaces the usage of `G2RoundedCornerShape` with `ContinuousRoundedRectangle` from the `com.kyant.capsule` library.
**Key ...