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 374cacc900a..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 @@ -141,10 +142,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 @@ -611,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) @@ -627,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/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.* 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/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( 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() }