diff --git a/app/src/main/java/net/ardevd/tagius/core/data/TimeTaggerVersionResponse.kt b/app/src/main/java/net/ardevd/tagius/core/data/TimeTaggerVersionResponse.kt new file mode 100644 index 0000000..0d300cb --- /dev/null +++ b/app/src/main/java/net/ardevd/tagius/core/data/TimeTaggerVersionResponse.kt @@ -0,0 +1,5 @@ +package net.ardevd.tagius.core.data + +data class TimeTaggerVersionResponse( + val version: String +) \ No newline at end of file diff --git a/app/src/main/java/net/ardevd/tagius/core/network/TimeTaggerApiService.kt b/app/src/main/java/net/ardevd/tagius/core/network/TimeTaggerApiService.kt index 4b5b65b..308e7dd 100644 --- a/app/src/main/java/net/ardevd/tagius/core/network/TimeTaggerApiService.kt +++ b/app/src/main/java/net/ardevd/tagius/core/network/TimeTaggerApiService.kt @@ -18,6 +18,9 @@ interface TimeTaggerApiService { @GET("settings") suspend fun getSettings(): Any + @GET("version") + suspend fun getVersion(): net.ardevd.tagius.core.data.TimeTaggerVersionResponse + @GET("records") suspend fun getRecords( @Query("timerange") timerange: String, diff --git a/app/src/main/java/net/ardevd/tagius/features/settings/ui/SettingsBottomSheet.kt b/app/src/main/java/net/ardevd/tagius/features/settings/ui/SettingsBottomSheet.kt index 30e655e..cf087cf 100644 --- a/app/src/main/java/net/ardevd/tagius/features/settings/ui/SettingsBottomSheet.kt +++ b/app/src/main/java/net/ardevd/tagius/features/settings/ui/SettingsBottomSheet.kt @@ -12,6 +12,7 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch import net.ardevd.tagius.core.data.TokenManager +import net.ardevd.tagius.core.network.RetrofitClient import net.ardevd.tagius.databinding.FragmentSettingsBinding class SettingsBottomSheet : BottomSheetDialogFragment() { @@ -35,6 +36,15 @@ class SettingsBottomSheet : BottomSheetDialogFragment() { viewLifecycleOwner.lifecycleScope.launch { val url = TokenManager(requireContext()).serverUrlFlow.first() binding.serverUrlText.text = url + + try { + val apiService = RetrofitClient.getInstance(requireContext()) + val versionResponse = apiService.getVersion() + binding.serverVersionText.text = getString(net.ardevd.tagius.R.string.settings_server_version, versionResponse.version) + binding.serverVersionText.visibility = View.VISIBLE + } catch (e: Exception) { + binding.serverVersionText.visibility = View.GONE + } } // Handle Logout diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index 892b756..11592b1 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -55,6 +55,16 @@ android:text="@string/login_server_url_default" android:textAppearance="?attr/textAppearanceBodyLarge" android:textStyle="bold" /> + + diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml index cd6cb02..bab4428 100644 --- a/app/src/main/res/values-no/strings.xml +++ b/app/src/main/res/values-no/strings.xml @@ -31,6 +31,7 @@ Varighet per dag Kontoinnstillinger Tilkoblet + Serverversjon: %1$s Dynamisk Tema Logg Ut Innstillinger diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8489639..f480599 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -42,6 +42,7 @@ Account Settings Connected to + Server Version: %1$s Dynamic Theme Log Out Settings