BREAKING CHANGE: Database schema updated from v3 to v9 (destructive migration) Major Features: - Statistics system: Track player performance (darts, points, matches, double-outs) - Match state management: ONGOING/COMPLETED/CANCELED with state-based queries - Settings activity: Day/night mode and standard game mode preferences - CheckoutEngine refactored to standalone utility class with 1/2/3-dart methods CheckoutConstants Overhaul: - Generate all possible double-out combinations (~37,200 routes) - Intelligent route selection (fewer darts > T20/T19 > higher doubles) - Store both optimal routes and complete alternatives GameActivity Enhancements: - Automatic statistics tracking on turn submission and win - Career average calculation and database updates - Fixed race condition with dart value capture Database Changes: - Added Statistics entity and StatisticsDao - Player ID migration: int → long for consistency - Match entity: added MatchState enum and helper methods - MatchDao: new state-based query methods Developer Experience: - Comprehensive JavaDoc across all new/modified classes - Test harness for checkout generation validation - Improved code organization with utils package separation
1.7 KiB
1.7 KiB