Finalize the resolution enhancement logic, improve documentation coverage, and synchronize project artifacts to meet quality gates.
Important
All resolution dimensions (including custom ones) will now be forced to the nearest even integer. This ensures compatibility across all mobile GPU drivers and prevents common rendering artifacts.
[MODIFY] ContainerConfigDialog.kt
- Move
evenRound,gcd, andcalculateAspectRatiofromrememberContainerConfigDialogStaticDatato the top level of the file asinternalfunctions to allow reuse. - Update
applyScreenSizeToConfigto applyevenRoundto custom resolution inputs. - Add full KDoc to these functions to increase coverage.
Add comprehensive KDoc to the following Composable functions to bring project documentation coverage to >80%:
EmulationTabContentin EmulationTab.ktControllerTabContentin ControllerTab.ktWineTabContentin WineTab.ktWinComponentsTabContentin WinComponentsTab.ktEnvironmentTabContentin EnvironmentTab.ktDrivesTabContentin DrivesTab.ktAdvancedTabContentin AdvancedTab.kt
- Verify that
arrays.xmlcontains the correct 20:9 aspect ratios for 1200x540 and 1600x720.
- Update task.artifact.md and walkthrough.artifact.md to reflect the completed state.
- Ensure all file links use repository-relative paths.
- Run ResolutionUtilsTest.kt to verify
evenRound(forcing even integers),gcdcalculation, and aspect ratio formatting (including mobile-specific ratios like 19.5:9). - Command:
./gradlew :app:testDebugUnitTest --tests "app.gamenative.ui.component.dialog.ResolutionUtilsTest" - Run a build check to ensure no syntax errors.
- Verify KDoc presence and accuracy for all targeted functions.
- Render Compose previews for
ContainerConfigDialogto verify UI stability. - Verify that entering an odd number in the custom resolution dialog results in an even number being saved (e.g., 1281 -> 1282 or 1280).