com.github.msarhan.ummalqura.calendar.DateTimeException: Invalid Hijrah day of month: 30

275 Views Asked by At

I'm using msarhan library for Ummalqura calendar in my Android application , When I open the calendar and select day 30 and go to last day 29 in another month and select it , the application crash com.github.msarhan.ummalqura.calendar.DateTimeException: Invalid Hijrah day of month: 30

below the Exception

 com.github.msarhan.ummalqura.calendar.DateTimeException: Invalid Hijrah day of month: 30
        at com.github.msarhan.ummalqura.calendar.HijrahChronology.getEpochDay(HijrahChronology.java:255)
        at com.github.msarhan.ummalqura.calendar.HijrahChronology.toGregorian(HijrahChronology.java:697)
        at com.github.msarhan.ummalqura.calendar.UmmalquraCalendar.set(UmmalquraCalendar.java:259)
        at net.alhazmy13.hijridatepicker.date.hijri.HijriDatePickerDialog.onDayOfMonthSelected(HijriDatePickerDialog.java:991)
        at net.alhazmy13.hijridatepicker.date.hijri.MonthAdapter.onDayTapped(MonthAdapter.java:235)
        at net.alhazmy13.hijridatepicker.date.hijri.MonthAdapter.onDayClick(MonthAdapter.java:224)
        at net.alhazmy13.hijridatepicker.date.hijri.MonthView.onDayClick(MonthView.java:598)
        at net.alhazmy13.hijridatepicker.date.hijri.MonthView.onTouchEvent(MonthView.java:284)
        at android.view.View.dispatchTouchEvent(View.java:14376)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
        at android.widget.AbsListView.dispatchTouchEvent(AbsListView.java:6365)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
        at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:733)
        at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1922)
        at android.app.Dialog.dispatchTouchEvent(Dialog.java:1008)
        at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:691)
        at android.view.View.dispatchPointerEvent(View.java:14644)
        at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6523)
        at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6310)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5748)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5801)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5767)
        at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5923)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5775)
        at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5980)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5748)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5801)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5767)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5775)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5748)
        at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8907)
        at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8768)
        at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8721)
        at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:9043)
        at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:194)
        at android.os.MessageQueue.nativePollOnce(Native Method)
        at android.os.MessageQueue.next(MessageQueue.java:336)
        at android.os.Looper.loop(Looper.java:197)

build.gradle

api group: 'com.github.msarhan', name: 'ummalqura-calendar', version:'2.0.2'
implementation 'net.alhazmy13.hijridatepicker:library:3.0.0'

MyActivity

private fun showHijriDatePicker(
        editText: TextInputEditText,
        isFromDatePicker: Boolean = false
    ) {
        val datePicker = HijriDatePickerDialog.newInstance(
            { _, year, monthOfYear, dayOfMonth ->
                when (isFromDatePicker) {
                    true -> {
                        fromDateValue = formatHijriDate(year, monthOfYear, dayOfMonth)
                    }
                    false -> {
                        toDateValue = formatHijriDate(year, monthOfYear, dayOfMonth)
                    }
                }
                editText.setText(formatHijriDate(year, monthOfYear, dayOfMonth))
            },
            ummalquraCalendar.get(UmmalquraCalendar.YEAR),
            ummalquraCalendar.get(UmmalquraCalendar.MONTH),
            ummalquraCalendar.get(UmmalquraCalendar.DAY_OF_MONTH)
        )
}
0

There are 0 best solutions below