Skip to content

Conversation

@NmurtasDev
Copy link
Owner

  • Add jpackage Maven profiles for macOS (.app bundle) and Linux (app-image)
  • Add linux-deb profile for Debian/Ubuntu .deb packages
  • Update README with comprehensive build instructions for all platforms
  • Add platform-specific distributions table
  • Use exec-maven-plugin to invoke jpackage
  • JRE bundled automatically with all native packages

Profiles available:

  • macos: Creates macOS .app bundle
  • linux: Creates Linux app-image
  • linux-deb: Creates Debian .deb package

🤖 Generated with Claude Code

NmurtasDev and others added 10 commits October 30, 2025 16:31
- Add jpackage Maven profiles for macOS (.app bundle) and Linux (app-image)
- Add linux-deb profile for Debian/Ubuntu .deb packages
- Update README with comprehensive build instructions for all platforms
- Add platform-specific distributions table
- Use exec-maven-plugin to invoke jpackage
- JRE bundled automatically with all native packages

Profiles available:
- macos: Creates macOS .app bundle
- linux: Creates Linux app-image
- linux-deb: Creates Debian .deb package

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

Co-Authored-By: Claude <[email protected]>
- Replace hardcoded colors with UIManager system colors
- Add isDarkTheme() method to detect dark/light themes
- Set TextArea background, foreground, and caret colors from system
- Adjust header background based on theme (brighter for dark, darker for light)
- Ensure Label foreground uses system text color

Fixes white-on-white text issue on Gnome dark themes.

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

Co-Authored-By: Claude <[email protected]>
- Replace JList with card-based grid layout (5x2 = 10 cards per page)
- Add clickable device cards showing name, API level, target, and status
- Implement pagination with Previous/Next buttons for 10+ devices
- Add inline action buttons per card: Start, Stop, Rename, Delete
- Implement rename functionality using AVD .ini and .avd file manipulation
- Show device details on card click (collapsible)
- Add status indicator (Running/Stopped) with color coding
- Update refresh logic to populate card grid instead of list
- Add placeholder panels for empty grid slots
- Improve UX with tooltips on action buttons

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

Co-Authored-By: Claude <[email protected]>
- Replace technical "API" label with readable Android version names (e.g., "Android 14")
- Convert API levels to version names: API 36 -> Android 16, API 35 -> Android 15, etc.
- Remove confusing "Target" field
- Extract and display device type from config.ini (e.g., "Pixel 7")
- Add emoji icons for better visual clarity: 📱 for version, 📐 for device, 🟢/⚪ for status
- Format device names: pixel_7 -> Pixel 7
- Make version and status labels bold for better readability
- Support API levels from 21 (Android 5.0) to 36 (Android 16)

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

Co-Authored-By: Claude <[email protected]>
- Show device information ALWAYS visible (no need to click)
- Extract API level from config.ini (image.sysdir.1) for reliable detection
- Display layout: Name (bold) → Android version → Device type (gray) → Status
- Simplify UI: removed click-to-expand complexity
- Fix: version now correctly extracted from AVD system image path
- Use centered text alignment for all info labels
- Smaller font sizes for secondary info (11pt for version, 10pt for device/status)

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

Co-Authored-By: Claude <[email protected]>
- config.ini format uses "key = value" with spaces, not "key=value"
- Fix image.sysdir.1 parsing to handle spaces: "image.sysdir.1 = system-images/..."
- Fix hw.device.name parsing to handle spaces: "hw.device.name = pixel_7"
- Use line.indexOf('=') instead of startsWith with hardcoded offset
- Add debug logging to trace extraction process
- Now correctly extracts Android version (e.g., "Android 15" from API 35)
- Now correctly extracts device type (e.g., "Pixel 7" from pixel_7)

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

Co-Authored-By: Claude <[email protected]>
- Add isValidAvdName() method to validate AVD names
- Enforce pattern: letters, numbers, underscores, and hyphens only (^[a-zA-Z0-9_-]+$)
- Block spaces and special characters that could cause issues
- Validate on AVD creation (createAvdDialog)
- Validate on AVD rename (renameAvd)
- Show clear error message with allowed characters
- Add hint in rename dialog about valid characters
- Prevent file system issues and avdmanager errors

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

Co-Authored-By: Claude <[email protected]>
- Show official Android SDK License Agreement before SDK download
- Include key sections: Introduction, Accepting License, SDK License terms
- Display scrollable text area with full license text
- Add clickable link to view full license at developer.android.com/studio/terms
- Link opens in system default browser
- Two buttons: "I Accept" (allows download) and "I Decline" (cancels)
- Default selection is "I Decline" for safety
- Log user's acceptance/decline decision
- Prevent SDK download if license is not accepted
- Comply with Google's licensing requirements

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

Co-Authored-By: Claude <[email protected]>
- Convert SDK Configuration panel to accordion pattern
- Auto-collapse when SDK is already configured
- Auto-expand when SDK is not configured
- Add status indicator: ✓ Configured (green) / ⚠ Not Configured (orange)
- Header shows ▶/▼ arrow with toggle functionality
- Click header to expand/collapse SDK configuration
- Improves UX by hiding SDK setup when already done
- Similar pattern to existing log accordion

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

Co-Authored-By: Claude <[email protected]>
- Create GitHub Actions workflow for multi-platform releases
- Trigger on version tags (v3.0.0, v3.0.0-rc1, etc.)
- Auto-detect pre-release vs stable based on tag format
- Build Universal JAR, Windows EXE, Linux DEB, and Linux AppImage
- Upload all artifacts to GitHub Release automatically
- Generate release notes from commits
- Add comprehensive RELEASE.md documentation explaining:
  - How the release system works
  - How to create releases and pre-releases
  - Versioning best practices
  - Build matrix and file outputs
  - Troubleshooting guide
  - Complete release workflow example

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

Co-Authored-By: Claude <[email protected]>
@NmurtasDev NmurtasDev merged commit f4f1777 into main Oct 30, 2025
4 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.

2 participants