diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f411fb5..58bf2ed 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -23,11 +23,20 @@
+
+
+
+
+
+
+ pendingDeepLinkShelterId = null
+ val shelter = shelters.find { it.lokalId == id }
+ if (shelter != null) {
+ selectShelterByData(shelter)
+ } else {
+ Toast.makeText(this@MainActivity, R.string.error_shelter_not_found, Toast.LENGTH_SHORT).show()
+ }
+ }
currentLocation?.let { updateNearestShelters(it) }
}
} catch (e: CancellationException) {
@@ -598,6 +643,35 @@ class MainActivity : AppCompatActivity(), SensorEventListener {
}
}
+ /**
+ * Share the currently selected shelter via ACTION_SEND.
+ * Includes address, capacity, geo: URI (for non-app recipients),
+ * and a tilfluktsrom:// deep link (for app users).
+ */
+ private fun shareShelter() {
+ val selected = selectedShelter
+ if (selected == null) {
+ Toast.makeText(this, R.string.share_no_shelter, Toast.LENGTH_SHORT).show()
+ return
+ }
+
+ val shelter = selected.shelter
+ val body = getString(
+ R.string.share_body,
+ shelter.adresse,
+ shelter.plasser,
+ shelter.latitude,
+ shelter.longitude
+ )
+
+ val shareIntent = Intent(Intent.ACTION_SEND).apply {
+ type = "text/plain"
+ putExtra(Intent.EXTRA_SUBJECT, getString(R.string.share_subject))
+ putExtra(Intent.EXTRA_TEXT, body)
+ }
+ startActivity(Intent.createChooser(shareIntent, getString(R.string.action_share)))
+ }
+
/** Update the freshness indicator below the status bar with color-coded age. */
private fun updateFreshnessIndicator() {
val lastUpdate = repository.getLastUpdateMs()
diff --git a/app/src/main/res/drawable/ic_share.xml b/app/src/main/res/drawable/ic_share.xml
new file mode 100644
index 0000000..32f43dc
--- /dev/null
+++ b/app/src/main/res/drawable/ic_share.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index fefe456..821cc87 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -211,6 +211,16 @@
android:textSize="13sp"
tools:text="1.2 km - 400 plasser - Rom 776" />
+
+
diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml
index 59b9fcf..8bf7021 100644
--- a/app/src/main/res/values-nb/strings.xml
+++ b/app/src/main/res/values-nb/strings.xml
@@ -30,6 +30,7 @@
Lagre kart
Lagre nå
Tilbakestill navigasjonsvisning
+ Del tilfluktsrom
Ingen frakoblet kart lagret. Kartet krever internett.
@@ -41,6 +42,7 @@
Kunne ikke laste ned tilfluktsromdata. Sjekk internettforbindelsen.
Ingen lagrede data tilgjengelig. Koble til internett for å laste ned tilfluktsromdata.
Kompass er ikke tilgjengelig på denne enheten
+ Fant ikke tilfluktsrommet
Tilfluktsromdata oppdatert
Oppdatering mislyktes — bruker lagrede data
@@ -55,6 +57,11 @@
Data er %d dager gammel
Data er utdatert
+
+ Tilfluktsrom
+ Tilfluktsrom: %1$s\n%2$d plasser\n%3$.6f, %4$.6f\ngeo:%3$.6f,%4$.6f
+ Ingen tilfluktsrom valgt
+
Retning til tilfluktsrom, %s unna
diff --git a/app/src/main/res/values-nn/strings.xml b/app/src/main/res/values-nn/strings.xml
index d1dc1a0..7fefd34 100644
--- a/app/src/main/res/values-nn/strings.xml
+++ b/app/src/main/res/values-nn/strings.xml
@@ -30,6 +30,7 @@
Lagre kart
Lagre no
Tilbakestill navigasjonsvising
+ Del tilfluktsrom
Ingen fråkopla kart lagra. Kartet krev internett.
@@ -41,6 +42,7 @@
Kunne ikkje laste ned tilfluktsromdata. Sjekk internettilkoplinga.
Ingen lagra data tilgjengeleg. Kopla til internett for å laste ned tilfluktsromdata.
Kompass er ikkje tilgjengeleg på denne eininga
+ Fann ikkje tilfluktsrommet
Tilfluktsromdata oppdatert
Oppdatering mislukkast — brukar lagra data
@@ -55,6 +57,11 @@
Data er %d dagar gammal
Data er utdatert
+
+ Tilfluktsrom
+ Tilfluktsrom: %1$s\n%2$d plassar\n%3$.6f, %4$.6f\ngeo:%3$.6f,%4$.6f
+ Ingen tilfluktsrom valt
+
Retning til tilfluktsrom, %s unna
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 80d4f9d..6fbf843 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -30,6 +30,7 @@
Cache map
Cache now
Reset navigation view
+ Share shelter
No offline map cached. Map requires internet.
@@ -41,6 +42,7 @@
Could not download shelter data. Check your internet connection.
No cached data available. Connect to the internet to download shelter data.
Compass not available on this device
+ Shelter not found
Shelter data updated
Update failed — using cached data
@@ -55,6 +57,11 @@
Data is %d days old
Data is outdated
+
+ Emergency shelter
+ Shelter: %1$s\n%2$d places\n%3$.6f, %4$.6f\ngeo:%3$.6f,%4$.6f
+ No shelter selected
+
Direction to shelter, %s away
diff --git a/version.properties b/version.properties
index 4536802..5320a1d 100644
--- a/version.properties
+++ b/version.properties
@@ -1,4 +1,4 @@
versionMajor=1
-versionMinor=2
+versionMinor=3
versionPatch=0
-versionCode=3
+versionCode=4