From 0f4449cd879f8a69c4b3ddc13f7e94c00748fcf5 Mon Sep 17 00:00:00 2001 From: d3vv3 Date: Sun, 15 Mar 2026 01:39:34 +0100 Subject: [PATCH] fix: OpenTracks integration with all package names --- .../opentracks/OpenTracksController.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/opentracks/OpenTracksController.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/opentracks/OpenTracksController.java index f50e32d305..6a7c6275a5 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/opentracks/OpenTracksController.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/opentracks/OpenTracksController.java @@ -99,12 +99,19 @@ public class OpenTracksController extends Activity { moveTaskToBack(true); } - public static void sendIntent(Context context, String className, String category, OpenTracksActivityType openTracksActivityType) { + public static void sendIntent(Context context, String actionClassSuffix, String category, OpenTracksActivityType openTracksActivityType) { Prefs prefs = GBApplication.getPrefs(); String packageName = prefs.getString("opentracks_packagename", "de.dennisguse.opentracks"); + String classPackageBase = packageName; + if (packageName.startsWith("de.dennisguse.opentracks")) { + classPackageBase = "de.dennisguse.opentracks"; + } else if (packageName.startsWith("de.storchp.opentracks")) { + classPackageBase = "de.storchp.opentracks"; + } + Intent intent = new Intent(); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.setClassName(packageName, className); + intent.setClassName(packageName, classPackageBase + actionClassSuffix); intent.putExtra("STATS_TARGET_PACKAGE", context.getPackageName()); intent.putExtra("STATS_TARGET_CLASS", OpenTracksController.class.getName()); if (category != null) { @@ -121,7 +128,7 @@ public class OpenTracksController extends Activity { } public static void startRecording(Context context) { - sendIntent(context, "de.dennisguse.opentracks.publicapi.StartRecording", null, null); + sendIntent(context, ".publicapi.StartRecording", null, null); } public static void startRecording(Context context, ActivityKind activityKind) { @@ -131,11 +138,11 @@ public class OpenTracksController extends Activity { LOG.warn("Unmapped activity kind icon for {}", activityKind); } - sendIntent(context, "de.dennisguse.opentracks.publicapi.StartRecording", category, openTracksActivityType); + sendIntent(context, ".publicapi.StartRecording", category, openTracksActivityType); } public static void stopRecording(Context context) { - sendIntent(context, "de.dennisguse.opentracks.publicapi.StopRecording", null, null); + sendIntent(context, ".publicapi.StopRecording", null, null); OpenTracksContentObserver openTracksObserver = GBApplication.app().getOpenTracksObserver(); if (openTracksObserver != null) { saveToGpx(openTracksObserver.getActivityTrack());