diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b89ea60..f58528c 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -169,16 +169,16 @@ kapt { dependencies { // Dzeio Charts - implementation("com.dzeio:charts:fe20f90654") + implementation("com.dzeio:charts:0.1.6") // Dzeio Crash Handler implementation("com.dzeio:crashhandler:1.0.1") // Core dependencies implementation("androidx.core:core-ktx:1.9.0") - implementation("androidx.appcompat:appcompat:1.7.0-alpha01") + implementation("androidx.appcompat:appcompat:1.7.0-alpha02") implementation("javax.inject:javax.inject:1") - implementation("com.google.android.material:material:1.9.0-alpha01") + implementation("com.google.android.material:material:1.9.0-alpha02") implementation("androidx.constraintlayout:constraintlayout:2.1.4") implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.5.1") implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1") @@ -201,7 +201,7 @@ dependencies { implementation("androidx.paging:paging-runtime-ktx:3.1.1") // Services - implementation("androidx.work:work-runtime-ktx:2.7.1") + implementation("androidx.work:work-runtime-ktx:2.8.0") implementation("androidx.core:core-ktx:1.9.0") // Tests diff --git a/app/src/main/java/com/dzeio/openhealth/ui/browse/BrowseFragment.kt b/app/src/main/java/com/dzeio/openhealth/ui/browse/BrowseFragment.kt index 98d3b42..9ee2b7e 100644 --- a/app/src/main/java/com/dzeio/openhealth/ui/browse/BrowseFragment.kt +++ b/app/src/main/java/com/dzeio/openhealth/ui/browse/BrowseFragment.kt @@ -12,7 +12,7 @@ import androidx.navigation.fragment.findNavController import com.dzeio.openhealth.R import com.dzeio.openhealth.core.BaseFragment import com.dzeio.openhealth.databinding.FragmentBrowseBinding -import com.dzeio.openhealth.utils.PermissionsManager +import com.dzeio.openhealth.utils.PermissionsUtils import com.google.android.material.card.MaterialCardView import dagger.hilt.android.AndroidEntryPoint @@ -59,14 +59,14 @@ class BrowseFragment : // since Android Q We need additionnal permissions if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { // check for activity permission - val activityPermission = PermissionsManager.hasPermission( + val activityPermission = PermissionsUtils.hasPermission( requireContext(), Manifest.permission.ACTIVITY_RECOGNITION ) // check for notification permission val notificationPermission = - Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && PermissionsManager.hasPermission( + Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && PermissionsUtils.hasPermission( requireContext(), Manifest.permission.POST_NOTIFICATIONS ) @@ -109,11 +109,9 @@ class BrowseFragment : // display the current user's weight viewModel.weight.observe(viewLifecycleOwner) { - binding.weightText.setText( - String.format( - resources.getString(R.string.weight_current), - String.format(resources.getString(R.string.unit_mass_kilogram_unit), it) - ) + binding.weightText.text = String.format( + resources.getString(R.string.weight_current), + String.format(resources.getString(R.string.unit_mass_kilogram_unit), it) ) } } diff --git a/app/src/main/java/com/dzeio/openhealth/ui/weight/ListWeightFragment.kt b/app/src/main/java/com/dzeio/openhealth/ui/weight/ListWeightFragment.kt index 5c6bf08..a1ac276 100644 --- a/app/src/main/java/com/dzeio/openhealth/ui/weight/ListWeightFragment.kt +++ b/app/src/main/java/com/dzeio/openhealth/ui/weight/ListWeightFragment.kt @@ -26,7 +26,7 @@ import com.dzeio.openhealth.core.BaseFragment import com.dzeio.openhealth.data.weight.Weight import com.dzeio.openhealth.databinding.FragmentListWeightBinding import com.dzeio.openhealth.units.Units -import com.dzeio.openhealth.utils.PermissionsManager +import com.dzeio.openhealth.utils.PermissionsUtils import com.google.android.material.color.MaterialColors import dagger.hilt.android.AndroidEntryPoint import java.text.DateFormat @@ -103,7 +103,7 @@ class ListWeightFragment : Manifest.permission.BLUETOOTH_SCAN, Manifest.permission.ACCESS_FINE_LOCATION ) - val hasPermission = PermissionsManager.hasPermission(requireContext(), permissions) + val hasPermission = PermissionsUtils.hasPermission(requireContext(), permissions) if (!hasPermission) { button = binding.bluetoothButton activityResult.launch(permissions) @@ -130,6 +130,19 @@ class ListWeightFragment : this.adapter = adapter } + viewModel.goalWeight.observe(viewLifecycleOwner) { + binding.chart.yAxis.apply { + clearLines() + if (it != null) { + addLine( + it, + Line(true, Paint(linePaint).apply { strokeWidth = 4f }) + ) + } + binding.chart.refresh() + } + } + viewModel.weights.observe(viewLifecycleOwner) { list -> if (list != null) { val unit = viewModel.massUnit.value ?: Units.Mass.KILOGRAM @@ -231,13 +244,6 @@ class ListWeightFragment : } serie.entries = entries - if (viewModel.goalWeight.value != null) { - chart.yAxis.addLine( - viewModel.goalWeight.value!!, - Line(true, Paint(chart.yAxis.linePaint).apply { strokeWidth = 4f }) - ) - } - if (list.isEmpty()) { chart.xAxis.x = 0.0 } else { diff --git a/app/src/main/java/com/dzeio/openhealth/utils/DrawUtils.kt b/app/src/main/java/com/dzeio/openhealth/utils/DrawUtils.kt index 9b490c1..ae5229f 100644 --- a/app/src/main/java/com/dzeio/openhealth/utils/DrawUtils.kt +++ b/app/src/main/java/com/dzeio/openhealth/utils/DrawUtils.kt @@ -5,7 +5,7 @@ import android.graphics.Paint import android.graphics.RectF /** - * Utils class to draw more complexe elements on a canvas + * Utils class to draw more complex elements on a canvas */ object DrawUtils { diff --git a/app/src/main/java/com/dzeio/openhealth/utils/PermissionsManager.kt b/app/src/main/java/com/dzeio/openhealth/utils/PermissionsUtils.kt similarity index 97% rename from app/src/main/java/com/dzeio/openhealth/utils/PermissionsManager.kt rename to app/src/main/java/com/dzeio/openhealth/utils/PermissionsUtils.kt index 4c0e838..1f54ab6 100644 --- a/app/src/main/java/com/dzeio/openhealth/utils/PermissionsManager.kt +++ b/app/src/main/java/com/dzeio/openhealth/utils/PermissionsUtils.kt @@ -8,7 +8,7 @@ import androidx.core.content.ContextCompat /** * Simple Utils class to check for permissions in multiple android environments */ -object PermissionsManager { +object PermissionsUtils { /** * Allow to check for one permission diff --git a/app/src/main/java/com/dzeio/openhealth/utils/ServiceUtils.kt b/app/src/main/java/com/dzeio/openhealth/utils/ServiceUtils.kt index 67ac5f6..144147f 100644 --- a/app/src/main/java/com/dzeio/openhealth/utils/ServiceUtils.kt +++ b/app/src/main/java/com/dzeio/openhealth/utils/ServiceUtils.kt @@ -18,8 +18,8 @@ object ServiceUtils { */ fun startService(context: Context, service: Class) { val activityManager = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager - for (runninService in activityManager.getRunningServices(Integer.MAX_VALUE)) { - if (service.name.equals(runninService.service.className)) { + for (runningService in activityManager.getRunningServices(Integer.MAX_VALUE)) { + if (service.name.equals(runningService.service.className)) { Log.w(Application.TAG, "Service already existing, not starting again") return }