Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
4223f89
build successful
westnordost Jun 17, 2025
e483ade
remove duplicate layer
westnordost Jun 17, 2025
af7868f
add missing green color
westnordost Jun 17, 2025
3302cb9
fix utility function
westnordost Jun 17, 2025
348a72b
widen zoom range
westnordost Jun 17, 2025
d78042c
fade-in for barriers
westnordost Jun 17, 2025
cd87644
add test screen
westnordost Jun 17, 2025
5f33aa2
fix localized names
westnordost Jun 17, 2025
f3185f0
implemented some layers
westnordost Jun 18, 2025
d403a97
remove some resources (not possible to have them in multiplatform yet…
westnordost Jun 18, 2025
b82fb75
add GeometryMarkersLayers
westnordost Jun 19, 2025
0f9dbcd
remove todo
westnordost Jun 19, 2025
78b81d3
prepare for multiplatform access to local glyphs
westnordost Jun 20, 2025
8457579
more stuff
westnordost Jun 20, 2025
09bb626
styleable overlay layers
westnordost Jun 23, 2025
ede5856
restore two files
westnordost Jun 23, 2025
96fc2f5
bla
westnordost Jun 24, 2025
eedcce9
remove invalid properties
westnordost Jun 24, 2025
769c5bd
add comment about missing feature
westnordost Jun 24, 2025
ecbbc0d
small stuff...
westnordost Jun 24, 2025
818f219
small stuff...
westnordost Jun 24, 2025
09a5c08
put colors into Color. object
westnordost Jun 24, 2025
a23436b
Merge branch 'master' into maplibre-compose
westnordost Jul 21, 2025
43ed854
update maplibre-compose to v0.10.1
westnordost Jul 21, 2025
b82e4a3
Merge branch 'master' into maplibre-compose
westnordost Sep 7, 2025
9b0e16d
upgrade to 0.11.1
westnordost Sep 7, 2025
0215258
Merge branch 'master' into maplibre-compose
westnordost Mar 3, 2026
2216d3a
no debug
westnordost Mar 3, 2026
dab6cfc
Merge branch 'master' into maplibre-compose
westnordost Aug 14, 2026
621cd58
move to common
westnordost Aug 14, 2026
4ef3277
correct package name
westnordost Aug 14, 2026
b8783dc
implement animate to position
westnordost Aug 14, 2026
785b6d5
some fixes
westnordost Aug 14, 2026
06f6742
remove some errors
westnordost Aug 15, 2026
f0807af
tracks animation
westnordost Aug 17, 2026
627caa3
focus on making it compile first
westnordost Aug 17, 2026
d7001a0
properly initialize
westnordost Aug 17, 2026
770e7f0
update maplibre-compose
westnordost Aug 17, 2026
1937aba
update maplibre-compose
westnordost Aug 17, 2026
df4f18b
Merge remote-tracking branch 'origin/maplibre-compose' into maplibre-…
westnordost Aug 17, 2026
a6b9199
fix update
westnordost Aug 17, 2026
6be3712
workaround https://github.com/maplibre/maplibre-native/issues/4498
westnordost Aug 17, 2026
fa0495f
fix styleableoverlaylayers definitions
westnordost Aug 18, 2026
e7d81be
fix styled element
westnordost Aug 19, 2026
46188de
fix right side
westnordost Aug 19, 2026
d4847c4
work in progress state (that compiles, lol)
westnordost Aug 19, 2026
1fe1ba7
pin painter
westnordost Aug 20, 2026
b4e591b
add composable function
westnordost Aug 20, 2026
4c31fb3
add halopainter and colorfilterpainter (to replace SDF stuff)
westnordost Aug 20, 2026
ff7198c
Merge branch 'master' into maplibre-compose
westnordost Aug 20, 2026
b031ca0
more data sources
westnordost Aug 25, 2026
dd551fc
fixes
westnordost Aug 25, 2026
27c4111
Merge branch 'master' into maplibre-compose
westnordost Sep 1, 2026
9050026
upgrade to 0.15.0
westnordost Sep 1, 2026
e3a79cd
add the linker flags
westnordost Sep 1, 2026
8c54094
base our scale bar on the scale bar included in 0.15.0
westnordost Sep 1, 2026
fb32199
revert change to config.xcconfig
westnordost Sep 1, 2026
b6a34cb
add a few todos in relation to components that should be re-based on …
westnordost Sep 1, 2026
2ac1fe7
rename referenced classes
westnordost Sep 2, 2026
76a0a3b
Merge branch 'master' into maplibre-compose
westnordost Sep 2, 2026
892515f
Merge branch 'master' into maplibre-compose
westnordost Sep 3, 2026
3525c8d
remove temporary location thingy
westnordost Sep 3, 2026
bdfe62c
re-enabled commented out padding
westnordost Sep 3, 2026
cfc1615
Merge branch 'master' into maplibre-compose
westnordost Sep 4, 2026
15028dc
fix some layers
westnordost Sep 4, 2026
52dbcaf
add some doc comments and todos
westnordost Sep 4, 2026
7aa98c5
more doc comments
westnordost Sep 4, 2026
cf3a513
fix oneway arrow color
westnordost Sep 4, 2026
6d71861
implement maplibre-compose based map tiles downloader; extend Cleaner…
westnordost Sep 5, 2026
05b04f1
delete wrong comment
westnordost Sep 5, 2026
86cf82b
mutex also on close database connection
westnordost Sep 7, 2026
33142fb
make lazy
westnordost Sep 7, 2026
b65b62f
Fix serialization of ElementEditAction on native
westnordost Sep 7, 2026
f0e0aa9
default to null locale rather than Locale.current
westnordost Sep 7, 2026
53d6f88
no need to create maps early
westnordost Sep 8, 2026
5bc2339
don't do the data structure → geojson conversion on the main thread
westnordost Sep 8, 2026
f6f51b6
small fixes and changes plucked from probe
westnordost Sep 8, 2026
e234d87
quest form is complete when it has any selected items (fixes #7082)
westnordost Sep 8, 2026
ccb6dd7
Merge branch 'master' into maplibre-compose
westnordost Sep 9, 2026
eae253e
docs: plan remaining MapLibre Compose migration
sargunv Sep 10, 2026
30fde51
Upgrade MapLibre Compose to 0.16.0
sargunv Sep 10, 2026
ae78e8e
Fix iOS framework linker arguments and record device validation gaps
sargunv Sep 10, 2026
2bc70b0
Remove unrelated Xcode build tracking from migration scope
sargunv Sep 10, 2026
f37154f
Upgrade MapLibre Compose location to 0.16.0
sargunv Sep 10, 2026
1c7e559
Scope Android location provider to the activity and simplify tests
sargunv Sep 10, 2026
76814c9
Merge PR #7090 location upgrade and consolidate overlapping changes
sargunv Sep 10, 2026
90ea458
Restart location updates on permission changes and scope provider to …
sargunv Sep 10, 2026
39a595c
Move shared map state and actions into the view model
sargunv Sep 10, 2026
c9b852d
Refresh map geometry when inputs change
sargunv Sep 10, 2026
57be4f0
Document migration branch working preferences
sargunv Sep 10, 2026
d9e3786
Complete shared map data and interaction wiring
sargunv Sep 10, 2026
aa30f18
Keep auto sync ownership common and simplify location tests
sargunv Sep 10, 2026
6151945
Track upstream permission recovery fix
sargunv Sep 11, 2026
e582178
Test converted location ordering in RecentLocationsTest
sargunv Sep 11, 2026
9bec9f5
Merge PR #7090 review fixes and simplify shared map code
sargunv Sep 11, 2026
d42faf1
Align migration plan with maintainer implementation notes
sargunv Sep 11, 2026
869a620
Use painter halos for shared map icons
sargunv Sep 11, 2026
2e5ea0b
Preserve map colors across style replacement
sargunv Sep 11, 2026
ceb734d
Track cluster camera parity in the TODO sweep
sargunv Sep 11, 2026
6b04661
Fix cluster clicks and close migration phase one
sargunv Sep 11, 2026
8125f8b
Clarify phase two state ownership and data flow
sargunv Sep 11, 2026
c651dd0
Move shared map ownership to the screen
sargunv Sep 11, 2026
499e26f
Keep map presentation state in the debug composition
sargunv Sep 11, 2026
6ae3da3
Keep shared map camera policy in composition
sargunv Sep 11, 2026
2524995
Move map track recording into shared composition state
sargunv Sep 11, 2026
7e6ed47
Replace the production fragment map with Compose
sargunv Sep 11, 2026
f4a7e2e
Bundle the offline tile download style
sargunv Sep 11, 2026
26551db
Share the map runtime with offline downloads
sargunv Sep 11, 2026
193155c
Preserve cancellation and failures during offline cleanup
sargunv Sep 11, 2026
2a72b8d
Merge remote-tracking branch 'upstream/master' into codex/maplibre-co…
sargunv Sep 12, 2026
15b517b
Remove redundant map resources and migration diff noise
sargunv Sep 12, 2026
e3604fc
Remove the legacy map implementation
sargunv Sep 12, 2026
dbfffa9
Remove the legacy map SDK and assets
sargunv Sep 12, 2026
57f9295
Remove legacy Android resource generation
sargunv Sep 12, 2026
700abed
Remove the temporary map debug screen
sargunv Sep 12, 2026
306f112
Use MapLibre Compose placement and attribution APIs
sargunv Sep 12, 2026
13c4d88
Resolve migration TODO review and track upstream releases
sargunv Sep 12, 2026
9e03335
Match Android packaging to the Vulkan runtime
sargunv Sep 12, 2026
1c6cc32
Close Phase 3 and retain release blockers and manual validation
sargunv Sep 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 4 additions & 2 deletions androidApp/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ android {
targetSdk = 37
versionCode = 6308
versionName = "64.0-alpha1"

// Match the ABIs supported by the MapLibre Compose runtime.
ndk { abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86_64") }
}

signingConfigs {
Expand Down Expand Up @@ -68,7 +71,6 @@ dependencies {
implementation("androidx.activity:activity-compose:1.13.0")
implementation("com.google.android.material:material:1.14.0")
implementation("androidx.appcompat:appcompat:1.7.1")
implementation("androidx.fragment:fragment-ktx:1.8.6")

// Compose
implementation("org.jetbrains.compose.runtime:runtime:1.12.0")
Expand All @@ -82,7 +84,7 @@ dependencies {

// Dependency Injection
implementation("io.insert-koin:koin-android:4.2.2")
implementation("io.insert-koin:koin-compose:4.2.2")
implementation("io.insert-koin:koin-androidx-compose:4.2.2")
implementation("io.insert-koin:koin-androidx-workmanager:4.2.2")

// Settings
Expand Down
4 changes: 2 additions & 2 deletions androidApp/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
<uses-feature android:name="android.hardware.location.gps" android:required="false" />
<uses-feature android:name="android.hardware.screen.portrait" />

<!-- MapLibre 11+ needs at least OpenGL ES 3.0 -->
<uses-feature android:glEsVersion="0x00030000" android:required="true" />
<!-- The MapLibre Compose runtime requires Vulkan 1.0. -->
<uses-feature android:name="android.hardware.vulkan.version" android:version="0x00400003" android:required="true" />

<queries>
<!-- open location in another app -->
Expand Down

Large diffs are not rendered by default.

66 changes: 5 additions & 61 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,9 @@ kotlin {

// UI widgets

// Map
implementation("org.maplibre.compose:maplibre-compose:0.16.0")

// non-lazy grid
// NOTE: might replace with
// https://developer.android.com/develop/ui/compose/layouts/adaptive/grid
Expand All @@ -220,7 +223,6 @@ kotlin {
}
}
androidMain {
kotlin.srcDirs(layout.buildDirectory.dir("generated/androidMain/kotlin"))
dependencies {
// Dependency injection
implementation("io.insert-koin:koin-android")
Expand All @@ -242,8 +244,8 @@ kotlin {
// HTTP Client
implementation("io.ktor:ktor-client-android:3.5.1")

// map and location
implementation("org.maplibre.gl:android-sdk-opengl:13.3.1")
// map
implementation("org.maplibre.compose:maplibre-compose-runtime-vulkan-android:0.16.0")

// required to @Preview composables in Android Studio
runtimeOnly("androidx.compose.ui:ui-tooling:1.10.0")
Expand Down Expand Up @@ -395,13 +397,6 @@ tasks.register<UpdateChangelogTask>("updateChangelog") {
targetFile = projectDir.resolve("src/commonMain/composeResources/files/changelog.html")
}

tasks.register<UpdateMapStyleTask>("updateMapStyle") {
group = "streetcomplete"
targetDir = projectDir.resolve("src/androidMain/assets/map_theme")
apiKey = "mL9X4SwxfsAGfojvGiion9hPKuGLKxPbogLyMbtakA2gJ3X88gcVlTSQ7OD6OfbZ"
mapStyleBranch = "master"
}

tasks.register<GenerateMetadataByCountryTask>("generateMetadataByCountry") {
group = "streetcomplete"
dependsOn(
Expand All @@ -423,51 +418,6 @@ tasks.register("copyDefaultStringsToEnStrings") {
}
}

// necessary as long as map hasn't been converted to compose yet
tasks.register<CopyIconsTask>("copyIconsToAndroid") {
group = "streetcomplete"
sourceDir = projectDir.resolve("src/commonMain/composeResources/drawable")
targetDir = projectDir.resolve("build/generated/androidMain/res/drawable")
filter = {
// quest pins, icons for overlays
it.startsWith("quest_") ||
it.startsWith("building_") ||
it.startsWith("preset_") ||
it == "sport_volleyball.xml" ||
it == "religion_christian.xml" ||
it == "religion_jewish.xml" ||
it == "religion_muslim.xml" ||
it == "address_dot.xml" ||
it == "none.png" ||
// icons for base map
it == "pin_shadow.png" ||
it == "location_nyan.png" ||
it == "scissors_cut.xml" ||
it == "scissors.xml" ||
it == "track_nyan.png" ||
it == "track_nyan_record.png" ||
it == "downloaded_area_hatching.xml" ||
it == "location_shadow.xml" ||
it == "location_view_direction.xml" ||
it == "pin.xml" ||
it == "pin_circle.xml"
}
indexFile = projectDir.resolve("build/generated/androidMain/kotlin/de/westnordost/streetcomplete/view/IconIndex.kt")
}

tasks.register<CopyStringsTask>("copyStringsToAndroid") {
group = "streetcomplete"
sourceDir = projectDir.resolve("src/commonMain/composeResources")
targetDir = projectDir.resolve("build/generated/androidMain/res")
}

project.afterEvaluate {
tasks.named("androidPreBuild") {
dependsOn(tasks.named("copyIconsToAndroid"))
dependsOn(tasks.named("copyStringsToAndroid"))
}
}

tasks.register<JavaExec>("printQuestFiltersAsOverpassQL") {
group = "utils"

Expand All @@ -487,9 +437,3 @@ tasks.register<JavaExec>("openingHoursParsingStatistics") {

mainClass.set("de.westnordost.streetcomplete.OpeningHoursParsingStatisticsKt")
}

androidComponents {
onVariants { variant ->
variant.sources.res?.addStaticSourceDirectory(layout.buildDirectory.dir("generated/androidMain/res").get().asFile.absolutePath)
}
}
4 changes: 0 additions & 4 deletions app/src/androidMain/assets/authors.txt

This file was deleted.

3 changes: 0 additions & 3 deletions app/src/androidMain/assets/map_theme/sprites.json

This file was deleted.

Binary file removed app/src/androidMain/assets/map_theme/sprites.png
Binary file not shown.
3 changes: 0 additions & 3 deletions app/src/androidMain/assets/map_theme/sprites@2x.json

This file was deleted.

Binary file removed app/src/androidMain/assets/map_theme/sprites@2x.png
Binary file not shown.
Loading