mirror of
https://github.com/dzeiocom/OpenHealth.git
synced 2025-04-22 19:02:16 +00:00
fix: goal weight not being correctly updated (#150)
This commit is contained in:
parent
bcf8004497
commit
08f09cf06d
@ -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
|
||||
|
@ -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)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -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 {
|
||||
|
@ -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 {
|
||||
|
||||
|
@ -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
|
@ -18,8 +18,8 @@ object ServiceUtils {
|
||||
*/
|
||||
fun <T> startService(context: Context, service: Class<T>) {
|
||||
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
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user