Repository navigation
Privacy-safe ORS analytics and remove GPX logging - #99
Merged
Pygmalion69 merged 1 commit intoSep 21, 2026
Merged
Conversation
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.
Motivation
Description
OrsAnalytics.ktfor outcomes, start source, duration/query-length/result-position bucketing, and error classification.route_calculatedsurface withors_route_result, refactors theDirections.getRouteGpxcallback to distinguishsuccess,empty, and classifiederroroutcomes, and emits the new analytics withprofile,destination_count,start_source,duration_bucketand optionalerror_category(no raw messages, no geometry).ors_search_openedwhen the dialog is first shown, recordsors_search_resultaround the actual autocomplete call with timing,is_retryflag and query-length bucketing, and recordsors_search_selectionusing list index and displayed count; preservesCancellationExceptionbehavior and does not emit analytics for cancelled/superseded requests.AnalyticsTracker) with explicit typed methods and keepsNoOpAnalyticsTrackerfor FOSS, and updates the PlayFirebaseAnalyticsTrackerto log only the specified low-cardinality parameters (removes filename logging and the old waypoint parameter).OrsAnalyticsTest) and extendsPlaceSearchViewModelTestto validate analytics emission for success/empty/error/retry and that cancelled requests do not emit failures using an injected recording tracker.Testing
git diff --cached --check(no staged whitespace/errors reported).rg -n 'Log\.(d|e).*?(GPX:|query|coordinate|api.?key)|route_calculated' app/src/main/java app/src/play/java -iproduced no matches, confirming removal of full-GPX logging and legacyroute_calculatedusage../gradlew testFossDebugUnitTest --no-daemon,./gradlew assembleFossDebug --no-daemon, and./gradlew assemblePlayDebug --no-daemonbut these could not complete in this environment due to missing Android SDK configuration (ANDROID_HOME/ANDROID_SDK_ROOTunset), so unit/integration builds were not executed here.app/src/test(helper and extended ViewModel tests) are present and designed to run in CI; they could not be executed here for the same SDK/environment limitation but are self-contained and do not require Firebase.If you want, I can open a PR with this branch metadata or run the Gradle tasks in an environment with an Android SDK configured to execute the unit/build validation.
Codex Task