Skip to content

Release v0.0.4

Choose a tag to compare

@github-actions github-actions released this 06 Jul 11:41
· 3 commits to main since this release
Refactor: Improve UI and introduce NeoIcon component

This commit introduces several UI enhancements and refactors parts of the application:

**New Features & Enhancements:**

- **`NeoIcon` Composable:** A new reusable composable `NeoIcon` is introduced for displaying icons with tooltips. This is now used for navigation buttons (Back, Home, Recent) and the "Reload" devices button.
- **Enhanced `AndroidNavigationView`:**
    - Now uses `NeoIcon` for navigation controls.
    - Includes an expandable section with two modes:
        - **Keys Mode:** Provides "Up", "Down", "Left", "Right" arrow key functionality.
        - **Swipe Mode:** Provides "Swipe Up", "Swipe Down", "Swipe Left", "Swipe Right" functionality.
    - A Switch is used to toggle between "Keys" and "Swipe" modes.
- **Improved Device List Refresh:** The "Reload" button in `DeviceListView` now uses `NeoIcon` and directly calls `AdbInput.deviceList()`.
- **Unlock with Enter Key:** In `ControlsView`, the device can now be unlocked by pressing Enter in the password field.
- **New Icons:** Added SVG icons for reload, navigation back, home, and recent.

**Refactoring & Code Changes:**

- **`MainView` Layout Adjustments:** The layout logic in `MainView` has been updated to better adapt to different screen widths (`< 550.dp`, `< 840.dp`, and wider).
- **`AdbInput` Enhancements:**
    - `deviceList()` now returns the combined output of STDOUT and STDERR.
    - New functions `forceClose()`, `swipeUp()`, and `swipeDown()` added for convenience.
- **`ADBTerminalInputs` Updates:**
    - "fc" (force close) now uses `AdbInput.forceClose()`.
    - "sdown" and "sup" (swipe down/up) now use the new `AdbInput.swipeDown()` and `AdbInput.swipeUp()` methods.
- **`CommandView` & `ControlsView` Modifiers:** These composables now accept a `Modifier` parameter for better layout flexibility.
- **Removed Version Text:** The version text in `AboutView` has been commented out.
- **`ScreenSize` Sealed Class:** A new sealed class `ScreenSize` (Compact, Medium, Large) was added but is not yet utilized.

**Overall, these changes improve the user interface, add new control functionalities, and make the codebase more modular and maintainable.**