Skip to content

feat: add SDK installation and API level management #2

Merged
wasabeef merged 8 commits intomainfrom
feat-adk-installer
Jun 15, 2025
Merged

feat: add SDK installation and API level management #2
wasabeef merged 8 commits intomainfrom
feat-adk-installer

Conversation

@wasabeef
Copy link
Copy Markdown
Owner

Summary

Add SDK installation feature and improve iOS simulator management.

Key Features

  • SDK Installation: Install/uninstall Android system images directly from TUI with progress tracking
  • iOS Simulator: Auto-quit Simulator.app when last device stops (prevents Dock icon lingering)
  • Code Quality: Major constants refactoring - removed 390+ hardcoded values

Changes

  • Add interactive API level management interface (i key)
  • Real-time system image installation with progress display
  • Modular constants structure (src/constants/)
  • Comprehensive log streaming tests
  • Updated documentation

Testing

All tests pass (100+ test cases)

wasabeef and others added 8 commits June 14, 2025 17:50
- Move loading indicator to log shortcuts area for better visibility
- Add animated moon emoji (🌑→🌕) that cycles through phases
- Loading/operation status temporarily replaces log shortcuts
- Add moon animation to device creation and cache loading dialogs
- Remove loading from device commands area to reduce clutter

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add EventBatcher for processing up to 50 events per frame
- Implement NavigationBatcher to accumulate rapid navigation inputs
- Add EventDebouncer to prevent duplicate event processing (5ms)
- Introduce 125 FPS frame rate control (8ms frame time)
- Add move_by_steps() method for efficient batch navigation
- Create constants module for performance configuration

This significantly improves responsiveness for rapid key presses
and eliminates the issue where navigation would stop during
continuous key holding.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
…rformance

- Detect host architecture (x86_64 vs aarch64/arm64) at compile time
- Prioritize native architecture when selecting system images
- On Apple Silicon Macs, prefer arm64-v8a for better performance
- On Intel Macs, prefer x86_64 architecture
- Add fallback logic when preferred architecture not available
- Add comprehensive tests for architecture detection

This ensures Android emulators run with native performance rather than
through emulation, significantly improving startup time and responsiveness.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add interactive API level management interface
  - Real-time system image installation with progress tracking
  - Install/uninstall Android system images from TUI
  - Dynamic API level discovery and status display
  - Scrollable interface with keyboard navigation

- Implement iOS simulator lifecycle management
  - Auto-quit Simulator.app when last device stops
  - Prevent Dock icon lingering

- Major constants refactoring
  - Create modular constants structure (src/constants/)
  - Remove 390+ hardcoded values across codebase
  - Platform-specific constants organization

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove unused import: crate::constants::ios::*
- Simplify async functions in non-macOS iOS manager stub
- Use explicit async fn syntax instead of impl Future

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add #[cfg(target_os = "macos")] to iOS constants import
- Prevents unused import warnings on non-macOS platforms

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@wasabeef wasabeef merged commit 2a87bb7 into main Jun 15, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant