mirror of
https://github.com/dzeiocom/OpenHealth.git
synced 2025-08-02 22:41:59 +00:00
fix: goal weight not being correctly updated (#150)
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user