From a63a7c1b99c02b825d9a88271b71a2f8fbcee8de Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Mon, 27 May 2024 14:09:12 +0200 Subject: [PATCH 1/4] chore: Remove deprecation apiBaseUri This deprecation was applied to getApiBaseUrl() and is not applicable to apiBaseUri --- .../java/org/maplibre/android/snapshotter/MapSnapshotter.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/snapshotter/MapSnapshotter.kt b/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/snapshotter/MapSnapshotter.kt index 374cacc900a..6b07bfd204a 100644 --- a/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/snapshotter/MapSnapshotter.kt +++ b/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/snapshotter/MapSnapshotter.kt @@ -141,10 +141,8 @@ open class MapSnapshotter(context: Context, options: Options) { /** * @return The base of our API endpoint */ - @get:Deprecated("use {@link #getApiBaseUri()} instead") var apiBaseUri: String? = null private set - get() = field var builder: Style.Builder? = null private set From d0ffe0ff4373fdb696abdca37c232892f93f40bf Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Mon, 27 May 2024 14:20:27 +0200 Subject: [PATCH 2/4] Don't use deprecated Handler() constructor https://stackoverflow.com/questions/61023968/what-do-i-use-now-that-handler-is-deprecated --- .../java/org/maplibre/android/maps/MapGestureDetector.java | 3 ++- .../main/java/org/maplibre/android/maps/NativeMapView.java | 3 ++- .../src/main/java/org/maplibre/android/maps/Transform.java | 3 ++- .../java/org/maplibre/android/snapshotter/MapSnapshotter.kt | 5 +++-- .../testapp/activity/camera/GestureDetectorActivity.kt | 3 ++- .../testapp/activity/maplayout/VisibilityChangeActivity.kt | 3 ++- .../testapp/activity/offline/DownloadRegionActivity.kt | 3 ++- .../testapp/activity/style/AnimatedImageSourceActivity.kt | 3 ++- .../testapp/activity/turf/WithinExpressionActivity.kt | 3 ++- 9 files changed, 19 insertions(+), 10 deletions(-) diff --git a/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/MapGestureDetector.java b/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/MapGestureDetector.java index 6b5e2e75618..48b18febfa6 100644 --- a/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/MapGestureDetector.java +++ b/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/MapGestureDetector.java @@ -7,6 +7,7 @@ import android.content.res.Resources; import android.graphics.PointF; import android.os.Handler; +import android.os.Looper; import android.view.InputDevice; import android.view.MotionEvent; import android.view.animation.DecelerateInterpolator; @@ -96,7 +97,7 @@ final class MapGestureDetector { * {@link MapLibreConstants#SCHEDULED_ANIMATION_TIMEOUT} */ @NonNull - private Handler animationsTimeoutHandler = new Handler(); + private Handler animationsTimeoutHandler = new Handler(Looper.getMainLooper()); private boolean doubleTapRegistered; diff --git a/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/NativeMapView.java b/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/NativeMapView.java index 8d10e490181..16ea97374e9 100755 --- a/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/NativeMapView.java +++ b/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/NativeMapView.java @@ -5,6 +5,7 @@ import android.graphics.PointF; import android.graphics.RectF; import android.os.Handler; +import android.os.Looper; import android.text.TextUtils; import androidx.annotation.IntRange; @@ -1524,7 +1525,7 @@ public void addSnapshotCallback(@NonNull MapLibreMap.SnapshotReadyCallback callb @Override public void setOnFpsChangedListener(@Nullable final MapLibreMap.OnFpsChangedListener listener) { - final Handler handler = new Handler(); + final Handler handler = new Handler(Looper.getMainLooper()); mapRenderer.queueEvent(new Runnable() { @Override diff --git a/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/Transform.java b/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/Transform.java index 56efd57f897..4c7cf8910ed 100644 --- a/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/Transform.java +++ b/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/maps/Transform.java @@ -2,6 +2,7 @@ import android.graphics.PointF; import android.os.Handler; +import android.os.Looper; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -31,7 +32,7 @@ public final class Transform implements MapView.OnCameraDidChangeListener { private final NativeMap nativeMap; private final MapView mapView; - private final Handler handler = new Handler(); + private final Handler handler = new Handler(Looper.getMainLooper()); @Nullable private CameraPosition cameraPosition; diff --git a/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/snapshotter/MapSnapshotter.kt b/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/snapshotter/MapSnapshotter.kt index 6b07bfd204a..f1e0df6cd59 100644 --- a/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/snapshotter/MapSnapshotter.kt +++ b/platform/android/MapLibreAndroid/src/main/java/org/maplibre/android/snapshotter/MapSnapshotter.kt @@ -3,6 +3,7 @@ package org.maplibre.android.snapshotter import android.content.Context import android.graphics.* import android.os.Handler +import android.os.Looper import android.text.Html import android.text.TextUtils import android.view.View @@ -609,7 +610,7 @@ open class MapSnapshotter(context: Context, options: Options) { */ @Keep protected fun onSnapshotReady(snapshot: MapSnapshot) { - Handler().post { + Handler(Looper.getMainLooper()).post { if (callback != null) { addOverlay(snapshot) callback!!.onSnapshotReady(snapshot) @@ -625,7 +626,7 @@ open class MapSnapshotter(context: Context, options: Options) { */ @Keep protected fun onSnapshotFailed(reason: String) { - Handler().post { + Handler(Looper.getMainLooper()).post { if (errorHandler != null) { errorHandler!!.onError(reason) reset() diff --git a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/camera/GestureDetectorActivity.kt b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/camera/GestureDetectorActivity.kt index 2076bf7e5ba..ea1a3612d7b 100644 --- a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/camera/GestureDetectorActivity.kt +++ b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/camera/GestureDetectorActivity.kt @@ -3,6 +3,7 @@ package org.maplibre.android.testapp.activity.camera import android.annotation.SuppressLint import android.os.Bundle import android.os.Handler +import android.os.Looper import android.view.* import android.widget.RelativeLayout import android.widget.TextView @@ -306,7 +307,7 @@ class GestureDetectorActivity : AppCompatActivity() { private class GestureAlertsAdapter : RecyclerView.Adapter() { private var isUpdating = false - private val updateHandler = Handler() + private val updateHandler = Handler(Looper.getMainLooper()) private val alerts: MutableList = ArrayList() class ViewHolder internal constructor(view: View) : RecyclerView.ViewHolder(view) { diff --git a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/maplayout/VisibilityChangeActivity.kt b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/maplayout/VisibilityChangeActivity.kt index da56fd56e4c..937abb491cc 100644 --- a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/maplayout/VisibilityChangeActivity.kt +++ b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/maplayout/VisibilityChangeActivity.kt @@ -2,6 +2,7 @@ package org.maplibre.android.testapp.activity.maplayout import android.os.Bundle import android.os.Handler +import android.os.Looper import android.view.View import androidx.appcompat.app.AppCompatActivity import org.maplibre.android.camera.CameraUpdateFactory @@ -15,7 +16,7 @@ import org.maplibre.android.testapp.R class VisibilityChangeActivity : AppCompatActivity() { private lateinit var mapView: MapView private lateinit var maplibreMap: MapLibreMap - private val handler = Handler() + private val handler = Handler(Looper.getMainLooper()) private var runnable: Runnable? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) diff --git a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/offline/DownloadRegionActivity.kt b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/offline/DownloadRegionActivity.kt index 094e29ee34b..cb8508473fb 100644 --- a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/offline/DownloadRegionActivity.kt +++ b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/offline/DownloadRegionActivity.kt @@ -3,6 +3,7 @@ package org.maplibre.android.testapp.activity.offline import android.annotation.SuppressLint import android.os.Bundle import android.os.Handler +import android.os.Looper import android.view.View import android.widget.ArrayAdapter import android.widget.SeekBar @@ -29,7 +30,7 @@ class DownloadRegionActivity : AppCompatActivity(), OfflineRegion.OfflineRegionO const val STATUS_UPDATE_TIMEOUT_MS = 10_000L } - private val handler: Handler = Handler() + private val handler: Handler = Handler(Looper.getMainLooper()) private lateinit var offlineManager: OfflineManager private lateinit var binding: ActivityRegionDownloadBinding private var offlineRegion: OfflineRegion? = null diff --git a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/style/AnimatedImageSourceActivity.kt b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/style/AnimatedImageSourceActivity.kt index 1053c2d8b47..eb1e8477c6d 100644 --- a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/style/AnimatedImageSourceActivity.kt +++ b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/style/AnimatedImageSourceActivity.kt @@ -4,6 +4,7 @@ import android.graphics.Bitmap import android.graphics.drawable.BitmapDrawable import android.os.Bundle import android.os.Handler +import android.os.Looper import androidx.appcompat.app.AppCompatActivity import org.maplibre.android.MapLibre import org.maplibre.android.geometry.LatLng @@ -27,7 +28,7 @@ import org.maplibre.android.utils.BitmapUtils */ class AnimatedImageSourceActivity : AppCompatActivity(), OnMapReadyCallback { private lateinit var mapView: MapView - private val handler = Handler() + private val handler = Handler(Looper.getMainLooper()) private var runnable: Runnable? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) diff --git a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/turf/WithinExpressionActivity.kt b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/turf/WithinExpressionActivity.kt index 40964e19b90..e2405e13950 100644 --- a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/turf/WithinExpressionActivity.kt +++ b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/turf/WithinExpressionActivity.kt @@ -3,6 +3,7 @@ package org.maplibre.android.testapp.activity.turf import android.graphics.Color import android.os.Bundle import android.os.Handler +import android.os.Looper import android.os.PersistableBundle import androidx.appcompat.app.AppCompatActivity import org.maplibre.geojson.* @@ -32,7 +33,7 @@ class WithinExpressionActivity : AppCompatActivity() { private lateinit var binding: ActivityWithinExpressionBinding private lateinit var mapView: MapView - private val handler: Handler = Handler() + private val handler: Handler = Handler(Looper.getMainLooper()) private val runnable: Runnable = Runnable { optimizeStyle() } From b4b7b3ece7799d50faf42c1a9ce6768e5ea48208 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Mon, 27 May 2024 14:23:19 +0200 Subject: [PATCH 3/4] Remove usage of deprecated removeGlobalLayoutListener --- .../android/testapp/activity/snapshot/MapSnapshotterActivity.kt | 2 +- .../activity/snapshot/MapSnapshotterBitMapOverlayActivity.kt | 2 +- .../testapp/activity/snapshot/MapSnapshotterHeatMapActivity.kt | 2 +- .../activity/snapshot/MapSnapshotterLocalStyleActivity.kt | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/snapshot/MapSnapshotterActivity.kt b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/snapshot/MapSnapshotterActivity.kt index bfff86afd70..4b1445776ce 100644 --- a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/snapshot/MapSnapshotterActivity.kt +++ b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/snapshot/MapSnapshotterActivity.kt @@ -49,7 +49,7 @@ class MapSnapshotterActivity : AppCompatActivity() { grid.getViewTreeObserver() .addOnGlobalLayoutListener(object : OnGlobalLayoutListener { override fun onGlobalLayout() { - grid.getViewTreeObserver().removeGlobalOnLayoutListener(this) + grid.getViewTreeObserver().removeOnGlobalLayoutListener(this) addSnapshots() } }) diff --git a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/snapshot/MapSnapshotterBitMapOverlayActivity.kt b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/snapshot/MapSnapshotterBitMapOverlayActivity.kt index fcdaa56fb31..85023d6bab3 100644 --- a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/snapshot/MapSnapshotterBitMapOverlayActivity.kt +++ b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/snapshot/MapSnapshotterBitMapOverlayActivity.kt @@ -40,7 +40,7 @@ class MapSnapshotterBitMapOverlayActivity : container.viewTreeObserver .addOnGlobalLayoutListener(object : OnGlobalLayoutListener { override fun onGlobalLayout() { - container.viewTreeObserver.removeGlobalOnLayoutListener(this) + container.viewTreeObserver.removeOnGlobalLayoutListener(this) Timber.i("Starting snapshot") mapSnapshotter = MapSnapshotter( applicationContext, diff --git a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/snapshot/MapSnapshotterHeatMapActivity.kt b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/snapshot/MapSnapshotterHeatMapActivity.kt index 503139dd111..1cfe768fef2 100644 --- a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/snapshot/MapSnapshotterHeatMapActivity.kt +++ b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/snapshot/MapSnapshotterHeatMapActivity.kt @@ -33,7 +33,7 @@ class MapSnapshotterHeatMapActivity : AppCompatActivity(), MapSnapshotter.Snapsh container.viewTreeObserver .addOnGlobalLayoutListener(object : OnGlobalLayoutListener { override fun onGlobalLayout() { - container.viewTreeObserver.removeGlobalOnLayoutListener(this) + container.viewTreeObserver.removeOnGlobalLayoutListener(this) Timber.i("Starting snapshot") val builder = Style.Builder().fromUri(Style.getPredefinedStyle("Outdoor")) .withSource(earthquakeSource!!) diff --git a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/snapshot/MapSnapshotterLocalStyleActivity.kt b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/snapshot/MapSnapshotterLocalStyleActivity.kt index 478743ac5e4..2c2d9ad00a9 100644 --- a/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/snapshot/MapSnapshotterLocalStyleActivity.kt +++ b/platform/android/MapLibreAndroidTestApp/src/main/java/org/maplibre/android/testapp/activity/snapshot/MapSnapshotterLocalStyleActivity.kt @@ -28,7 +28,7 @@ class MapSnapshotterLocalStyleActivity : AppCompatActivity(), MapSnapshotter.Sna container.viewTreeObserver .addOnGlobalLayoutListener(object : OnGlobalLayoutListener { override fun onGlobalLayout() { - container.viewTreeObserver.removeGlobalOnLayoutListener(this) + container.viewTreeObserver.removeOnGlobalLayoutListener(this) val styleJson: String styleJson = try { ResourceUtils.readRawResource( From a78b0e7ab36690c8c4b6b664d2924b9da3a81862 Mon Sep 17 00:00:00 2001 From: Bart Louwers Date: Mon, 27 May 2024 14:24:24 +0200 Subject: [PATCH 4/4] Fix package path ExpressionTest --- .../org/maplibre/android/style/expressions/ExpressionTest.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/platform/android/MapLibreAndroid/src/test/java/org/maplibre/android/style/expressions/ExpressionTest.kt b/platform/android/MapLibreAndroid/src/test/java/org/maplibre/android/style/expressions/ExpressionTest.kt index 2d45338723f..b3a8c24a07b 100644 --- a/platform/android/MapLibreAndroid/src/test/java/org/maplibre/android/style/expressions/ExpressionTest.kt +++ b/platform/android/MapLibreAndroid/src/test/java/org/maplibre/android/style/expressions/ExpressionTest.kt @@ -1,4 +1,4 @@ -package com.mapbox.mapboxsdk.style.expressions +package org.maplibre.android.style.expressions import android.graphics.Color import org.maplibre.geojson.Point @@ -10,7 +10,6 @@ import org.maplibre.android.utils.ColorUtils import org.junit.Assert import org.junit.Test import org.junit.runner.RunWith -import org.maplibre.android.style.expressions.Expression import org.robolectric.RobolectricTestRunner import java.util.*