From 92f6fbe04a358ded5afbb3977050baa70e7634a0 Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Mon, 27 Jun 2022 19:33:24 +0200 Subject: [PATCH] Prevent crash if no dashboard is installed. --- .../dennisguse/opentracks/util/IntentDashboardUtils.java | 9 ++++++++- src/main/res/values/strings.xml | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/dennisguse/opentracks/util/IntentDashboardUtils.java b/src/main/java/de/dennisguse/opentracks/util/IntentDashboardUtils.java index 4d1c39f5b..7905f8ac0 100644 --- a/src/main/java/de/dennisguse/opentracks/util/IntentDashboardUtils.java +++ b/src/main/java/de/dennisguse/opentracks/util/IntentDashboardUtils.java @@ -1,11 +1,13 @@ package de.dennisguse.opentracks.util; +import android.content.ActivityNotFoundException; import android.content.ClipData; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.util.Log; import android.util.Pair; +import android.widget.Toast; import androidx.appcompat.app.AlertDialog; @@ -173,7 +175,12 @@ public class IntentDashboardUtils { Log.i(TAG, "Starting dashboard activity with generic intent (package=" + targetPackage + ", class=" + targetClass + ")"); } - context.startActivity(intent); + try { + context.startActivity(intent); + } catch (ActivityNotFoundException e) { + Log.e(TAG, "Dashboard not installed; cannot start it."); + Toast.makeText(context, R.string.show_on_dashboard_not_installed, Toast.LENGTH_SHORT).show(); + } } /** diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index 5274ec704..52a26f9ef 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -666,5 +666,6 @@ limitations under the License. Select \"show on map\" behavior Ask OpenTracks Dashboard API + No application supporting OpenTracks Dashboard API installed. Always