feat: implement comprehensive statistics tracking and refactor checkout engine
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
This commit is contained in:
@@ -3,7 +3,8 @@
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/midnight_black">
|
||||
android:background="@color/surface_primary"
|
||||
android:id="@+id/main">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/btnDeletePlayer"
|
||||
|
||||
Reference in New Issue
Block a user