You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.**