Tags: davidamacey/LineApp
Tags
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>