Skip to content

Commit 27f14c1

Browse files
committed
More refine to datePicker
1 parent e42650b commit 27f14c1

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

app/src/main/java/org/wikipedia/donate/DonorHistoryActivity.kt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ import android.view.Menu
88
import android.view.MenuItem
99
import androidx.activity.viewModels
1010
import androidx.core.view.isVisible
11+
import com.google.android.material.datepicker.CalendarConstraints
12+
import com.google.android.material.datepicker.DateValidatorPointBackward
1113
import com.google.android.material.datepicker.MaterialDatePicker
1214
import com.google.android.material.dialog.MaterialAlertDialogBuilder
1315
import org.wikipedia.Constants
@@ -114,7 +116,7 @@ class DonorHistoryActivity : BaseActivity() {
114116
binding.lastDonationDate.text = DateUtils.getRelativeTimeSpanString(
115117
viewModel.dateTimeToMilli(it),
116118
System.currentTimeMillis(),
117-
0L
119+
DateUtils.DAY_IN_MILLIS
118120
)
119121
}
120122
}
@@ -135,15 +137,22 @@ class DonorHistoryActivity : BaseActivity() {
135137
}
136138

137139
private fun showLastDonatedDatePicker() {
140+
val today = System.currentTimeMillis()
138141
val defaultDatePickerMilli = viewModel.lastDonated?.let {
139142
viewModel.dateTimeToMilli(it)
140143
} ?: run {
141-
System.currentTimeMillis()
144+
today
142145
}
146+
val calendarConstraints = CalendarConstraints.Builder()
147+
.setEnd(today)
148+
.setValidator(DateValidatorPointBackward.before(today))
149+
.build()
150+
143151
MaterialDatePicker.Builder.datePicker()
144152
.setTheme(R.style.MaterialDatePickerStyle)
145153
.setSelection(defaultDatePickerMilli)
146154
.setInputMode(MaterialDatePicker.INPUT_MODE_TEXT)
155+
.setCalendarConstraints(calendarConstraints)
147156
.build()
148157
.apply {
149158
addOnPositiveButtonClickListener {

0 commit comments

Comments
 (0)