From 719bef7889fdb3191d5e68160ec988483c42e4fc Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Mon, 1 Feb 2021 22:54:04 +0800 Subject: [PATCH] potential fix for the rare mapbox native crash (use onDestroyView) --- app/build.gradle | 2 +- app/proguard-rules.pro | 4 ++++ app/src/main/java/com/geeksville/mesh/ui/MapFragment.kt | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 7d1bfea3d..10d04ea14 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -156,7 +156,7 @@ dependencies { implementation 'com.github.mik3y:usb-serial-for-android:v3.0.0' // mapbox - implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.5.0' + implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.6.0' // mapbox specifies a really old version of okhttp3 which causes lots of API warnings. trying a newer version implementation 'com.squareup.okhttp3:okhttp:4.9.0' diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index abd97ff52..41240d9b4 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -30,6 +30,10 @@ -keep class com.geeksville.mesh.**{*;} -keepclassmembers class * extends com.google.protobuf.GeneratedMessageLite { ; } +# Recommended by mapbox to prevent native crashes +-dontwarn com.mapbox.** +-keep class com.mapbox.** { *; } + # for kotlinx.serialization -keepattributes *Annotation*, InnerClasses -dontnote kotlinx.serialization.SerializationKt diff --git a/app/src/main/java/com/geeksville/mesh/ui/MapFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/MapFragment.kt index a35eff231..21d5a650c 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/MapFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/MapFragment.kt @@ -204,9 +204,9 @@ class MapFragment : ScreenFragment("Map"), Logging { mapView?.onResume() } - override fun onDestroy() { + override fun onDestroyView() { mapView?.onDestroy() - super.onDestroy() + super.onDestroyView() } override fun onSaveInstanceState(outState: Bundle) {