diff --git a/build.gradle b/build.gradle index 1f383d2c..f66d6cb5 100644 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,7 @@ allprojects { ext.androidBuildVersionTools = "29.0.2" ext.gdxVersion = "1.9.10" ext.gwtVersion = "2.8.2" - ext.slf4jVersion = "1.7.25" + ext.slf4jVersion = "1.7.28" if (JavaVersion.current().isJava8Compatible()) { tasks.withType(Javadoc) { diff --git a/docs/Integration.md b/docs/Integration.md index 9c058103..00c4309b 100644 --- a/docs/Integration.md +++ b/docs/Integration.md @@ -10,7 +10,7 @@ Current version is [![Maven Central](https://img.shields.io/maven-central/v/org. ```groovy implementation 'org.mapsforge:vtm:[CURRENT-VERSION]' implementation 'org.mapsforge:vtm-themes:[CURRENT-VERSION]' -implementation 'org.slf4j:slf4j-api:1.7.25' +implementation 'org.slf4j:slf4j-api:1.7.28' ``` ### Android @@ -20,7 +20,7 @@ implementation 'org.mapsforge:vtm-android:[CURRENT-VERSION]:natives-armeabi-v7a' implementation 'org.mapsforge:vtm-android:[CURRENT-VERSION]:natives-arm64-v8a' implementation 'org.mapsforge:vtm-android:[CURRENT-VERSION]:natives-x86' implementation 'org.mapsforge:vtm-android:[CURRENT-VERSION]:natives-x86_64' -implementation 'com.caverock:androidsvg:1.3' +implementation 'com.caverock:androidsvg:1.4' ``` ### Android (libGDX) @@ -38,7 +38,7 @@ implementation 'org.mapsforge:vtm-android-gdx:[CURRENT-VERSION]:natives-x86' implementation 'org.mapsforge:vtm-android-gdx:[CURRENT-VERSION]:natives-x86_64' implementation 'com.badlogicgames.gdx:gdx:1.9.10' implementation 'com.badlogicgames.gdx:gdx-backend-android:1.9.10' -implementation 'com.caverock:androidsvg:1.3' +implementation 'com.caverock:androidsvg:1.4' ``` ### iOS @@ -59,12 +59,12 @@ implementation 'org.mapsforge:vtm-desktop:[CURRENT-VERSION]:natives-windows' implementation 'org.mapsforge:vtm-desktop-lwjgl:[CURRENT-VERSION]' implementation 'com.badlogicgames.gdx:gdx:1.9.10' implementation 'com.badlogicgames.gdx:gdx-platform:1.9.10:natives-desktop' -implementation 'com.badlogicgames.gdx:gdx-backend-lwjgl:1.9.10' implementation 'com.github.blackears:svgSalamander:v1.1.1' ``` ### Desktop (LWJGL) ```groovy +implementation 'com.badlogicgames.gdx:gdx-backend-lwjgl:1.9.10' implementation 'org.lwjgl.lwjgl:lwjgl:2.9.3' implementation 'org.lwjgl.lwjgl:lwjgl-platform:2.9.3:natives-linux' implementation 'org.lwjgl.lwjgl:lwjgl-platform:2.9.3:natives-osx' @@ -73,25 +73,28 @@ implementation 'org.lwjgl.lwjgl:lwjgl-platform:2.9.3:natives-windows' ### Desktop (LWJGL 3) ```groovy -implementation 'org.lwjgl:lwjgl:3.2.1' -implementation 'org.lwjgl:lwjgl:3.2.1:natives-linux' -implementation 'org.lwjgl:lwjgl:3.2.1:natives-macos' -implementation 'org.lwjgl:lwjgl:3.2.1:natives-windows' +implementation 'com.badlogicgames.gdx:gdx-backend-lwjgl3:1.9.10' +implementation 'org.lwjgl:lwjgl:3.2.3' +implementation 'org.lwjgl:lwjgl:3.2.3:natives-linux' +implementation 'org.lwjgl:lwjgl:3.2.3:natives-macos' +implementation 'org.lwjgl:lwjgl:3.2.3:natives-windows' ``` ### JTS geometries ```groovy implementation 'org.mapsforge:vtm-jts:[CURRENT-VERSION]' -implementation 'org.locationtech.jts:jts-core:1.15.0' +// https://github.com/locationtech/jts/issues/145 +implementation 'org.locationtech.jts:jts-core:1.15.1' ``` ### Online tiles ```groovy implementation 'org.mapsforge:vtm-http:[CURRENT-VERSION]' -implementation 'com.squareup.okhttp3:okhttp:3.8.0' -implementation 'com.squareup.okio:okio:1.13.0' +// https://github.com/square/okhttp/issues/4481 +implementation 'com.squareup.okhttp3:okhttp:3.12.5' +implementation 'com.squareup.okio:okio:1.15.0' ``` ### MBTiles (Android) @@ -99,27 +102,29 @@ implementation 'com.squareup.okio:okio:1.13.0' ```groovy implementation 'org.mapsforge:vtm-android-mvt:[CURRENT-VERSION]' implementation 'org.mapsforge:vtm-mvt:[CURRENT-VERSION]' -implementation 'com.google.protobuf:protobuf-java:3.5.1' -implementation 'com.wdtinc:mapbox-vector-tile:3.0.0' -implementation 'org.locationtech.jts:jts-core:1.15.0' +implementation 'com.google.protobuf:protobuf-java:3.6.1' +implementation 'com.wdtinc:mapbox-vector-tile:3.1.0' +// https://github.com/locationtech/jts/issues/145 +implementation 'org.locationtech.jts:jts-core:1.15.1' ``` ### Mapbox vector tiles ```groovy implementation 'org.mapsforge:vtm-mvt:[CURRENT-VERSION]' -implementation 'com.google.protobuf:protobuf-java:3.5.1' -implementation 'com.wdtinc:mapbox-vector-tile:3.0.0' -implementation 'org.locationtech.jts:jts-core:1.15.0' +implementation 'com.google.protobuf:protobuf-java:3.6.1' +implementation 'com.wdtinc:mapbox-vector-tile:3.1.0' +// https://github.com/locationtech/jts/issues/145 +implementation 'org.locationtech.jts:jts-core:1.15.1' ``` ### GeoJSON vector tiles ```groovy implementation 'org.mapsforge:vtm-json:[CURRENT-VERSION]' -implementation 'com.fasterxml.jackson.core:jackson-annotations:2.8.4' -implementation 'com.fasterxml.jackson.core:jackson-core:2.8.4' -implementation 'com.fasterxml.jackson.core:jackson-databind:2.8.4' +implementation 'com.fasterxml.jackson.core:jackson-annotations:2.9.9' +implementation 'com.fasterxml.jackson.core:jackson-core:2.9.9' +implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.9' ``` ### jeo (indoor maps) diff --git a/vtm-android-example/src/org/oscim/android/test/MapilionMvtActivity.java b/vtm-android-example/src/org/oscim/android/test/MapilionMvtActivity.java index 5a9d6d80..1cf353fa 100644 --- a/vtm-android-example/src/org/oscim/android/test/MapilionMvtActivity.java +++ b/vtm-android-example/src/org/oscim/android/test/MapilionMvtActivity.java @@ -14,8 +14,11 @@ */ package org.oscim.android.test; +import android.os.Build; import android.os.Bundle; - +import okhttp3.CipherSuite; +import okhttp3.ConnectionSpec; +import okhttp3.OkHttpClient; import org.oscim.android.cache.TileCache; import org.oscim.layers.tile.bitmap.BitmapTileLayer; import org.oscim.layers.tile.buildings.BuildingLayer; @@ -27,6 +30,10 @@ import org.oscim.tiling.source.UrlTileSource; import org.oscim.tiling.source.bitmap.DefaultSources; import org.oscim.tiling.source.mvt.MapilionMvtTileSource; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + public class MapilionMvtActivity extends MapActivity { // Metered API key for demonstration purposes @@ -40,7 +47,23 @@ public class MapilionMvtActivity extends MapActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - OkHttpEngine.OkHttpFactory factory = new OkHttpEngine.OkHttpFactory(); + OkHttpClient.Builder builder = new OkHttpClient.Builder(); + + // https://github.com/square/okhttp/issues/4053 + if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) { + List cipherSuites = new ArrayList<>(); + List modernTlsCipherSuites = ConnectionSpec.MODERN_TLS.cipherSuites(); + if (modernTlsCipherSuites != null) + cipherSuites.addAll(modernTlsCipherSuites); + cipherSuites.add(CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA); + cipherSuites.add(CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA); + ConnectionSpec legacyTls = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS) + .cipherSuites(cipherSuites.toArray(new CipherSuite[0])) + .build(); + builder.connectionSpecs(Arrays.asList(legacyTls, ConnectionSpec.CLEARTEXT)); + } + + OkHttpEngine.OkHttpFactory factory = new OkHttpEngine.OkHttpFactory(builder); UrlTileSource tileSource = MapilionMvtTileSource.builder() .apiKey(API_KEY) diff --git a/vtm-android/build.gradle b/vtm-android/build.gradle index f253066d..e9421d21 100644 --- a/vtm-android/build.gradle +++ b/vtm-android/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.github.dcendents.android-maven' dependencies { api project(':vtm') - api 'com.caverock:androidsvg:1.3' + api 'com.caverock:androidsvg:1.4' } android { diff --git a/vtm-app/build.gradle b/vtm-app/build.gradle index 12be9999..a9916e8f 100644 --- a/vtm-app/build.gradle +++ b/vtm-app/build.gradle @@ -4,7 +4,8 @@ dependencies { implementation project(':vtm-android') implementation project(':vtm-extras') implementation project(':vtm-themes') - implementation 'com.squareup.okhttp3:okhttp:3.8.0' + // https://github.com/square/okhttp/issues/4481 + implementation 'com.squareup.okhttp3:okhttp:3.12.5' implementation "org.slf4j:slf4j-android:$slf4jVersion" } diff --git a/vtm-extras/build.gradle b/vtm-extras/build.gradle index 9eada5f7..123d52e2 100644 --- a/vtm-extras/build.gradle +++ b/vtm-extras/build.gradle @@ -3,9 +3,10 @@ apply plugin: 'maven' dependencies { api project(':vtm') - api 'com.fasterxml.jackson.core:jackson-core:2.8.4' - api 'org.locationtech.jts:jts-core:1.15.0' - api 'org.openstreetmap.osmosis:osmosis-osm-binary:0.46' + api 'com.fasterxml.jackson.core:jackson-core:2.9.9' + // https://github.com/locationtech/jts/issues/145 + api 'org.locationtech.jts:jts-core:1.15.1' + api 'org.openstreetmap.osmosis:osmosis-osm-binary:0.47' } sourceSets { diff --git a/vtm-http/build.gradle b/vtm-http/build.gradle index 88e07e0f..6dbbd32e 100644 --- a/vtm-http/build.gradle +++ b/vtm-http/build.gradle @@ -3,7 +3,8 @@ apply plugin: 'maven' dependencies { api project(':vtm') - api 'com.squareup.okhttp3:okhttp:3.8.0' + // https://github.com/square/okhttp/issues/4481 + api 'com.squareup.okhttp3:okhttp:3.12.5' } sourceSets { diff --git a/vtm-json/build.gradle b/vtm-json/build.gradle index 2060150e..57fc0586 100644 --- a/vtm-json/build.gradle +++ b/vtm-json/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'maven' dependencies { api project(':vtm') - api 'com.fasterxml.jackson.core:jackson-core:2.8.4' + api 'com.fasterxml.jackson.core:jackson-core:2.9.9' } sourceSets { diff --git a/vtm-jts/build.gradle b/vtm-jts/build.gradle index 559baba8..61b4ae7b 100644 --- a/vtm-jts/build.gradle +++ b/vtm-jts/build.gradle @@ -3,7 +3,8 @@ apply plugin: 'maven' dependencies { api project(':vtm') - api 'org.locationtech.jts:jts-core:1.15.0' + // https://github.com/locationtech/jts/issues/145 + api 'org.locationtech.jts:jts-core:1.15.1' } sourceSets { diff --git a/vtm-mvt/build.gradle b/vtm-mvt/build.gradle index 9ee694fd..b3c7d9f8 100644 --- a/vtm-mvt/build.gradle +++ b/vtm-mvt/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'maven' dependencies { api project(':vtm') - api 'com.wdtinc:mapbox-vector-tile:3.0.0' + api 'com.wdtinc:mapbox-vector-tile:3.1.0' } sourceSets { diff --git a/vtm/build.gradle b/vtm/build.gradle index 784984db..bd4b69c9 100644 --- a/vtm/build.gradle +++ b/vtm/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'maven' dependencies { api "org.slf4j:slf4j-api:$slf4jVersion" - compileOnly 'com.google.code.findbugs:jsr305:3.0.1' + compileOnly 'com.google.code.findbugs:jsr305:3.0.2' } sourceSets {