Conversation
oschwald
commented
Apr 1, 2026
- fix: Forward enableLogging to DeviceDataCollector
- Add mise setup task for Android SDK provisioning
- Update some versions
enableLogging from SdkConfig was never passed to DeviceDataCollector, so all collector-level error logs were silently suppressed even when logging was explicitly enabled. Add the missing argument and a wiring test to prevent regression. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
`mise run setup` now accepts licenses, installs required platform packages (android-36, build-tools), and creates local.properties so the project builds in headless environments without Android Studio. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request introduces environment setup automation using mise, updates the Android SDK target to API 36, and bumps several dependency versions including Ktor and Dokka. It also ensures the enableLogging configuration is correctly passed to the DeviceDataCollector. Feedback was provided regarding the use of reflection in unit tests to access private fields, suggesting the use of internal properties instead to improve test stability.
| val collector = getField<DeviceDataCollector>(tracker, "deviceDataCollector") | ||
| val enableLogging = getField<Boolean>(collector, "enableLogging") |
There was a problem hiding this comment.
Using reflection to access private fields in tests is generally discouraged as it makes tests fragile to internal refactoring. Since DeviceDataCollector is an internal class and this test is part of the same module, consider making the enableLogging property internal or providing a package-private getter if you want to avoid reflection while still keeping it hidden from public API consumers.