Skip to content

Tags: davidamacey/LineApp

Tags

v1.0

Toggle v1.0's commit message
feat: major improvements to ruler overlay functionality and stability

This commit implements significant enhancements to the Android Ruler App based on user requirements and testing feedback.

Core Functionality Improvements:
- Fix line orientation: Lines now display correctly as horizontal in landscape and vertical in portrait mode
- Remove line ordering constraints: Lines can now freely cross each other while maintaining their number/color identity
- Fix touch pass-through: Users can now interact with underlying apps while overlay is active
- Improve line persistence: Positions are properly saved when closing with X button

Bug Fixes:
- Fix crash on device rotation by using windowManager.currentWindowMetrics instead of display property
- Fix foreground service startup by calling startForeground() immediately in onCreate()
- Fix controls view resizing during orientation changes with proper layout updates
- Fix line position restoration with bounds checking to prevent off-screen placement
- Add safety checks for uninitialized SharedPreferences in onDestroy()

UI/UX Enhancements:
- Change yellow line color to gold (#FFD700) for better visibility
- Ensure all 7 lines are visible with proper default spacing
- Update control window sizing based on orientation (full screen in landscape, minimal in portrait)
- Add proper launcher icon assets with 7 colored lines design

Documentation Updates:
- Comprehensive README.md update with new features and usage instructions
- Add detailed troubleshooting section for common issues
- Document orientation-specific behavior and line management
- Include technical architecture details and recent updates
- Update PROJECT_PLAN.md with implementation details

Code Quality:
- Clean up unused resources (removed 3 unused drawable files, 1 unused layout)
- Consolidate SharedPreferences naming between MainActivity and RulerService
- Improve error handling throughout service lifecycle
- Add comprehensive logging for debugging

Technical Details:
- Min SDK: 26 (Android 8.0)
- Target SDK: 33 (Android 13)
- Uses TYPE_APPLICATION_OVERLAY for Android O+ compatibility
- Implements proper window flag combinations for touch handling

The app now provides a stable, user-friendly overlay ruler system that allows measurement across different apps while maintaining full interactivity with the underlying interface.

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

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