Cleanup: small-exhaust sweep from the 2026-07-16 debt review#1915
Merged
Conversation
Mechanical, behavior-neutral cleanup of the "exhaust" left by the map-focus sprint and the dependency-bump wave. No functional change. Docs / comment drift: - CLAUDE.md: Kotlin version parenthetical 2.3.20 -> 2.4.10. - libs.versions.toml: drop the stale "kotlin-stdlib-jdk7 pins to this" clause; correct the KSP comment (KSP2 is versioned independently of Kotlin, not the old kotlinVersion-kspVersion format). - build.gradle.kts: drop the DataStore "1.0.0 minSdk-21 pin / follow-up" comment (the follow-up bump to 1.2.1 already landed). - Remove orphaned "trip-stop dots" references in both renderers' class docs and clearStatic()/info-window comments (TripStopBitmaps was deleted in #1865). - MaterialSymbols: document the Symbols source axes (24dp/400/grade 0/outlined) so paths can be regenerated, and steer new icons to baseline_*_24.xml drawables. - MapRenderState: point the MapLibre route-badge deferral comments at #1913. Dead code / dedup: - Delete the test-only FocusedTripStops.stopIds convenience property; inline the flatten into its two test assertions. - Hoist the duplicated Web-Mercator constant (156543.033...) into a single shared METERS_PER_PIXEL_AT_EQUATOR_ZOOM_ZERO in map/render/GeoMath.kt; GoogleMapRenderer now uses it instead of an inlined, less-precise literal. Frozen dependencies: - Remove firebase-core 21.1.1 (discontinued empty umbrella artifact; firebase-analytics is already a direct dependency). - Remove kotlin-stdlib-jdk7 (merged into kotlin-stdlib since Kotlin 1.8; the Kotlin Gradle plugin adds stdlib automatically). Verified: obaGoogle + obaMaplibre Kotlin compile clean under -PwarningsAsErrors=true; FocusedTripRepositoryTest passes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mechanical, behavior-neutral cleanup of the "exhaust" left by the map-focus sprint (#1865/#1892/#1893) and the dependency-bump wave. This is the batch of small quick-wins from the 2026-07-16 debt review; the substantive findings are filed separately as #1901–#1912.
No functional change. Verified:
obaGoogle+obaMaplibreKotlin compile clean under-PwarningsAsErrors=true, andFocusedTripRepositoryTestpasses.Docs / comment drift
CLAUDE.md: Kotlin version parenthetical2.3.20→2.4.10.libs.versions.toml: drop the stale "kotlin-stdlib-jdk7 pins to this" clause; correct the KSP comment — KSP2 is versioned independently of Kotlin (plain semver), not the oldkotlinVersion-kspVersionformat.build.gradle.kts: drop the DataStore "1.0.0 was the minSdk-21 pin / adopt a newer one as a follow-up" comment — that bump (to 1.2.1) already landed.clearStatic()/ info-window comments (TripStopBitmaps.ktwas deleted in Add adjacency-aware stop and route focus to the map #1865; stops are now reconciled in place).MaterialSymbols: document the Symbols source axes (24dp / weight 400 / grade 0 / outlined) so the hand-transcribed paths can be regenerated or verified, and steer new icons towardbaseline_*_24.xmldrawables.MapRenderState: point the two MapLibre route-badge deferral comments at the new tracking issue MapLibre: implement the adjacency route-badge layer (parity with Google, #1827) #1913.Dead code / dedup
FocusedTripStops.stopIdsconvenience property (production code usesstopIdsByTripIddirectly); inline the flatten into its two test assertions.156543.033…) into a single sharedMETERS_PER_PIXEL_AT_EQUATOR_ZOOM_ZEROinmap/render/GeoMath.kt.GoogleMapRenderernow uses it instead of an inlined, less-precise literal (156543.03392).Frozen dependencies
firebase-core21.1.1 — a discontinued empty umbrella artifact;firebase-analyticsis already a direct dependency.kotlin-stdlib-jdk7— merged intokotlin-stdlibsince Kotlin 1.8; the Kotlin Gradle plugin adds the stdlib automatically.Deliberately left out of this PR
These appeared in the review's "small exhaust" list but are secretly medium-effort or behavior-touching, so they stay as their own follow-ups rather than riding in a mechanical cleanup:
CurrentFocusPersistenceparallel-arrays →@Parcelize(serialization change; its legacy-migration branch has no test).asyncfetch blocks inRouteMapController.focusStop(folds naturally into the controller refactor, RouteMapController: make presentation assembly pure and testable (1,024-line controller; focus-session machine untested) #1907).RouteBadgeLayout.MeasuredPath↔util/Polylinearc-length merge (needs a GeoPoint-basedPolyline).start()'s 5-param mirror ofShowRouteRequest(behavior-touching; tracked at MapViewModel.toRoute()'s two branches can silently diverge on which ShowRouteRequest fields they honor #1797).BoundedLruCachefromextrapolation/data/toutil/(cross-package import churn for low value).🤖 Generated with Claude Code