summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorLeith Bade <leith@mapbox.com>2015-09-22 16:23:39 +1000
committerLeith Bade <leith@mapbox.com>2015-09-22 16:23:39 +1000
commitfeae692dbaefa51b893528a31139fb8282b3e889 (patch)
treecb3626805be662de444f153b7912fff388507670 /android
parent71cde640a99d351371179f48f78f8315f0fdd160 (diff)
downloadqtlocation-mapboxgl-feae692dbaefa51b893528a31139fb8282b3e889.tar.gz
Fix freezing on Android when rotating
Fixes #1941
Diffstat (limited to 'android')
-rw-r--r--android/cpp/native_map_view.cpp5
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java9
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java3
3 files changed, 8 insertions, 9 deletions
diff --git a/android/cpp/native_map_view.cpp b/android/cpp/native_map_view.cpp
index 9ffb083ec5..02228d85b6 100644
--- a/android/cpp/native_map_view.cpp
+++ b/android/cpp/native_map_view.cpp
@@ -699,6 +699,11 @@ void NativeMapView::updateFps() {
void NativeMapView::onInvalidate() {
mbgl::Log::Debug(mbgl::Event::Android, "NativeMapView::onInvalidate()");
+ if (map.isPaused()) {
+ mbgl::Log::Debug(mbgl::Event::Android, "Not rendering as map is paused");
+ return;
+ }
+
const bool dirty = !clean.test_and_set();
if (dirty) {
float zoomFactor = map.getMaxZoom() - map.getMinZoom() + 1;
diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java
index 6be20990a2..b4eece5ec8 100644
--- a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java
+++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java
@@ -1009,14 +1009,6 @@ public class MapView extends FrameLayout implements LocationListener {
mNativeMapView.resizeFramebuffer(width, height);
}
- // Called when we need to redraw the view
- // This is called before our view is first visible to prevent an initial
- // flicker (see Android SDK documentation)
- /*@Override
- public void surfaceRedrawNeeded(SurfaceHolder holder) {
- mNativeMapView.update();
- }*/ // TODO call update somewhere?
-
// Not used
@Override
public void onSurfaceTextureUpdated (SurfaceTexture surface) {
@@ -1796,7 +1788,6 @@ public class MapView extends FrameLayout implements LocationListener {
});
}
-
/**
* Defines callback for events OnMapChange
*/
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java
index eb5d891cd5..2f9b374e24 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java
@@ -177,12 +177,14 @@ public class MainActivity extends AppCompatActivity {
@Override
protected void onStart() {
super.onStart();
+
mMapView.onStart();
}
@Override
protected void onStop() {
super.onStop();
+
mMapView.onStop();
}
@@ -205,6 +207,7 @@ public class MainActivity extends AppCompatActivity {
@Override
protected void onDestroy() {
super.onDestroy();
+
mMapView.onDestroy();
}