1
0
mirror of https://github.com/oliexdev/openScale.git synced 2025-08-17 22:11:35 +02:00

Refactor UserDetailScreen to use UTC for date calculations

This commit is contained in:
oliexdev
2025-08-13 09:39:41 +02:00
parent e5e670835a
commit aa7a923946

View File

@@ -65,10 +65,12 @@ import com.health.openscale.core.data.User
import com.health.openscale.core.data.WeightUnit import com.health.openscale.core.data.WeightUnit
import com.health.openscale.ui.screen.SharedViewModel import com.health.openscale.ui.screen.SharedViewModel
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import java.text.DateFormat
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Calendar import java.util.Calendar
import java.util.Date import java.util.Date
import java.util.Locale import java.util.Locale
import java.util.TimeZone
/** /**
* Composable screen for adding a new user or editing an existing user's details. * Composable screen for adding a new user or editing an existing user's details.
@@ -103,7 +105,7 @@ fun UserDetailScreen(
if (initialBirthDate != null) { if (initialBirthDate != null) {
mutableStateOf(initialBirthDate) mutableStateOf(initialBirthDate)
} else { } else {
val calendar = Calendar.getInstance() val calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"))
calendar.add(Calendar.YEAR, -18) calendar.add(Calendar.YEAR, -18)
mutableStateOf(calendar.timeInMillis) mutableStateOf(calendar.timeInMillis)
} }
@@ -115,7 +117,11 @@ fun UserDetailScreen(
var measureUnit by remember { mutableStateOf(user?.measureUnit ?: MeasureUnit.CM) } var measureUnit by remember { mutableStateOf(user?.measureUnit ?: MeasureUnit.CM) }
val context = LocalContext.current val context = LocalContext.current
val dateFormatter = remember { SimpleDateFormat("dd.MM.yyyy", Locale.getDefault()) } val dateFormatter = remember {
DateFormat.getDateInstance(DateFormat.DEFAULT, Locale.getDefault()).apply {
timeZone = TimeZone.getTimeZone("UTC")
}
}
val datePickerState = rememberDatePickerState(initialSelectedDateMillis = birthDate) val datePickerState = rememberDatePickerState(initialSelectedDateMillis = birthDate)
var showDatePicker by remember { mutableStateOf(false) } var showDatePicker by remember { mutableStateOf(false) }
var activityLevelExpanded by remember { mutableStateOf(false) } var activityLevelExpanded by remember { mutableStateOf(false) }