Skip to content

Commit fbb652a

Browse files
committed
fix: Date and time picker dialog would send the wrong date to the material date picker
1 parent ebe71dd commit fbb652a

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

app/src/main/java/com/infomaniak/mail/ui/alertDialogs/SelectDateAndTimeForScheduledDraftDialog.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import dagger.hilt.android.qualifiers.ActivityContext
3232
import dagger.hilt.android.scopes.ActivityScoped
3333
import java.util.Calendar
3434
import java.util.Date
35+
import java.util.TimeZone
3536
import javax.inject.Inject
3637
import com.infomaniak.lib.core.R as RCore
3738

@@ -153,9 +154,12 @@ open class SelectDateAndTimeForScheduledDraftDialog @Inject constructor(
153154
)
154155
val constraintsBuilder = CalendarConstraints.Builder().setValidator(CompositeDateValidator.allOf(dateValidators))
155156

157+
// MaterialDatePicker expects the `setSelection()` time to be defined as UTC time and not local time
158+
val utcTime = dateToDisplay.time + TimeZone.getDefault().getOffset(dateToDisplay.time)
159+
156160
val datePicker = MaterialDatePicker.Builder.datePicker()
157161
.setTitleText(binding.context.getString(R.string.selectDateDialogTitle))
158-
.setSelection(dateToDisplay.time)
162+
.setSelection(utcTime)
159163
.setCalendarConstraints(constraintsBuilder.build())
160164
.build()
161165

0 commit comments

Comments
 (0)