Repository navigation
Fix stuck location message; say "Current location" instead of "GPS" - #86
Merged
Merged
Conversation
Reported on a Pixel (Android 17): turning Location off and tapping the GPS option showed "GPS permission denied…", and the message stayed on screen after Location was switched back on. - Since Flutter 3.38 a SnackBar with an action persists until tapped (flutter/flutter#173084). Restore the pre-3.38 behaviour with persist: MediaQuery.accessibleNavigationOf(context): auto-dismiss, but keep it up for screen-reader users who need time to reach the action (a plain persist: false would take that away). - The message blamed permission even when the Location switch was off. requestGpsPermission() -> requestGpsAccess() returning GpsAccess {granted, serviceDisabled, permissionDenied}; show locationServicesOff (Settings -> system location settings) or locationPermissionDenied (Settings -> this app's settings page, new native openAppSettings). - Stop saying "GPS" to users: the app requests approximate location only, Android calls it "Location", and the Play disclosures say approximate. The picker option (hard-coded, untranslated 'GPS') and the chip label now use the existing, translated currentLocation string; locationSourceGps and gpsPermissionDenied are removed from all 36 ARB files; privacy policy wording updated. Internal names and stored keys (LocationSource.gps, use_gps, last_gps_*) are unchanged. - The chip is now one "city · label" text ellipsized at the end inside a Flexible, so the longer label is cut before the city and the row never overflows (worst case checked: Belarusian at 1.3x font). New strings in 36 languages were drafted without native review. Verified: make analyze, make test (164 Dart incl. 8 new + Kotlin), debug build, :app:lintDebug; on an API 30 emulator (be, 1.3x font): Location off -> "Location is off" message -> Location on -> message gone within 6 s; permission denied -> Settings opens app info. The two SnackBar tests each fail when the persist logic is broken. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
| Duplication | 6 |
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
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.
Reported on a Pixel (Android 17): turning Location off and tapping the GPS option showed "GPS permission denied…", and the message stayed on screen after Location was switched back on.
New strings in 36 languages were drafted without native review.
Verified: make analyze, make test (164 Dart incl. 8 new + Kotlin), debug build, :app:lintDebug; on an API 30 emulator (be, 1.3x font): Location off -> "Location is off" message -> Location on -> message gone within 6 s; permission denied -> Settings opens app info. The two SnackBar tests each fail when the persist logic is broken.