From 69180dc3a46e011b8995adb2f377103bc1e4b422 Mon Sep 17 00:00:00 2001 From: Arjan Schrijver Date: Fri, 19 Jun 2026 23:21:29 +0200 Subject: [PATCH] Endurain: Fixes following from PR review --- .../activities/endurain/EndurainOAuthCallbackActivity.kt | 5 +++-- .../activities/endurain/EndurainSetupBottomSheet.kt | 8 +++----- .../activities/endurain/EndurainTokenManager.kt | 3 +-- app/src/main/res/menu/activity_take_screenshot_menu.xml | 2 +- app/src/main/res/values/strings.xml | 7 +++++-- .../main/res/xml/online_fitness_trackers_preferences.xml | 4 ++-- 6 files changed, 15 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/EndurainOAuthCallbackActivity.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/EndurainOAuthCallbackActivity.kt index 6444898336..e4e9cfbaa2 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/EndurainOAuthCallbackActivity.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/EndurainOAuthCallbackActivity.kt @@ -20,6 +20,7 @@ import android.content.Intent import android.net.Uri import android.os.Bundle import android.widget.Toast +import androidx.localbroadcastmanager.content.LocalBroadcastManager import nodomain.freeyourgadget.gadgetbridge.R import nodomain.freeyourgadget.gadgetbridge.activities.AbstractGBActivity import org.slf4j.LoggerFactory @@ -65,7 +66,7 @@ class EndurainOAuthCallbackActivity : AbstractGBActivity() { val resultIntent = Intent("nodomain.freeyourgadget.gadgetbridge.ENDURAIN_SSO_CALLBACK") resultIntent.putExtra("session_id", sessionId) resultIntent.putExtra("success", true) - sendBroadcast(resultIntent) + LocalBroadcastManager.getInstance(this).sendBroadcast(resultIntent) Toast.makeText(this, getString(R.string.endurain_oauth_completing_login), Toast.LENGTH_SHORT).show() @@ -76,7 +77,7 @@ class EndurainOAuthCallbackActivity : AbstractGBActivity() { // Broadcast failure val resultIntent = Intent("nodomain.freeyourgadget.gadgetbridge.ENDURAIN_SSO_CALLBACK") resultIntent.putExtra("success", false) - sendBroadcast(resultIntent) + LocalBroadcastManager.getInstance(this).sendBroadcast(resultIntent) } finish() diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/EndurainSetupBottomSheet.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/EndurainSetupBottomSheet.kt index 45ad89a84f..9afc9bb89d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/EndurainSetupBottomSheet.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/EndurainSetupBottomSheet.kt @@ -26,10 +26,10 @@ import android.view.View import android.view.ViewGroup import android.widget.Toast import androidx.browser.customtabs.CustomTabsIntent -import androidx.core.content.ContextCompat import androidx.core.content.edit import androidx.core.net.toUri import androidx.fragment.app.viewModels +import androidx.localbroadcastmanager.content.LocalBroadcastManager import com.google.android.material.bottomsheet.BottomSheetDialogFragment import com.google.android.material.button.MaterialButton import com.google.android.material.button.MaterialButtonToggleGroup @@ -107,11 +107,9 @@ class EndurainSetupBottomSheet : BottomSheetDialogFragment() { serverInput.setText(prefs.getString("endurain_server", "")) // Register broadcast receiver for SSO callbacks - ContextCompat.registerReceiver( - requireContext(), + LocalBroadcastManager.getInstance(requireContext()).registerReceiver( ssoCallbackReceiver, - IntentFilter("nodomain.freeyourgadget.gadgetbridge.ENDURAIN_SSO_CALLBACK"), - ContextCompat.RECEIVER_EXPORTED + IntentFilter("nodomain.freeyourgadget.gadgetbridge.ENDURAIN_SSO_CALLBACK") ) next.setOnClickListener { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/EndurainTokenManager.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/EndurainTokenManager.kt index 70e404b01f..5744e06b11 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/EndurainTokenManager.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/EndurainTokenManager.kt @@ -44,8 +44,7 @@ class EndurainTokenManager(context: Context) { putString("access_token", accessToken) .putString("refresh_token", refreshToken) .putInt("access_token_expires_at", accessTokenExpiryTs) - .putInt("refresh_token_expires_at", refreshTokenExpiryTs - ) + .putInt("refresh_token_expires_at", refreshTokenExpiryTs) } } diff --git a/app/src/main/res/menu/activity_take_screenshot_menu.xml b/app/src/main/res/menu/activity_take_screenshot_menu.xml index 2286372d7b..955e114d41 100644 --- a/app/src/main/res/menu/activity_take_screenshot_menu.xml +++ b/app/src/main/res/menu/activity_take_screenshot_menu.xml @@ -59,7 +59,7 @@ Online fitness trackers Configure how to reach and use online fitness trackers Network required - This integration requires network connectivity. Please install and enable the internet helper add-on app. + These integrations requires network connectivity. Please install and enable the internet helper add-on app. Endurain status Log in to Endurain Tap here to enter the Endurain server and log in @@ -4975,7 +4975,7 @@ Unable to share GPX track: %1$s Successfully uploaded to Endurain Error while uploading to Endurain - Unable to upload GPX file to Endurain: %1$s + Unable to upload activity file to Endurain: %1$s Endurain setup Endurain server Local @@ -4993,4 +4993,7 @@ Enter Wanderer API token Tap here to enter the Wanderer server and API token Log out of Wanderer + Endurain + Wanderer + Upload GPX to Wanderer diff --git a/app/src/main/res/xml/online_fitness_trackers_preferences.xml b/app/src/main/res/xml/online_fitness_trackers_preferences.xml index 943ebdebc1..befd1a6db3 100644 --- a/app/src/main/res/xml/online_fitness_trackers_preferences.xml +++ b/app/src/main/res/xml/online_fitness_trackers_preferences.xml @@ -7,7 +7,7 @@ android:title="@string/warning_network_required_title" android:summary="@string/warning_network_required_summary" /> + android:title="@string/pref_category_endurain"> + android:title="@string/pref_category_wanderer">