diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index eb3dbb2073..234d48ff6d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -260,8 +260,8 @@
android:label="@string/healthconnect_settings"
android:parentActivityName=".activities.SettingsActivity" />
{
- Intent enableIntent = new Intent(requireContext(), EndurainPreferencesActivity.class);
+ Intent enableIntent = new Intent(requireContext(), OnlineFitnessTrackersPreferencesActivity.class);
startActivity(enableIntent);
return true;
});
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 082c014594..6444898336 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
@@ -35,7 +35,7 @@ class EndurainOAuthCallbackActivity : AbstractGBActivity() {
super.onCreate(savedInstanceState)
// Bring us back to front to dismiss the custom tab
- val dismissIntent = Intent(applicationContext, EndurainPreferencesActivity::class.java).apply {
+ val dismissIntent = Intent(applicationContext, OnlineFitnessTrackersPreferencesActivity::class.java).apply {
flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP
}
startActivity(dismissIntent)
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/EndurainPreferencesActivity.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/OnlineFitnessTrackersPreferencesActivity.kt
similarity index 94%
rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/EndurainPreferencesActivity.kt
rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/OnlineFitnessTrackersPreferencesActivity.kt
index ae750d35ba..3229de3150 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/EndurainPreferencesActivity.kt
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/endurain/OnlineFitnessTrackersPreferencesActivity.kt
@@ -28,16 +28,16 @@ import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivityV
import nodomain.freeyourgadget.gadgetbridge.util.DateTimeUtils
import nodomain.freeyourgadget.gadgetbridge.util.GB
-class EndurainPreferencesActivity : AbstractSettingsActivityV2() {
+class OnlineFitnessTrackersPreferencesActivity : AbstractSettingsActivityV2() {
override fun newFragment(): PreferenceFragmentCompat =
- EndurainPreferencesFragment()
+ OnlineFitnessTrackersPreferencesFragment()
- class EndurainPreferencesFragment : AbstractPreferenceFragment() {
+ class OnlineFitnessTrackersPreferencesFragment : AbstractPreferenceFragment() {
private val vm: EndurainSetupViewModel by viewModels()
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
- setPreferencesFromResource(R.xml.endurain_preferences, rootKey)
+ setPreferencesFromResource(R.xml.online_fitness_trackers_preferences, rootKey)
updateNetworkWarning()
wireLoginPreference()
diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/workouts/WorkoutDetailsFragment.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/workouts/WorkoutDetailsFragment.kt
index 90b3a48f72..ae370d335c 100644
--- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/workouts/WorkoutDetailsFragment.kt
+++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/workouts/WorkoutDetailsFragment.kt
@@ -704,7 +704,8 @@ class WorkoutDetailsFragment : Fragment(), MenuProvider {
val gpxFile = ActivitySummaryUtils.getShareableGpxFile(activityTrackProvider, workout.summary)
if (gpxFile == null) {
- GB.toast(requireContext(), "No GPX track in this activity", Toast.LENGTH_LONG, GB.INFO)
+ GB.toast(requireContext(),
+ getString(R.string.no_gpx_track_in_activity_toast), Toast.LENGTH_LONG, GB.INFO)
return
}
@@ -713,7 +714,7 @@ class WorkoutDetailsFragment : Fragment(), MenuProvider {
} catch (e: Exception) {
GB.toast(
requireContext(),
- "Unable to display GPX track: ${e.localizedMessage}",
+ getString(R.string.unable_to_display_gpx_track_toast, e.localizedMessage),
Toast.LENGTH_LONG,
GB.ERROR,
e
@@ -727,7 +728,7 @@ class WorkoutDetailsFragment : Fragment(), MenuProvider {
val gpxFile = ActivitySummaryUtils.getShareableGpxFile(activityTrackProvider, workout.summary)
if (gpxFile == null) {
- GB.toast(requireContext(), "No GPX track in this activity", Toast.LENGTH_LONG, GB.INFO)
+ GB.toast(requireContext(), getString(R.string.no_gpx_track_in_activity_toast), Toast.LENGTH_LONG, GB.INFO)
return
}
@@ -736,7 +737,7 @@ class WorkoutDetailsFragment : Fragment(), MenuProvider {
} catch (e: Exception) {
GB.toast(
requireContext(),
- "Unable to share GPX track: ${e.localizedMessage}",
+ getString(R.string.unable_to_share_gpx_track_toast, e.localizedMessage),
Toast.LENGTH_LONG,
GB.ERROR,
e
@@ -752,7 +753,7 @@ class WorkoutDetailsFragment : Fragment(), MenuProvider {
val gpxFile = ActivitySummaryUtils.getShareableGpxFile(activityTrackProvider, workout.summary)
if (gpxFile == null) {
- GB.toast("No GPX track in this activity", Toast.LENGTH_LONG, GB.INFO)
+ GB.toast(getString(R.string.no_gpx_track_in_activity_toast), Toast.LENGTH_LONG, GB.INFO)
return
}
@@ -770,13 +771,13 @@ class WorkoutDetailsFragment : Fragment(), MenuProvider {
activity?.runOnUiThread {
if (newId != null)
GB.toast(
- "Successfully uploaded to Endurain",
+ getString(R.string.endurain_successfully_uploaded_toast),
Toast.LENGTH_SHORT,
GB.INFO
)
else
GB.toast(
- "Error while uploading to Endurain",
+ getString(R.string.endurain_error_while_uploading_toast),
Toast.LENGTH_SHORT,
GB.INFO
)
@@ -785,7 +786,7 @@ class WorkoutDetailsFragment : Fragment(), MenuProvider {
}
} catch (e: Exception) {
GB.toast(
- "Unable to upload GPX file to Endurain: ${e.localizedMessage}",
+ getString(R.string.endurain_unable_to_upload_gpx_file_toast, e.localizedMessage),
Toast.LENGTH_LONG,
GB.ERROR,
e
diff --git a/app/src/main/res/layout/endurain_bottomsheet_setup_wizard.xml b/app/src/main/res/layout/endurain_bottomsheet_setup_wizard.xml
index f6621947eb..dcb671a9ba 100644
--- a/app/src/main/res/layout/endurain_bottomsheet_setup_wizard.xml
+++ b/app/src/main/res/layout/endurain_bottomsheet_setup_wizard.xml
@@ -12,7 +12,7 @@
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:text="Endurain setup"
+ android:text="@string/endurain_setup_title"
android:textAppearance="?attr/textAppearanceHeadlineSmall" />
@@ -20,7 +20,7 @@
android:id="@+id/server_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:hint="Endurain server">
+ android:hint="@string/endurain_setup_server">
+ android:text="@string/endurain_setup_login_type_local" />
+ android:text="@string/endurain_setup_login_type_sso" />
@@ -91,7 +91,7 @@
android:id="@+id/mfa_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:hint="MFA Code"
+ android:hint="@string/endurain_setup_mfa_code"
android:inputType="number"
android:maxLength="6" />
@@ -114,7 +114,7 @@
android:id="@+id/next_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="Next" />
+ android:text="@string/endurain_setup_next" />
\ No newline at end of file
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 b4e6a9326c..86c4481c47 100644
--- a/app/src/main/res/menu/activity_take_screenshot_menu.xml
+++ b/app/src/main/res/menu/activity_take_screenshot_menu.xml
@@ -53,7 +53,7 @@
- \nServer version: %1$s
Logout failed
Logged out successfully
+ 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.
+ Endurain status
+ Log in to Endurain
+ Tap here to enter the Endurain server and log in
+ Log out of Endurain
+ Tap here to log out, this disables the integration
+ No GPX track in this activity
+ Unable to display GPX track: %1$s
+ 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
+ Endurain setup
+ Endurain server
+ Local
+ SSO
+ MFA code
+ Next
+ Upload to Endurain
diff --git a/app/src/main/res/xml/endurain_preferences.xml b/app/src/main/res/xml/endurain_preferences.xml
deleted file mode 100644
index fdea266e12..0000000000
--- a/app/src/main/res/xml/endurain_preferences.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/xml/online_fitness_trackers_preferences.xml b/app/src/main/res/xml/online_fitness_trackers_preferences.xml
new file mode 100644
index 0000000000..778dfd8b19
--- /dev/null
+++ b/app/src/main/res/xml/online_fitness_trackers_preferences.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index ff1effc028..3760ab9890 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -388,12 +388,11 @@
android:title="@string/prefs_internet_helper_title"
android:summary="@string/prefs_internet_helper_summary" />
-
+ android:key="pref_category_online_fitness_trackers"
+ android:title="@string/prefs_online_fitness_trackers_title"
+ android:summary="@string/prefs_online_fitness_trackers_summary" />