Fiks desimalkomma i delingsteksten sin geo:-URI ved norsk locale

share_body brukte %3$.6f/%4$.6f, og Resources.getString() formaterer med
ressurs-locale — nb/nn gir desimalkomma, så delingsteksten inneholdt
"geo:59,918829,10,734887" (ugyldig URI) og en tvetydig koordinatlinje.
Bekreftet med jshell (Formatter + Locale nb) og på emulator.

Fiks: shareShelter() pre-formaterer lat/lon med Locale.US og sender dem
som %3$s/%4$s. Samme regel som openInMapApp() (daf8b62). PWA-en var
ikke rammet (toFixed er locale-uavhengig).

Verifisert i delingsarket på emulator (nb): "geo:59.918829,10.734887".

Forgejo: #20

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FrDGDmN2WAXvNPS85rWJGK
This commit is contained in:
Ole-Morten Duesund 2026-08-17 13:02:18 +02:00
commit 32af7e04c4
5 changed files with 12 additions and 5 deletions

View file

@ -808,12 +808,18 @@ class MainActivity : AppCompatActivity(), SensorEventListener {
// upstream re-rolls lokalId on every Geonorge export, which would
// break cross-device links. See pendingDeepLinkRomnr comment.
val deepLink = "https://${BuildConfig.DEEP_LINK_DOMAIN}/shelter/${shelter.romnr}"
// Pre-format coordinates with Locale.US and pass them as %s. Letting
// getString() format %.6f itself would use the resource locale, and
// nb/nn produce a decimal comma — turning the geo: line into an
// unparsable "geo:59,912345,10,738991". Same rule as openInMapApp().
val lat = String.format(Locale.US, "%.6f", shelter.latitude)
val lon = String.format(Locale.US, "%.6f", shelter.longitude)
val body = getString(
R.string.share_body,
shelter.adresse,
shelter.plasser,
shelter.latitude,
shelter.longitude,
lat,
lon,
deepLink
)

View file

@ -57,7 +57,7 @@
<!-- Deling -->
<string name="share_subject">Tilfluktsrom</string>
<string name="share_body">Tilfluktsrom: %1$s\n%2$d plasser\n%3$.6f, %4$.6f\ngeo:%3$.6f,%4$.6f\n%5$s</string>
<string name="share_body">Tilfluktsrom: %1$s\n%2$d plasser\n%3$s, %4$s\ngeo:%3$s,%4$s\n%5$s</string>
<string name="share_no_shelter">Ingen tilfluktsrom valgt</string>
<string name="navigate_no_map_app">Fant ingen kartapp koordinater kopiert: %1$s</string>

View file

@ -57,7 +57,7 @@
<!-- Deling -->
<string name="share_subject">Tilfluktsrom</string>
<string name="share_body">Tilfluktsrom: %1$s\n%2$d plassar\n%3$.6f, %4$.6f\ngeo:%3$.6f,%4$.6f\n%5$s</string>
<string name="share_body">Tilfluktsrom: %1$s\n%2$d plassar\n%3$s, %4$s\ngeo:%3$s,%4$s\n%5$s</string>
<string name="share_no_shelter">Ingen tilfluktsrom valt</string>
<string name="navigate_no_map_app">Fann ingen kartapp koordinatar kopierte: %1$s</string>

View file

@ -57,7 +57,7 @@
<!-- Sharing -->
<string name="share_subject">Emergency shelter</string>
<string name="share_body">Shelter: %1$s\n%2$d places\n%3$.6f, %4$.6f\ngeo:%3$.6f,%4$.6f\n%5$s</string>
<string name="share_body">Shelter: %1$s\n%2$d places\n%3$s, %4$s\ngeo:%3$s,%4$s\n%5$s</string>
<string name="share_no_shelter">No shelter selected</string>
<string name="navigate_no_map_app">No map app found coordinates copied: %1$s</string>