diff --git a/app/src/main/java/com/geeksville/mesh/MainActivity.kt b/app/src/main/java/com/geeksville/mesh/MainActivity.kt index afbe6189..c880099b 100644 --- a/app/src/main/java/com/geeksville/mesh/MainActivity.kt +++ b/app/src/main/java/com/geeksville/mesh/MainActivity.kt @@ -13,6 +13,7 @@ import android.os.Build import android.os.Bundle import android.view.Menu import android.view.MenuItem +import android.view.MotionEvent import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.core.app.ActivityCompat @@ -29,6 +30,7 @@ import com.geeksville.mesh.ui.AppStatus import com.geeksville.mesh.ui.MeshApp import com.geeksville.mesh.ui.ScanState import com.geeksville.mesh.ui.Screen +import com.geeksville.util.Exceptions import com.geeksville.util.exceptionReporter import com.google.android.gms.auth.api.signin.GoogleSignIn import com.google.android.gms.auth.api.signin.GoogleSignInAccount @@ -328,6 +330,18 @@ class MainActivity : AppCompatActivity(), Logging, } } + override fun dispatchTouchEvent(ev: MotionEvent?): Boolean { + return try { + super.dispatchTouchEvent(ev) + } catch (ex: IllegalStateException) { + Exceptions.report( + ex, + "dispatchTouchEvent" + ) // hide this Compose error from the user but report to the mothership + false + } + } + private val meshServiceReceiver = object : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) = exceptionReporter { diff --git a/geeksville-androidlib b/geeksville-androidlib index bcd63acb..45c5deee 160000 --- a/geeksville-androidlib +++ b/geeksville-androidlib @@ -1 +1 @@ -Subproject commit bcd63acb84078a18788d94f9351e46d8e63ceb47 +Subproject commit 45c5deeee23b1e104265a553eeb497caa120bd47