Browse Source

fix: occasional setSeconds errors on min/maxDate (#766)

* fix: occasional setSeconds error on min/maxDate

* null check
master
Henning Hall 1 year ago
committed by GitHub
parent
commit
f5775a63b2
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 19 deletions
  1. +14
    -4
      android/src/main/java/com/henninghall/date_picker/State.java
  2. +1
    -15
      src/DatePickerAndroid.js

+ 14
- 4
android/src/main/java/com/henninghall/date_picker/State.java View File

@ -1,7 +1,5 @@
package com.henninghall.date_picker;
import android.util.Log;
import com.facebook.react.bridge.Dynamic;
import com.henninghall.date_picker.models.Is24HourSource;
import com.henninghall.date_picker.models.Mode;
@ -97,11 +95,23 @@ public class State {
}
public Calendar getMinimumDate() {
return Utils.isoToCalendar(minimumDateProp.getValue(), getTimeZone());
return boundaryPropToCal(minimumDateProp);
}
public Calendar getMaximumDate() {
return Utils.isoToCalendar(maximumDateProp.getValue(), getTimeZone());
return boundaryPropToCal(maximumDateProp);
}
private Calendar boundaryPropToCal(Prop<String> prop){
Calendar cal = Utils.isoToCalendar(prop.getValue(), getTimeZone());
clearSecondsAndMilliseconds(cal);
return cal;
}
private void clearSecondsAndMilliseconds(Calendar cal) {
if (cal == null) return;
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
}
public TimeZone getTimeZone() {

+ 1
- 15
src/DatePickerAndroid.js View File

@ -27,14 +27,7 @@ class DatePickerAndroid extends React.PureComponent {
if (props.modal) return null
return (
<NativeComponent
{...props}
maximumDate={this._withoutSecond(props.maximumDate)}
minimumDate={this._withoutSecond(props.minimumDate)}
onChange={this._onChange}
/>
)
return <NativeComponent {...props} onChange={this._onChange} />
}
getId = () => {
@ -117,13 +110,6 @@ class DatePickerAndroid extends React.PureComponent {
this.isClosing = true
this.props.onCancel()
}
_withoutSecond = (date) => {
if (!date) return date
date.setSeconds(0)
date.setMilliseconds(0)
return date
}
}
export default DatePickerAndroid

Loading…
Cancel
Save