mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
Endurain: Make remaining strings translatable and rename settings screen
This commit is contained in:
@@ -260,8 +260,8 @@
|
|||||||
android:label="@string/healthconnect_settings"
|
android:label="@string/healthconnect_settings"
|
||||||
android:parentActivityName=".activities.SettingsActivity" />
|
android:parentActivityName=".activities.SettingsActivity" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.endurain.EndurainPreferencesActivity"
|
android:name=".activities.endurain.OnlineFitnessTrackersPreferencesActivity"
|
||||||
android:label="Endurain"
|
android:label="@string/prefs_online_fitness_trackers_title"
|
||||||
android:parentActivityName=".activities.SettingsActivity" />
|
android:parentActivityName=".activities.SettingsActivity" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.AboutUserPreferencesActivity"
|
android:name=".activities.AboutUserPreferencesActivity"
|
||||||
|
|||||||
+3
-3
@@ -66,7 +66,7 @@ import nodomain.freeyourgadget.gadgetbridge.R;
|
|||||||
import nodomain.freeyourgadget.gadgetbridge.activities.automations.AutomationsSettingsActivity;
|
import nodomain.freeyourgadget.gadgetbridge.activities.automations.AutomationsSettingsActivity;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.activities.charts.ChartsPreferencesActivity;
|
import nodomain.freeyourgadget.gadgetbridge.activities.charts.ChartsPreferencesActivity;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.activities.discovery.DiscoveryPairingPreferenceActivity;
|
import nodomain.freeyourgadget.gadgetbridge.activities.discovery.DiscoveryPairingPreferenceActivity;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.activities.endurain.EndurainPreferencesActivity;
|
import nodomain.freeyourgadget.gadgetbridge.activities.endurain.OnlineFitnessTrackersPreferencesActivity;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.activities.maps.MapsSettingsActivity;
|
import nodomain.freeyourgadget.gadgetbridge.activities.maps.MapsSettingsActivity;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.activities.preferences.HealthConnectPreferencesActivity;
|
import nodomain.freeyourgadget.gadgetbridge.activities.preferences.HealthConnectPreferencesActivity;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.externalevents.TimeChangeReceiver;
|
import nodomain.freeyourgadget.gadgetbridge.externalevents.TimeChangeReceiver;
|
||||||
@@ -415,10 +415,10 @@ public class SettingsActivity extends AbstractSettingsActivityV2 {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
pref = findPreference("pref_category_endurain");
|
pref = findPreference("pref_category_online_fitness_trackers");
|
||||||
if (pref != null) {
|
if (pref != null) {
|
||||||
pref.setOnPreferenceClickListener(preference -> {
|
pref.setOnPreferenceClickListener(preference -> {
|
||||||
Intent enableIntent = new Intent(requireContext(), EndurainPreferencesActivity.class);
|
Intent enableIntent = new Intent(requireContext(), OnlineFitnessTrackersPreferencesActivity.class);
|
||||||
startActivity(enableIntent);
|
startActivity(enableIntent);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|||||||
+1
-1
@@ -35,7 +35,7 @@ class EndurainOAuthCallbackActivity : AbstractGBActivity() {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
// Bring us back to front to dismiss the custom tab
|
// 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
|
flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP
|
||||||
}
|
}
|
||||||
startActivity(dismissIntent)
|
startActivity(dismissIntent)
|
||||||
|
|||||||
+4
-4
@@ -28,16 +28,16 @@ import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivityV
|
|||||||
import nodomain.freeyourgadget.gadgetbridge.util.DateTimeUtils
|
import nodomain.freeyourgadget.gadgetbridge.util.DateTimeUtils
|
||||||
import nodomain.freeyourgadget.gadgetbridge.util.GB
|
import nodomain.freeyourgadget.gadgetbridge.util.GB
|
||||||
|
|
||||||
class EndurainPreferencesActivity : AbstractSettingsActivityV2() {
|
class OnlineFitnessTrackersPreferencesActivity : AbstractSettingsActivityV2() {
|
||||||
override fun newFragment(): PreferenceFragmentCompat =
|
override fun newFragment(): PreferenceFragmentCompat =
|
||||||
EndurainPreferencesFragment()
|
OnlineFitnessTrackersPreferencesFragment()
|
||||||
|
|
||||||
class EndurainPreferencesFragment : AbstractPreferenceFragment() {
|
class OnlineFitnessTrackersPreferencesFragment : AbstractPreferenceFragment() {
|
||||||
|
|
||||||
private val vm: EndurainSetupViewModel by viewModels()
|
private val vm: EndurainSetupViewModel by viewModels()
|
||||||
|
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
setPreferencesFromResource(R.xml.endurain_preferences, rootKey)
|
setPreferencesFromResource(R.xml.online_fitness_trackers_preferences, rootKey)
|
||||||
|
|
||||||
updateNetworkWarning()
|
updateNetworkWarning()
|
||||||
wireLoginPreference()
|
wireLoginPreference()
|
||||||
+9
-8
@@ -704,7 +704,8 @@ class WorkoutDetailsFragment : Fragment(), MenuProvider {
|
|||||||
val gpxFile = ActivitySummaryUtils.getShareableGpxFile(activityTrackProvider, workout.summary)
|
val gpxFile = ActivitySummaryUtils.getShareableGpxFile(activityTrackProvider, workout.summary)
|
||||||
|
|
||||||
if (gpxFile == null) {
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -713,7 +714,7 @@ class WorkoutDetailsFragment : Fragment(), MenuProvider {
|
|||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
GB.toast(
|
GB.toast(
|
||||||
requireContext(),
|
requireContext(),
|
||||||
"Unable to display GPX track: ${e.localizedMessage}",
|
getString(R.string.unable_to_display_gpx_track_toast, e.localizedMessage),
|
||||||
Toast.LENGTH_LONG,
|
Toast.LENGTH_LONG,
|
||||||
GB.ERROR,
|
GB.ERROR,
|
||||||
e
|
e
|
||||||
@@ -727,7 +728,7 @@ class WorkoutDetailsFragment : Fragment(), MenuProvider {
|
|||||||
val gpxFile = ActivitySummaryUtils.getShareableGpxFile(activityTrackProvider, workout.summary)
|
val gpxFile = ActivitySummaryUtils.getShareableGpxFile(activityTrackProvider, workout.summary)
|
||||||
|
|
||||||
if (gpxFile == null) {
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -736,7 +737,7 @@ class WorkoutDetailsFragment : Fragment(), MenuProvider {
|
|||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
GB.toast(
|
GB.toast(
|
||||||
requireContext(),
|
requireContext(),
|
||||||
"Unable to share GPX track: ${e.localizedMessage}",
|
getString(R.string.unable_to_share_gpx_track_toast, e.localizedMessage),
|
||||||
Toast.LENGTH_LONG,
|
Toast.LENGTH_LONG,
|
||||||
GB.ERROR,
|
GB.ERROR,
|
||||||
e
|
e
|
||||||
@@ -752,7 +753,7 @@ class WorkoutDetailsFragment : Fragment(), MenuProvider {
|
|||||||
val gpxFile = ActivitySummaryUtils.getShareableGpxFile(activityTrackProvider, workout.summary)
|
val gpxFile = ActivitySummaryUtils.getShareableGpxFile(activityTrackProvider, workout.summary)
|
||||||
|
|
||||||
if (gpxFile == null) {
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -770,13 +771,13 @@ class WorkoutDetailsFragment : Fragment(), MenuProvider {
|
|||||||
activity?.runOnUiThread {
|
activity?.runOnUiThread {
|
||||||
if (newId != null)
|
if (newId != null)
|
||||||
GB.toast(
|
GB.toast(
|
||||||
"Successfully uploaded to Endurain",
|
getString(R.string.endurain_successfully_uploaded_toast),
|
||||||
Toast.LENGTH_SHORT,
|
Toast.LENGTH_SHORT,
|
||||||
GB.INFO
|
GB.INFO
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
GB.toast(
|
GB.toast(
|
||||||
"Error while uploading to Endurain",
|
getString(R.string.endurain_error_while_uploading_toast),
|
||||||
Toast.LENGTH_SHORT,
|
Toast.LENGTH_SHORT,
|
||||||
GB.INFO
|
GB.INFO
|
||||||
)
|
)
|
||||||
@@ -785,7 +786,7 @@ class WorkoutDetailsFragment : Fragment(), MenuProvider {
|
|||||||
}
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
GB.toast(
|
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,
|
Toast.LENGTH_LONG,
|
||||||
GB.ERROR,
|
GB.ERROR,
|
||||||
e
|
e
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
android:id="@+id/title"
|
android:id="@+id/title"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Endurain setup"
|
android:text="@string/endurain_setup_title"
|
||||||
android:textAppearance="?attr/textAppearanceHeadlineSmall" />
|
android:textAppearance="?attr/textAppearanceHeadlineSmall" />
|
||||||
|
|
||||||
<!-- SERVER -->
|
<!-- SERVER -->
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
android:id="@+id/server_layout"
|
android:id="@+id/server_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:hint="Endurain server">
|
android:hint="@string/endurain_setup_server">
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
android:id="@+id/server_input"
|
android:id="@+id/server_input"
|
||||||
@@ -42,14 +42,14 @@
|
|||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:text="Local" />
|
android:text="@string/endurain_setup_login_type_local" />
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/sso_login_button"
|
android:id="@+id/sso_login_button"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:text="SSO" />
|
android:text="@string/endurain_setup_login_type_sso" />
|
||||||
</com.google.android.material.button.MaterialButtonToggleGroup>
|
</com.google.android.material.button.MaterialButtonToggleGroup>
|
||||||
|
|
||||||
<!-- LOCAL LOGIN -->
|
<!-- LOCAL LOGIN -->
|
||||||
@@ -91,7 +91,7 @@
|
|||||||
android:id="@+id/mfa_input"
|
android:id="@+id/mfa_input"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:hint="MFA Code"
|
android:hint="@string/endurain_setup_mfa_code"
|
||||||
android:inputType="number"
|
android:inputType="number"
|
||||||
android:maxLength="6" />
|
android:maxLength="6" />
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
@@ -114,7 +114,7 @@
|
|||||||
android:id="@+id/next_button"
|
android:id="@+id/next_button"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Next" />
|
android:text="@string/endurain_setup_next" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
<item
|
<item
|
||||||
android:id="@+id/activity_action_upload_to_endurain"
|
android:id="@+id/activity_action_upload_to_endurain"
|
||||||
android:icon="@drawable/ic_file_upload"
|
android:icon="@drawable/ic_file_upload"
|
||||||
android:title="Upload to Endurain"
|
android:title="@string/activity_detail_upload_to_endurain"
|
||||||
app:showAsAction="never" />
|
app:showAsAction="never" />
|
||||||
|
|
||||||
<item
|
<item
|
||||||
|
|||||||
@@ -4960,4 +4960,26 @@
|
|||||||
<string name="endurain_server_version">\nServer version: %1$s</string>
|
<string name="endurain_server_version">\nServer version: %1$s</string>
|
||||||
<string name="endurain_logout_failed">Logout failed</string>
|
<string name="endurain_logout_failed">Logout failed</string>
|
||||||
<string name="endurain_logged_out_successfully">Logged out successfully</string>
|
<string name="endurain_logged_out_successfully">Logged out successfully</string>
|
||||||
|
<string name="prefs_online_fitness_trackers_title">Online fitness trackers</string>
|
||||||
|
<string name="prefs_online_fitness_trackers_summary">Configure how to reach and use online fitness trackers</string>
|
||||||
|
<string name="warning_network_required_title">Network required</string>
|
||||||
|
<string name="warning_network_required_summary">This integration requires network connectivity. Please install and enable the internet helper add-on app.</string>
|
||||||
|
<string name="pref_info_endurain_status_title">Endurain status</string>
|
||||||
|
<string name="pref_endurain_log_in_title">Log in to Endurain</string>
|
||||||
|
<string name="pref_endurain_log_in_summary">Tap here to enter the Endurain server and log in</string>
|
||||||
|
<string name="pref_endurain_log_out_title">Log out of Endurain</string>
|
||||||
|
<string name="pref_endurain_log_out_summary">Tap here to log out, this disables the integration</string>
|
||||||
|
<string name="no_gpx_track_in_activity_toast">No GPX track in this activity</string>
|
||||||
|
<string name="unable_to_display_gpx_track_toast">Unable to display GPX track: %1$s</string>
|
||||||
|
<string name="unable_to_share_gpx_track_toast">Unable to share GPX track: %1$s</string>
|
||||||
|
<string name="endurain_successfully_uploaded_toast">Successfully uploaded to Endurain</string>
|
||||||
|
<string name="endurain_error_while_uploading_toast">Error while uploading to Endurain</string>
|
||||||
|
<string name="endurain_unable_to_upload_gpx_file_toast">Unable to upload GPX file to Endurain: %1$s</string>
|
||||||
|
<string name="endurain_setup_title">Endurain setup</string>
|
||||||
|
<string name="endurain_setup_server">Endurain server</string>
|
||||||
|
<string name="endurain_setup_login_type_local">Local</string>
|
||||||
|
<string name="endurain_setup_login_type_sso">SSO</string>
|
||||||
|
<string name="endurain_setup_mfa_code">MFA code</string>
|
||||||
|
<string name="endurain_setup_next">Next</string>
|
||||||
|
<string name="activity_detail_upload_to_endurain">Upload to Endurain</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<PreferenceScreen
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
<Preference
|
|
||||||
android:icon="@drawable/ic_warning"
|
|
||||||
android:key="pref_key_network_required"
|
|
||||||
android:title="Network required"
|
|
||||||
android:summary="This integration requires network connectivity. Please install and enable the internet helper add-on app." />
|
|
||||||
<Preference
|
|
||||||
android:icon="@drawable/ic_info"
|
|
||||||
android:key="pref_key_status"
|
|
||||||
android:title="Endurain status"
|
|
||||||
android:summary="Logged in on endurain.example.com" />
|
|
||||||
<Preference
|
|
||||||
android:icon="@drawable/ic_language"
|
|
||||||
android:key="pref_key_log_in"
|
|
||||||
android:title="Log in to Endurain"
|
|
||||||
android:summary="Tap here to enter the Endurain server and log in" />
|
|
||||||
<Preference
|
|
||||||
android:icon="@drawable/ic_language"
|
|
||||||
android:key="pref_key_log_out"
|
|
||||||
android:title="Log out of Endurain"
|
|
||||||
android:summary="Tap here to log out, this disables the integration" />
|
|
||||||
</PreferenceScreen>
|
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<PreferenceScreen
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<Preference
|
||||||
|
android:icon="@drawable/ic_warning"
|
||||||
|
android:key="pref_key_network_required"
|
||||||
|
android:title="@string/warning_network_required_title"
|
||||||
|
android:summary="@string/warning_network_required_summary" />
|
||||||
|
<PreferenceCategory
|
||||||
|
android:title="Endurain">
|
||||||
|
<Preference
|
||||||
|
android:icon="@drawable/ic_info"
|
||||||
|
android:key="pref_key_status"
|
||||||
|
android:title="@string/pref_info_endurain_status_title"
|
||||||
|
android:summary="Logged in on endurain.example.com" />
|
||||||
|
<Preference
|
||||||
|
android:icon="@drawable/ic_language"
|
||||||
|
android:key="pref_key_log_in"
|
||||||
|
android:title="@string/pref_endurain_log_in_title"
|
||||||
|
android:summary="@string/pref_endurain_log_in_summary" />
|
||||||
|
<Preference
|
||||||
|
android:icon="@drawable/ic_language"
|
||||||
|
android:key="pref_key_log_out"
|
||||||
|
android:title="@string/pref_endurain_log_out_title"
|
||||||
|
android:summary="@string/pref_endurain_log_out_summary" />
|
||||||
|
</PreferenceCategory>
|
||||||
|
</PreferenceScreen>
|
||||||
@@ -388,12 +388,11 @@
|
|||||||
android:title="@string/prefs_internet_helper_title"
|
android:title="@string/prefs_internet_helper_title"
|
||||||
android:summary="@string/prefs_internet_helper_summary" />
|
android:summary="@string/prefs_internet_helper_summary" />
|
||||||
|
|
||||||
<!-- FIXME: Use Endurain logo and translate strings -->
|
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
android:icon="@drawable/ic_shoe"
|
android:icon="@drawable/ic_shoe"
|
||||||
android:key="pref_category_endurain"
|
android:key="pref_category_online_fitness_trackers"
|
||||||
android:title="Endurain"
|
android:title="@string/prefs_online_fitness_trackers_title"
|
||||||
android:summary="Configure how to reach and use this self-hosted online fitness tracker" />
|
android:summary="@string/prefs_online_fitness_trackers_summary" />
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
|
|||||||
Reference in New Issue
Block a user